diff --git a/.bazelrc b/.bazelrc
index 8339fc80e2d67..61356f086fda5 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -1,4 +1,4 @@
-startup --host_jvm_args=-Xmx5g
+startup --host_jvm_args=-Xmx8g
startup --unlimit_coredumps
run:ci --color=yes
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000000000..bde24b721461e
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,14 @@
+version: 2
+updates:
+ - package-ecosystem: "gomod"
+ directory: "/"
+ schedule:
+ interval: "weekly"
+ day: "friday"
+ time: "18:00"
+ timezone: "Asia/Shanghai"
+ allow:
+ - dependency-name: "golang.org/*"
+ - dependency-name: "github.com/golangci/golangci-lint"
+ open-pull-requests-limit: 2
+
diff --git a/.github/workflows/integration-test-br-compatibility.yml b/.github/workflows/integration-test-br-compatibility.yml
deleted file mode 100644
index 5df7168467005..0000000000000
--- a/.github/workflows/integration-test-br-compatibility.yml
+++ /dev/null
@@ -1,62 +0,0 @@
-name: BR / Compatibility Test
-
-on:
- push:
- # merged git action
- branches:
- - master
- - "release-[0-9].[0-9]*"
- paths:
- - "br/**"
- - "!**.html"
- - "!**.md"
- - "!CNAME"
- - "!LICENSE"
- - "!br/docs/**"
- - "!br/tests/**"
- - "!br/docker/**"
- # disable pull request only keep the merge action since it is very costly to run those tests
- # pull_request:
-
-concurrency:
- group: ${{ github.ref }}-${{ github.workflow }}
- cancel-in-progress: true
-
-permissions:
- contents: read # to fetch code (actions/checkout)
-
-jobs:
- check:
- runs-on: ubuntu-latest
- timeout-minutes: 25
- steps:
- - uses: actions/checkout@v2
-
- - name: Set up Go
- uses: actions/setup-go@v3
- with:
- go-version-file: 'go.mod'
-
- - name: Generate compatibility test backup data
- timeout-minutes: 15
- run: sh br/compatibility/prepare_backup.sh
-
- - name: Start server
- run: |
- TAG=nightly PORT_SUFFIX=1 docker-compose -f br/compatibility/backup_cluster.yaml rm -s -v
- TAG=nightly PORT_SUFFIX=1 docker-compose -f br/compatibility/backup_cluster.yaml build
- TAG=nightly PORT_SUFFIX=1 docker-compose -f br/compatibility/backup_cluster.yaml up --remove-orphans -d
- TAG=nightly PORT_SUFFIX=1 docker-compose -f br/compatibility/backup_cluster.yaml exec -T control go mod tidy
- TAG=nightly PORT_SUFFIX=1 docker-compose -f br/compatibility/backup_cluster.yaml exec -T control make build_br
- TAG=nightly PORT_SUFFIX=1 docker-compose -f br/compatibility/backup_cluster.yaml exec -T control br/tests/run_compatible.sh run
-
- - name: Collect component log
- if: ${{ failure() }}
- run: |
- tar czvf ${{ github.workspace }}/logs.tar.gz /tmp/br/docker/backup_logs/*
-
- - uses: actions/upload-artifact@v2
- if: ${{ failure() }}
- with:
- name: logs
- path: ${{ github.workspace }}/logs.tar.gz
diff --git a/.gitignore b/.gitignore
index e2cdcd078a0f1..35af372bcccad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,3 +35,4 @@ bazel-out
bazel-testlogs
bazel-tidb
.ijwb/
+/oom_record/
diff --git a/DEPS.bzl b/DEPS.bzl
index 4c3e94cca5a14..9b5b58ca8c866 100644
--- a/DEPS.bzl
+++ b/DEPS.bzl
@@ -5,8 +5,8 @@ def go_deps():
name = "cc_mvdan_gofumpt",
build_file_proto_mode = "disable",
importpath = "mvdan.cc/gofumpt",
- sum = "h1:avhhrOmv0IuvQVK7fvwV91oFSGAk5/6Po8GXTzICeu8=",
- version = "v0.3.1",
+ sum = "h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM=",
+ version = "v0.4.0",
)
go_repository(
name = "cc_mvdan_interfacer",
@@ -44,6 +44,14 @@ def go_deps():
sum = "h1:zeZSRqj5yCg28tCkIV/z/lWbwvNm5qnKVS15PI8nhD0=",
version = "v0.1.0",
)
+ go_repository(
+ name = "com_github_abirdcfly_dupword",
+ build_file_proto_mode = "disable",
+ importpath = "github.com/Abirdcfly/dupword",
+ sum = "h1:z14n0yytA3wNO2gpCD/jVtp/acEXPGmYu0esewpBt6Q=",
+ version = "v0.0.7",
+ )
+
go_repository(
name = "com_github_acarl005_stripansi",
build_file_proto_mode = "disable",
@@ -167,6 +175,14 @@ def go_deps():
sum = "h1:BUAU3CGlLvorLI26FmByPp2eC2qla6E1Tw+scpcg/to=",
version = "v0.0.0-20180808171621-7fddfc383310",
)
+ go_repository(
+ name = "com_github_armon_go_socks5",
+ build_file_proto_mode = "disable",
+ importpath = "github.com/armon/go-socks5",
+ sum = "h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=",
+ version = "v0.0.0-20160902184237-e75332964ef5",
+ )
+
go_repository(
name = "com_github_ashanbrown_forbidigo",
build_file_proto_mode = "disable",
@@ -324,8 +340,8 @@ def go_deps():
name = "com_github_burntsushi_toml",
build_file_proto_mode = "disable_global",
importpath = "github.com/BurntSushi/toml",
- sum = "h1:Rt8g24XnyGTyglgET/PRUNlrUeu9F5L+7FilkXfZgs0=",
- version = "v1.2.0",
+ sum = "h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=",
+ version = "v1.2.1",
)
go_repository(
name = "com_github_burntsushi_xgb",
@@ -382,8 +398,8 @@ def go_deps():
name = "com_github_cespare_xxhash_v2",
build_file_proto_mode = "disable_global",
importpath = "github.com/cespare/xxhash/v2",
- sum = "h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=",
- version = "v2.1.2",
+ sum = "h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=",
+ version = "v2.2.0",
)
go_repository(
name = "com_github_charithe_durationcheck",
@@ -442,6 +458,14 @@ def go_deps():
sum = "h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI=",
version = "v0.3.4",
)
+ go_repository(
+ name = "com_github_cloudfoundry_gosigar",
+ build_file_proto_mode = "disable",
+ importpath = "github.com/cloudfoundry/gosigar",
+ sum = "h1:T3MoGdugg1vdHn8Az7wDn7cZ4+QCjZph+eXf2CjSjo4=",
+ version = "v1.3.4",
+ )
+
go_repository(
name = "com_github_cloudykit_fastprinter",
build_file_proto_mode = "disable_global",
@@ -657,8 +681,8 @@ def go_deps():
name = "com_github_curioswitch_go_reassign",
build_file_proto_mode = "disable",
importpath = "github.com/curioswitch/go-reassign",
- sum = "h1:ekM07+z+VFT560Exz4mTv0/s1yU9gem6CJc/tlYpkmI=",
- version = "v0.1.2",
+ sum = "h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDUstnC9DIo=",
+ version = "v0.2.0",
)
go_repository(
@@ -686,8 +710,8 @@ def go_deps():
name = "com_github_daixiang0_gci",
build_file_proto_mode = "disable",
importpath = "github.com/daixiang0/gci",
- sum = "h1:wUAqXChk8HbwXn8AfxD9DYSCp9Bpz1L3e6Q4Roe+q9E=",
- version = "v0.6.3",
+ sum = "h1:yBdsd376w+RIBvFXjj0MAcGWS8cSCfAlRNPfn5xvjl0=",
+ version = "v0.8.5",
)
go_repository(
@@ -752,8 +776,8 @@ def go_deps():
name = "com_github_dgraph_io_ristretto",
build_file_proto_mode = "disable_global",
importpath = "github.com/dgraph-io/ristretto",
- sum = "h1:Wrc3UKTS+cffkOx0xRGFC+ZesNuTfn0ThvEC72N0krk=",
- version = "v0.1.1-0.20220403145359-8e850b710d6d",
+ sum = "h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8=",
+ version = "v0.1.1",
)
go_repository(
name = "com_github_dgrijalva_jwt_go",
@@ -848,6 +872,14 @@ def go_deps():
sum = "h1:G/bYguwHIzWq9ZoyUQqrjTmJbbYn3j3CKKpKinvZLFk=",
version = "v1.0.0",
)
+ go_repository(
+ name = "com_github_elazarl_goproxy",
+ build_file_proto_mode = "disable",
+ importpath = "github.com/elazarl/goproxy",
+ sum = "h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc=",
+ version = "v0.0.0-20180725130230-947c36da3153",
+ )
+
go_repository(
name = "com_github_emirpasic_gods",
build_file_proto_mode = "disable",
@@ -903,8 +935,8 @@ def go_deps():
name = "com_github_evanphx_json_patch",
build_file_proto_mode = "disable",
importpath = "github.com/evanphx/json-patch",
- sum = "h1:K1MDoo4AZ4wU0GIU/fPmtZg7VpzLjCxu+UwBD1FvwOc=",
- version = "v4.1.0+incompatible",
+ sum = "h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84=",
+ version = "v4.12.0+incompatible",
)
go_repository(
name = "com_github_facebookgo_clock",
@@ -1083,8 +1115,8 @@ def go_deps():
name = "com_github_go_critic_go_critic",
build_file_proto_mode = "disable",
importpath = "github.com/go-critic/go-critic",
- sum = "h1:tucuG1pvOyYgpBIrVxw0R6gwO42lNa92Aq3VaDoIs+E=",
- version = "v0.6.4",
+ sum = "h1:fDaR/5GWURljXwF8Eh31T2GZNz9X4jeboS912mWF8Uo=",
+ version = "v0.6.5",
)
go_repository(
@@ -1127,8 +1159,8 @@ def go_deps():
name = "com_github_go_kit_log",
build_file_proto_mode = "disable_global",
importpath = "github.com/go-kit/log",
- sum = "h1:7i2K3eKTos3Vc0enKCfnVcgHh2olr/MyfboYq7cAcFw=",
- version = "v0.2.0",
+ sum = "h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU=",
+ version = "v0.2.1",
)
go_repository(
name = "com_github_go_logfmt_logfmt",
@@ -1137,6 +1169,14 @@ def go_deps():
sum = "h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=",
version = "v0.5.1",
)
+ go_repository(
+ name = "com_github_go_logr_logr",
+ build_file_proto_mode = "disable",
+ importpath = "github.com/go-logr/logr",
+ sum = "h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0=",
+ version = "v1.2.3",
+ )
+
go_repository(
name = "com_github_go_martini_martini",
build_file_proto_mode = "disable_global",
@@ -1155,8 +1195,8 @@ def go_deps():
name = "com_github_go_sql_driver_mysql",
build_file_proto_mode = "disable_global",
importpath = "github.com/go-sql-driver/mysql",
- sum = "h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=",
- version = "v1.6.0",
+ sum = "h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc=",
+ version = "v1.7.0",
)
go_repository(
name = "com_github_go_stack_stack",
@@ -1183,15 +1223,15 @@ def go_deps():
name = "com_github_go_toolsmith_astcopy",
build_file_proto_mode = "disable",
importpath = "github.com/go-toolsmith/astcopy",
- sum = "h1:l09oBhAPyV74kLJ3ZO31iBU8htZGTwr9LTjuMCyL8go=",
- version = "v1.0.1",
+ sum = "h1:YnWf5Rnh1hUudj11kei53kI57quN/VH6Hp1n+erozn0=",
+ version = "v1.0.2",
)
go_repository(
name = "com_github_go_toolsmith_astequal",
build_file_proto_mode = "disable",
importpath = "github.com/go-toolsmith/astequal",
- sum = "h1:+XvaV8zNxua+9+Oa4AHmgmpo4RYAbwr/qjNppLfX2yM=",
- version = "v1.0.2",
+ sum = "h1:+LVdyRatFS+XO78SGV4I3TCEA0AC7fKEGma+fH+674o=",
+ version = "v1.0.3",
)
go_repository(
name = "com_github_go_toolsmith_astfmt",
@@ -1381,15 +1421,15 @@ def go_deps():
name = "com_github_golangci_gofmt",
build_file_proto_mode = "disable",
importpath = "github.com/golangci/gofmt",
- sum = "h1:iR3fYXUjHCR97qWS8ch1y9zPNsgXThGwjKPrYfqMPks=",
- version = "v0.0.0-20190930125516-244bba706f1a",
+ sum = "h1:amWTbTGqOZ71ruzrdA+Nx5WA3tV1N0goTspwmKCQvBY=",
+ version = "v0.0.0-20220901101216-f2edd75033f2",
)
go_repository(
name = "com_github_golangci_golangci_lint",
build_file_proto_mode = "disable",
importpath = "github.com/golangci/golangci-lint",
- sum = "h1:I8WHOavragDttlLHtSraHn/h39C+R60bEQ5NoGcHQr8=",
- version = "v1.49.0",
+ sum = "h1:C829clMcZXEORakZlwpk7M4iDw2XiwxxKaG504SZ9zY=",
+ version = "v1.50.1",
)
go_repository(
name = "com_github_golangci_gosec",
@@ -1457,12 +1497,20 @@ def go_deps():
sum = "h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU=",
version = "v1.1.2",
)
+ go_repository(
+ name = "com_github_google_gnostic",
+ build_file_proto_mode = "disable",
+ importpath = "github.com/google/gnostic",
+ sum = "h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54=",
+ version = "v0.5.7-v3refs",
+ )
+
go_repository(
name = "com_github_google_go_cmp",
build_file_proto_mode = "disable_global",
importpath = "github.com/google/go-cmp",
- sum = "h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=",
- version = "v0.5.8",
+ sum = "h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=",
+ version = "v0.5.9",
)
go_repository(
name = "com_github_google_go_querystring",
@@ -1475,8 +1523,8 @@ def go_deps():
name = "com_github_google_gofuzz",
build_file_proto_mode = "disable_global",
importpath = "github.com/google/gofuzz",
- sum = "h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=",
- version = "v1.0.0",
+ sum = "h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g=",
+ version = "v1.1.0",
)
go_repository(
name = "com_github_google_martian",
@@ -1849,8 +1897,8 @@ def go_deps():
name = "com_github_inconshreveable_mousetrap",
build_file_proto_mode = "disable_global",
importpath = "github.com/inconshreveable/mousetrap",
- sum = "h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=",
- version = "v1.0.0",
+ sum = "h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc=",
+ version = "v1.0.1",
)
go_repository(
name = "com_github_influxdata_influxdb",
@@ -2154,12 +2202,20 @@ def go_deps():
sum = "h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg=",
version = "v1.0.0",
)
+ go_repository(
+ name = "com_github_kkhaike_contextcheck",
+ build_file_proto_mode = "disable",
+ importpath = "github.com/kkHAIKE/contextcheck",
+ sum = "h1:l4pNvrb8JSwRd51ojtcOxOeHJzHek+MtOyXbaR0uvmw=",
+ version = "v1.1.3",
+ )
+
go_repository(
name = "com_github_klauspost_compress",
build_file_proto_mode = "disable_global",
importpath = "github.com/klauspost/compress",
- sum = "h1:y9FcTHGyrebwfP0ZZqFiaxTaiDnUrGkJkI+f583BL1A=",
- version = "v1.15.1",
+ sum = "h1:NFn1Wr8cfnenSJSA46lLq4wHCcBzKTSjnBIexDMMOV0=",
+ version = "v1.15.13",
)
go_repository(
name = "com_github_klauspost_cpuid",
@@ -2349,6 +2405,14 @@ def go_deps():
sum = "h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo=",
version = "v1.8.6",
)
+ go_repository(
+ name = "com_github_maratori_testableexamples",
+ build_file_proto_mode = "disable",
+ importpath = "github.com/maratori/testableexamples",
+ sum = "h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI=",
+ version = "v1.0.0",
+ )
+
go_repository(
name = "com_github_maratori_testpackage",
build_file_proto_mode = "disable",
@@ -2403,8 +2467,8 @@ def go_deps():
name = "com_github_matttproud_golang_protobuf_extensions",
build_file_proto_mode = "disable_global",
importpath = "github.com/matttproud/golang_protobuf_extensions",
- sum = "h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=",
- version = "v1.0.1",
+ sum = "h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=",
+ version = "v1.0.4",
)
go_repository(
name = "com_github_maxatome_go_testdeep",
@@ -2531,6 +2595,13 @@ def go_deps():
sum = "h1:FVzMWA5RllMAKIdUSC8mdWo3XtwoecrH79BY70sEEpE=",
version = "v1.0.1",
)
+ go_repository(
+ name = "com_github_moby_spdystream",
+ build_file_proto_mode = "disable",
+ importpath = "github.com/moby/spdystream",
+ sum = "h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8=",
+ version = "v0.2.0",
+ )
go_repository(
name = "com_github_modern_go_concurrent",
@@ -2583,6 +2654,14 @@ def go_deps():
sum = "h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU=",
version = "v0.0.0-20190716064945-2f068394615f",
)
+ go_repository(
+ name = "com_github_mxk_go_flowrate",
+ build_file_proto_mode = "disable",
+ importpath = "github.com/mxk/go-flowrate",
+ sum = "h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus=",
+ version = "v0.0.0-20140419014527-cca7078d478f",
+ )
+
go_repository(
name = "com_github_nakabonne_nestif",
build_file_proto_mode = "disable",
@@ -2652,8 +2731,8 @@ def go_deps():
name = "com_github_nishanths_exhaustive",
build_file_proto_mode = "disable",
importpath = "github.com/nishanths/exhaustive",
- sum = "h1:0QKNascWv9qIHY7zRoZSxeRr6kuk5aAT3YXLTiDmjTo=",
- version = "v0.8.1",
+ sum = "h1:pw5O09vwg8ZaditDp/nQRqVnrMczSJDxRDJMowvhsrM=",
+ version = "v0.8.3",
)
go_repository(
@@ -2711,22 +2790,22 @@ def go_deps():
name = "com_github_onsi_ginkgo_v2",
build_file_proto_mode = "disable_global",
importpath = "github.com/onsi/ginkgo/v2",
- sum = "h1:CcuG/HvWNkkaqCUpJifQY8z7qEMBJya6aLPx6ftGyjQ=",
- version = "v2.0.0",
+ sum = "h1:+Ig9nvqgS5OBSACXNk15PLdp0U9XPYROt9CFzVdFGIs=",
+ version = "v2.4.0",
)
go_repository(
name = "com_github_onsi_gomega",
build_file_proto_mode = "disable_global",
importpath = "github.com/onsi/gomega",
- sum = "h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=",
- version = "v1.18.1",
+ sum = "h1:/oxKu9c2HVap+F3PfKort2Hw5DEU+HGlW8n+tguWsys=",
+ version = "v1.23.0",
)
go_repository(
name = "com_github_openpeedeep_depguard",
build_file_proto_mode = "disable",
importpath = "github.com/OpenPeeDeeP/depguard",
- sum = "h1:pjK9nLPS1FwQYGGpPxoMYpe7qACHOhAWQMQzV71i49o=",
- version = "v1.1.0",
+ sum = "h1:TSUznLjvp/4IUP+OQ0t/4jF4QUyxIcVX8YnghZdunyA=",
+ version = "v1.1.1",
)
go_repository(
@@ -2805,8 +2884,8 @@ def go_deps():
name = "com_github_pelletier_go_toml_v2",
build_file_proto_mode = "disable",
importpath = "github.com/pelletier/go-toml/v2",
- sum = "h1:+jQXlF3scKIcSEKkdHzXhCTDLPFi5r1wnK6yPS+49Gw=",
- version = "v2.0.2",
+ sum = "h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg=",
+ version = "v2.0.5",
)
go_repository(
name = "com_github_peterbourgon_g2s",
@@ -2849,22 +2928,22 @@ def go_deps():
name = "com_github_pingcap_badger",
build_file_proto_mode = "disable_global",
importpath = "github.com/pingcap/badger",
- sum = "h1:MKVFZuqFvAMiDtv3AbihOQ6rY5IE8LWflI1BuZ/hF0Y=",
- version = "v1.5.1-0.20220314162537-ab58fbf40580",
+ sum = "h1:AEcvKyVM8CUII3bYzgz8haFXtGiqcrtXW1csu/5UELY=",
+ version = "v1.5.1-0.20230103063557-828f39b09b6d",
)
go_repository(
name = "com_github_pingcap_check",
build_file_proto_mode = "disable_global",
importpath = "github.com/pingcap/check",
- sum = "h1:iRtOAQ6FXkY/BGvst3CDfTva4nTqh6CL8WXvanLdbu0=",
- version = "v0.0.0-20191107115940-caf2b9e6ccf4",
+ sum = "h1:R8gStypOBmpnHEx1qi//SaqxJVI4inOqljg/Aj5/390=",
+ version = "v0.0.0-20200212061837-5e12011dc712",
)
go_repository(
name = "com_github_pingcap_errors",
build_file_proto_mode = "disable_global",
importpath = "github.com/pingcap/errors",
- sum = "h1:3Dm0DWeQlwV8LbpQxP2tojHhxd9aY59KI+QN0ns6bBo=",
- version = "v0.11.5-0.20220729040631-518f63d66278",
+ sum = "h1:m5ZsBa5o/0CkzZXfXLaThzKuR85SnHHetqBCpzQ30h8=",
+ version = "v0.11.5-0.20221009092201-b66cddb77c32",
)
go_repository(
name = "com_github_pingcap_failpoint",
@@ -2891,15 +2970,15 @@ def go_deps():
name = "com_github_pingcap_kvproto",
build_file_proto_mode = "disable_global",
importpath = "github.com/pingcap/kvproto",
- sum = "h1:ho5XUD8DVCnkpEj8oiTR57FXDTXnH6znyLe0gyrtzKk=",
- version = "v0.0.0-20221103025916-e7e21f0e9cd9",
+ sum = "h1:jw4NjEiCleRJPPpHM7K6l8OKzOjnZAj62eKteCAY6ro=",
+ version = "v0.0.0-20230105060948-64890fa4f6c1",
)
go_repository(
name = "com_github_pingcap_log",
build_file_proto_mode = "disable_global",
importpath = "github.com/pingcap/log",
- sum = "h1:T7e5Low0BU2ZazI2dz2mh3W1qv+w8wtvq1YR8DneA0c=",
- version = "v1.1.1-0.20221110065318-21a4942860b3",
+ sum = "h1:crhkw6DD+07Bg1wYhW5Piw+kYNKZqFQqfC2puUf6gMI=",
+ version = "v1.1.1-0.20221116035753-734d527bc87c",
)
go_repository(
name = "com_github_pingcap_sysutil",
@@ -2912,8 +2991,8 @@ def go_deps():
name = "com_github_pingcap_tipb",
build_file_proto_mode = "disable_global",
importpath = "github.com/pingcap/tipb",
- sum = "h1:Yoo8j5xQGxjlsC3yt0ndsiAz0WZXED9rzsKmEN0U0DY=",
- version = "v0.0.0-20221020071514-cd933387bcb5",
+ sum = "h1:DbmCfCbcavo0JG+gSp0ySvv1ub/c/j3hsnYzyYPzONo=",
+ version = "v0.0.0-20221123081521-2fb828910813",
)
go_repository(
name = "com_github_pkg_browser",
@@ -2947,8 +3026,8 @@ def go_deps():
name = "com_github_polyfloyd_go_errorlint",
build_file_proto_mode = "disable",
importpath = "github.com/polyfloyd/go-errorlint",
- sum = "h1:kp1yvHflYhTmw5m3MmBy8SCyQkKPjwDthVuMH0ug6Yk=",
- version = "v1.0.2",
+ sum = "h1:AHB5JRCjlmelh9RrLxT9sgzpalIwwq4hqE8EkwIwKdY=",
+ version = "v1.0.5",
)
go_repository(
@@ -2969,29 +3048,29 @@ def go_deps():
name = "com_github_prometheus_client_golang",
build_file_proto_mode = "disable_global",
importpath = "github.com/prometheus/client_golang",
- sum = "h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU=",
- version = "v1.13.0",
+ sum = "h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw=",
+ version = "v1.14.0",
)
go_repository(
name = "com_github_prometheus_client_model",
build_file_proto_mode = "disable_global",
importpath = "github.com/prometheus/client_model",
- sum = "h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=",
- version = "v0.2.0",
+ sum = "h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4=",
+ version = "v0.3.0",
)
go_repository(
name = "com_github_prometheus_common",
build_file_proto_mode = "disable_global",
importpath = "github.com/prometheus/common",
- sum = "h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE=",
- version = "v0.37.0",
+ sum = "h1:oOyhkDq05hPZKItWVBkJ6g6AtGxi+fy7F4JvUV8uhsI=",
+ version = "v0.39.0",
)
go_repository(
name = "com_github_prometheus_procfs",
build_file_proto_mode = "disable_global",
importpath = "github.com/prometheus/procfs",
- sum = "h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo=",
- version = "v0.8.0",
+ sum = "h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI=",
+ version = "v0.9.0",
)
go_repository(
name = "com_github_prometheus_prometheus",
@@ -3012,8 +3091,8 @@ def go_deps():
name = "com_github_quasilyte_go_ruleguard",
build_file_proto_mode = "disable",
importpath = "github.com/quasilyte/go-ruleguard",
- sum = "h1:cDdoaSbQg11LXPDQqiCK54QmQXsEQQCTIgdcpeULGSI=",
- version = "v0.3.17",
+ sum = "h1:sd+abO1PEI9fkYennwzHn9kl3nqP6M5vE7FiOzZ+5CE=",
+ version = "v0.3.18",
)
go_repository(
name = "com_github_quasilyte_go_ruleguard_dsl",
@@ -3026,8 +3105,8 @@ def go_deps():
name = "com_github_quasilyte_gogrep",
build_file_proto_mode = "disable",
importpath = "github.com/quasilyte/gogrep",
- sum = "h1:PDWGei+Rf2bBiuZIbZmM20J2ftEy9IeUCHA8HbQqed8=",
- version = "v0.0.0-20220120141003-628d8b3623b5",
+ sum = "h1:6Gtn2i04RD0gVyYf2/IUMTIs+qYleBt4zxDqkLTcu4U=",
+ version = "v0.0.0-20220828223005-86e4605de09f",
)
go_repository(
name = "com_github_quasilyte_regex_syntax",
@@ -3168,8 +3247,8 @@ def go_deps():
name = "com_github_sashamelentyev_usestdlibvars",
build_file_proto_mode = "disable",
importpath = "github.com/sashamelentyev/usestdlibvars",
- sum = "h1:uObNudVEEHf6JbOJy5bgKJloA1bWjxR9fwgNFpPzKnI=",
- version = "v1.13.0",
+ sum = "h1:K6CXjqqtSYSsuyRDDC7Sjn6vTMLiSJa4ZmDkiokoqtw=",
+ version = "v1.20.0",
)
go_repository(
@@ -3221,8 +3300,8 @@ def go_deps():
name = "com_github_shirou_gopsutil_v3",
build_file_proto_mode = "disable_global",
importpath = "github.com/shirou/gopsutil/v3",
- sum = "h1:flKnuCMfUUrO+oAvwAd6GKZgnPzr098VA/UJ14nhJd4=",
- version = "v3.22.7",
+ sum = "h1:yibtJhIVEMcdw+tCTbOPiF1VcsuDeTE4utJ8Dm4c5eA=",
+ version = "v3.22.9",
)
go_repository(
name = "com_github_shopify_goreferrer",
@@ -3351,8 +3430,8 @@ def go_deps():
name = "com_github_spaolacci_murmur3",
build_file_proto_mode = "disable_global",
importpath = "github.com/spaolacci/murmur3",
- sum = "h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ=",
- version = "v0.0.0-20180118202830-f09979ecbc72",
+ sum = "h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=",
+ version = "v1.1.0",
)
go_repository(
name = "com_github_spf13_afero",
@@ -3372,8 +3451,8 @@ def go_deps():
name = "com_github_spf13_cobra",
build_file_proto_mode = "disable_global",
importpath = "github.com/spf13/cobra",
- sum = "h1:X+jTBEBqF0bHN+9cSMgmfuvv2VHJ9ezmFNf9Y/XstYU=",
- version = "v1.5.0",
+ sum = "h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA=",
+ version = "v1.6.1",
)
go_repository(
name = "com_github_spf13_jwalterweatherman",
@@ -3444,8 +3523,8 @@ def go_deps():
name = "com_github_subosito_gotenv",
build_file_proto_mode = "disable_global",
importpath = "github.com/subosito/gotenv",
- sum = "h1:yAzM1+SmVcz5R4tXGsNMu1jUl2aOJXoiWUCEwwnGrvs=",
- version = "v1.4.0",
+ sum = "h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs=",
+ version = "v1.4.1",
)
go_repository(
name = "com_github_sylvia7788_contextcheck",
@@ -3491,12 +3570,20 @@ def go_deps():
sum = "h1:mbAskLJ0oJfDRtkanvQPiooDH8HvJ2FBh+iKT/OmiQQ=",
version = "v0.0.0-20181126055449-889f96f722a2",
)
+ go_repository(
+ name = "com_github_tiancaiamao_gp",
+ build_file_proto_mode = "disable",
+ importpath = "github.com/tiancaiamao/gp",
+ sum = "h1:J/YdBZ46WKpXsxsW93SG+q0F8KI+yFrcIDT4c/RNoc4=",
+ version = "v0.0.0-20221230034425-4025bc8a4d4a",
+ )
+
go_repository(
name = "com_github_tikv_client_go_v2",
build_file_proto_mode = "disable_global",
importpath = "github.com/tikv/client-go/v2",
- sum = "h1:nFVdyTXcQYZwQQCdSJcFI1vBFyzG1hVuZ39MAK6wqK4=",
- version = "v2.0.3-0.20221108030801-9c0835c80eba",
+ sum = "h1:cPtMXTExqjzk8L40qhrgB/mXiBXKP5LRU0vwjtI2Xxo=",
+ version = "v2.0.4",
)
go_repository(
name = "com_github_tikv_pd_client",
@@ -3512,6 +3599,14 @@ def go_deps():
sum = "h1:kl4KhGNsJIbDHS9/4U9yQo1UcPQM0kOMJHn29EoH/Ro=",
version = "v0.0.0-20210704033933-f49887972144",
)
+ go_repository(
+ name = "com_github_timonwong_loggercheck",
+ build_file_proto_mode = "disable",
+ importpath = "github.com/timonwong/loggercheck",
+ sum = "h1:ecACo9fNiHxX4/Bc02rW2+kaJIAMAes7qJ7JKxt0EZI=",
+ version = "v0.9.3",
+ )
+
go_repository(
name = "com_github_timonwong_logrlint",
build_file_proto_mode = "disable",
@@ -3545,15 +3640,15 @@ def go_deps():
name = "com_github_tomarrell_wrapcheck_v2",
build_file_proto_mode = "disable",
importpath = "github.com/tomarrell/wrapcheck/v2",
- sum = "h1:3dI6YNcrJTQ/CJQ6M/DUkc0gnqYSIk6o0rChn9E/D0M=",
- version = "v2.6.2",
+ sum = "h1:J/F8DbSKJC83bAvC6FoZaRjZiZ/iKoueSdrEkmGeacA=",
+ version = "v2.7.0",
)
go_repository(
name = "com_github_tommy_muehle_go_mnd_v2",
build_file_proto_mode = "disable",
importpath = "github.com/tommy-muehle/go-mnd/v2",
- sum = "h1:iAj0a8e6+dXSL7Liq0aXPox36FiN1dBbjA6lt9fl65s=",
- version = "v2.5.0",
+ sum = "h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw=",
+ version = "v2.5.1",
)
go_repository(
@@ -3829,6 +3924,14 @@ def go_deps():
sum = "h1:b1zWmYuuHz7gO9kDcM/EpHGr06UgsYNRpNJzI2kFiLM=",
version = "v1.5.0",
)
+ go_repository(
+ name = "com_google_cloud_go_compute_metadata",
+ build_file_proto_mode = "disable",
+ importpath = "cloud.google.com/go/compute/metadata",
+ sum = "h1:nBbNSZyDpkNlo3DepaaLKVuO7ClyifSAmNloSCZrHnQ=",
+ version = "v0.2.0",
+ )
+
go_repository(
name = "com_google_cloud_go_datastore",
build_file_proto_mode = "disable_global",
@@ -3955,8 +4058,8 @@ def go_deps():
name = "in_gopkg_ini_v1",
build_file_proto_mode = "disable_global",
importpath = "gopkg.in/ini.v1",
- sum = "h1:LATuAqN/shcYAOkv3wl2L4rkaKqkcgTBQjOyYDvcPKI=",
- version = "v1.66.6",
+ sum = "h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=",
+ version = "v1.67.0",
)
go_repository(
name = "in_gopkg_jcmturner_aescts_v1",
@@ -4092,10 +4195,6 @@ def go_deps():
name = "io_etcd_go_etcd_raft_v3",
build_file_proto_mode = "disable_global",
importpath = "go.etcd.io/etcd/raft/v3",
- patch_args = ["-p1"],
- patches = [
- "//build/patches:io_etcd_go_etcd_raft_v3.patch",
- ],
sum = "h1:uCC37qOXqBvKqTGHGyhASsaCsnTuJugl1GvneJNwHWo=",
version = "v3.5.2",
)
@@ -4124,8 +4223,8 @@ def go_deps():
name = "io_k8s_apimachinery",
build_file_proto_mode = "disable",
importpath = "k8s.io/apimachinery",
- sum = "h1:Jmdtdt1ZnoGfWWIIik61Z7nKYgO3J+swQJtPYsP9wHA=",
- version = "v0.0.0-20190404173353-6a84e37a896d",
+ sum = "h1:1feANjElT7MvPqp0JT6F3Ss6TWDwmcjLypwoPpEf7zg=",
+ version = "v0.26.0",
)
go_repository(
name = "io_k8s_client_go",
@@ -4141,27 +4240,49 @@ def go_deps():
sum = "h1:0VPpR+sizsiivjIfIAQH/rl8tan6jvWkS7lU+0di3lE=",
version = "v0.3.0",
)
+ go_repository(
+ name = "io_k8s_klog_v2",
+ build_file_proto_mode = "disable",
+ importpath = "k8s.io/klog/v2",
+ sum = "h1:atnLQ121W371wYYFawwYx1aEY2eUfs4l3J72wtgAwV4=",
+ version = "v2.80.1",
+ )
+
go_repository(
name = "io_k8s_kube_openapi",
build_file_proto_mode = "disable",
importpath = "k8s.io/kube-openapi",
- sum = "h1:tHgpQvrWaYfrnC8G4N0Oszw5HHCsZxKilDi2R7HuCSM=",
- version = "v0.0.0-20180629012420-d83b052f768a",
+ sum = "h1:+70TFaan3hfJzs+7VK2o+OGxg8HsuBr/5f6tVAjDu6E=",
+ version = "v0.0.0-20221012153701-172d655c2280",
+ )
+ go_repository(
+ name = "io_k8s_sigs_json",
+ build_file_proto_mode = "disable",
+ importpath = "sigs.k8s.io/json",
+ sum = "h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=",
+ version = "v0.0.0-20220713155537-f223a00ba0e2",
+ )
+ go_repository(
+ name = "io_k8s_sigs_structured_merge_diff_v4",
+ build_file_proto_mode = "disable",
+ importpath = "sigs.k8s.io/structured-merge-diff/v4",
+ sum = "h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=",
+ version = "v4.2.3",
)
go_repository(
name = "io_k8s_sigs_yaml",
build_file_proto_mode = "disable_global",
importpath = "sigs.k8s.io/yaml",
- sum = "h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=",
- version = "v1.2.0",
+ sum = "h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=",
+ version = "v1.3.0",
)
go_repository(
name = "io_k8s_utils",
build_file_proto_mode = "disable",
importpath = "k8s.io/utils",
- sum = "h1:8r+l4bNWjRlsFYlQJnKJ2p7s1YQPj4XyXiJVqDHRx7c=",
- version = "v0.0.0-20190308190857-21c4ce38f2a7",
+ sum = "h1:0Smp/HP1OH4Rvhe+4B8nWGERtlqAGSftbSbbmm45oFs=",
+ version = "v0.0.0-20221107191617-1a15be271d1d",
)
go_repository(
@@ -4331,22 +4452,22 @@ def go_deps():
name = "org_golang_x_crypto",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/crypto",
- sum = "h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU=",
- version = "v0.1.0",
+ sum = "h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE=",
+ version = "v0.5.0",
)
go_repository(
name = "org_golang_x_exp",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/exp",
- sum = "h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA=",
- version = "v0.0.0-20220722155223-a9213eeb770e",
+ sum = "h1:SkwG94eNiiYJhbeDE018Grw09HIN/KB9NlRmZsrzfWs=",
+ version = "v0.0.0-20221023144134-a1e5550cf13e",
)
go_repository(
name = "org_golang_x_exp_typeparams",
build_file_proto_mode = "disable",
importpath = "golang.org/x/exp/typeparams",
- sum = "h1:+W8Qf4iJtMGKkyAygcKohjxTk4JPsL9DpzApJ22m5Ic=",
- version = "v0.0.0-20220613132600-b0d781184e0d",
+ sum = "h1:Ic/qN6TEifvObMGQy72k0n1LlJr7DjWWEi+MOsDOiSk=",
+ version = "v0.0.0-20220827204233-334a2380cb91",
)
go_repository(
@@ -4374,64 +4495,64 @@ def go_deps():
name = "org_golang_x_mod",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/mod",
- sum = "h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=",
- version = "v0.6.0-dev.0.20220419223038-86c51ed26bb4",
+ sum = "h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA=",
+ version = "v0.7.0",
)
go_repository(
name = "org_golang_x_net",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/net",
- sum = "h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0=",
- version = "v0.1.0",
+ sum = "h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw=",
+ version = "v0.5.0",
)
go_repository(
name = "org_golang_x_oauth2",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/oauth2",
- sum = "h1:OSnWWcOd/CtWQC2cYSBgbTSJv3ciqd8r54ySIW2y3RE=",
- version = "v0.0.0-20220411215720-9780585627b5",
+ sum = "h1:6l90koy8/LaBLmLu8jpHeHexzMwEita0zFfYlggy2F8=",
+ version = "v0.3.0",
)
go_repository(
name = "org_golang_x_sync",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/sync",
- sum = "h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw=",
- version = "v0.0.0-20220722155255-886fb9371eb4",
+ sum = "h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=",
+ version = "v0.1.0",
)
go_repository(
name = "org_golang_x_sys",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/sys",
- sum = "h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=",
- version = "v0.1.0",
+ sum = "h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18=",
+ version = "v0.4.0",
)
go_repository(
name = "org_golang_x_term",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/term",
- sum = "h1:g6Z6vPFA9dYBAF7DWcH6sCcOntplXsDKcliusYijMlw=",
- version = "v0.1.0",
+ sum = "h1:O7UWfv5+A2qiuulQk30kVinPoMtoIPeVaKLEgLpVkvg=",
+ version = "v0.4.0",
)
go_repository(
name = "org_golang_x_text",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/text",
- sum = "h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=",
- version = "v0.4.0",
+ sum = "h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k=",
+ version = "v0.6.0",
)
go_repository(
name = "org_golang_x_time",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/time",
- sum = "h1:M73Iuj3xbbb9Uk1DYhzydthsj6oOd6l9bpuFcNoUvTs=",
- version = "v0.0.0-20220224211638-0e9765cccd65",
+ sum = "h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=",
+ version = "v0.3.0",
)
go_repository(
name = "org_golang_x_tools",
build_file_proto_mode = "disable_global",
importpath = "golang.org/x/tools",
- sum = "h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=",
- version = "v0.1.12",
+ sum = "h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE=",
+ version = "v0.2.0",
)
go_repository(
name = "org_golang_x_xerrors",
@@ -4556,8 +4677,8 @@ def go_deps():
name = "org_uber_go_multierr",
build_file_proto_mode = "disable_global",
importpath = "go.uber.org/multierr",
- sum = "h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8=",
- version = "v1.8.0",
+ sum = "h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI=",
+ version = "v1.9.0",
)
go_repository(
name = "org_uber_go_tools",
@@ -4570,6 +4691,6 @@ def go_deps():
name = "org_uber_go_zap",
build_file_proto_mode = "disable_global",
importpath = "go.uber.org/zap",
- sum = "h1:OjGQ5KQDEUawVHxNwQgPpiypGHOxo2mNZsOqTak4fFY=",
- version = "v1.23.0",
+ sum = "h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=",
+ version = "v1.24.0",
)
diff --git a/Dockerfile b/Dockerfile
index 8416ef542a3d3..f3dae2519f53a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -13,16 +13,24 @@
# limitations under the License.
# Builder image
-FROM alpine:edge as builder
+FROM rockylinux:9 as builder
-ADD . https://raw.githubusercontent.com/njhallett/apk-fastest-mirror/c4ca44caef3385d830fea34df2dbc2ba4a17e021/apk-fastest-mirror.sh ./proxy
-RUN sh ./proxy/apk-fastest-mirror.sh -t 50 && apk add --no-cache git build-base go
+ENV GOLANG_VERSION 1.19.3
+ENV ARCH amd64
+ENV GOLANG_DOWNLOAD_URL https://dl.google.com/go/go$GOLANG_VERSION.linux-$ARCH.tar.gz
+ENV GOPATH /go
+ENV GOROOT /usr/local/go
+ENV PATH $GOPATH/bin:$GOROOT/bin:$PATH
+RUN yum update -y && yum groupinstall 'Development Tools' -y \
+ && curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz \
+ && tar -C /usr/local -xzf golang.tar.gz \
+ && rm golang.tar.gz
COPY . /tidb
ARG GOPROXY
RUN export GOPROXY=${GOPROXY} && cd /tidb && make server
-FROM alpine:latest
+FROM rockylinux:9-minimal
COPY --from=builder /tidb/bin/tidb-server /tidb-server
diff --git a/Makefile b/Makefile
index 66b3ba0686917..b138bfbbd0f04 100644
--- a/Makefile
+++ b/Makefile
@@ -405,11 +405,7 @@ bazel_test: failpoint-enable bazel_ci_prepare
bazel_coverage_test: failpoint-enable bazel_ci_prepare
bazel $(BAZEL_GLOBAL_CONFIG) coverage $(BAZEL_CMD_CONFIG) \
- --build_event_json_file=bazel_1.json --@io_bazel_rules_go//go/config:cover_format=go_cover \
- -- //... -//cmd/... -//tests/graceshutdown/... \
- -//tests/globalkilltest/... -//tests/readonlytest/... -//br/pkg/task:task_test -//tests/realtikvtest/...
- bazel $(BAZEL_GLOBAL_CONFIG) coverage $(BAZEL_CMD_CONFIG) \
- --build_event_json_file=bazel_2.json --@io_bazel_rules_go//go/config:cover_format=go_cover --define gotags=featuretag \
+ --build_event_json_file=bazel_1.json --@io_bazel_rules_go//go/config:cover_format=go_cover --define gotags=deadlock \
-- //... -//cmd/... -//tests/graceshutdown/... \
-//tests/globalkilltest/... -//tests/readonlytest/... -//br/pkg/task:task_test -//tests/realtikvtest/...
@@ -442,27 +438,27 @@ bazel_golangcilinter:
-- run $$($(PACKAGE_DIRECTORIES)) --config ./.golangci.yaml
bazel_brietest: failpoint-enable bazel_ci_prepare
- bazel $(BAZEL_GLOBAL_CONFIG) test $(BAZEL_CMD_CONFIG) --test_arg=-with-real-tikv \
+ bazel $(BAZEL_GLOBAL_CONFIG) test $(BAZEL_CMD_CONFIG) --test_arg=-with-real-tikv --define gotags=deadlock \
-- //tests/realtikvtest/brietest/...
bazel_pessimistictest: failpoint-enable bazel_ci_prepare
- bazel $(BAZEL_GLOBAL_CONFIG) test $(BAZEL_CMD_CONFIG) --test_arg=-with-real-tikv \
+ bazel $(BAZEL_GLOBAL_CONFIG) test $(BAZEL_CMD_CONFIG) --test_arg=-with-real-tikv --define gotags=deadlock \
-- //tests/realtikvtest/pessimistictest/...
bazel_sessiontest: failpoint-enable bazel_ci_prepare
- bazel $(BAZEL_GLOBAL_CONFIG) test $(BAZEL_CMD_CONFIG) --test_arg=-with-real-tikv \
+ bazel $(BAZEL_GLOBAL_CONFIG) test $(BAZEL_CMD_CONFIG) --test_arg=-with-real-tikv --define gotags=deadlock \
-- //tests/realtikvtest/sessiontest/...
bazel_statisticstest: failpoint-enable bazel_ci_prepare
- bazel $(BAZEL_GLOBAL_CONFIG) test $(BAZEL_CMD_CONFIG) --test_arg=-with-real-tikv \
+ bazel $(BAZEL_GLOBAL_CONFIG) test $(BAZEL_CMD_CONFIG) --test_arg=-with-real-tikv --define gotags=deadlock \
-- //tests/realtikvtest/statisticstest/...
bazel_txntest: failpoint-enable bazel_ci_prepare
- bazel $(BAZEL_GLOBAL_CONFIG) test $(BAZEL_CMD_CONFIG) --test_arg=-with-real-tikv \
+ bazel $(BAZEL_GLOBAL_CONFIG) test $(BAZEL_CMD_CONFIG) --test_arg=-with-real-tikv --define gotags=deadlock \
-- //tests/realtikvtest/txntest/...
bazel_addindextest: failpoint-enable bazel_ci_prepare
- bazel $(BAZEL_GLOBAL_CONFIG) test $(BAZEL_CMD_CONFIG) --test_arg=-with-real-tikv \
+ bazel $(BAZEL_GLOBAL_CONFIG) test $(BAZEL_CMD_CONFIG) --test_arg=-with-real-tikv --define gotags=deadlock \
-- //tests/realtikvtest/addindextest/...
bazel_lint: bazel_prepare
diff --git a/README.md b/README.md
index 74a81008de990..f9480b9bca2ef 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-![](docs/logo_with_text.png)
+
[![LICENSE](https://img.shields.io/github/license/pingcap/tidb.svg)](https://github.com/pingcap/tidb/blob/master/LICENSE)
[![Language](https://img.shields.io/badge/Language-Go-blue.svg)](https://golang.org/)
@@ -12,15 +12,15 @@
## What is TiDB?
-TiDB ("Ti" stands for Titanium) is an open-source NewSQL database that supports Hybrid Transactional and Analytical Processing (HTAP) workloads. It is MySQL compatible and features horizontal scalability, strong consistency, and high availability.
+TiDB (/’taɪdiːbi:/, "Ti" stands for Titanium) is an open-source distributed SQL database that supports Hybrid Transactional and Analytical Processing (HTAP) workloads. It is MySQL compatible and features horizontal scalability, strong consistency, and high availability.
- [Key features](https://docs.pingcap.com/tidb/stable/overview#key-features)
- [Architecture](#architecture)
-- [MySQL Compatibility](https://docs.pingcap.com/tidb/stable/mysql-compatibility)
+- [MySQL compatibility](https://docs.pingcap.com/tidb/stable/mysql-compatibility)
-For more details and latest updates, see [TiDB docs](https://docs.pingcap.com/tidb/stable) and [release notes](https://docs.pingcap.com/tidb/dev/release-notes).
+For more details and latest updates, see [TiDB documentation](https://docs.pingcap.com/tidb/stable) and [release notes](https://docs.pingcap.com/tidb/dev/release-notes).
-For future plans, see [TiDB Roadmap](roadmap.md).
+For future plans, see the [TiDB roadmap](roadmap.md).
## Quick start
@@ -38,40 +38,43 @@ See [TiDB Quick Start Guide](https://docs.pingcap.com/tidb/stable/quick-start-wi
### Start developing TiDB
-See [Get Started](https://pingcap.github.io/tidb-dev-guide/get-started/introduction.html) chapter of [TiDB Dev Guide](https://pingcap.github.io/tidb-dev-guide/index.html).
+See the [Get Started](https://pingcap.github.io/tidb-dev-guide/get-started/introduction.html) chapter of [TiDB Development Guide](https://pingcap.github.io/tidb-dev-guide/index.html).
## Community
-You can join these groups and chats to discuss and ask TiDB related questions:
+You can join the following groups or channels to discuss or ask questions about TiDB, and to keep yourself informed of the latest TiDB updates:
-- [TiDB Internals Forum](https://internals.tidb.io/)
-- [Slack Channel](https://slack.tidb.io/invite?team=tidb-community&channel=everyone&ref=pingcap-tidb)
-- [TiDB User Group Forum (Chinese)](https://asktug.com)
-
-In addition, you may enjoy following:
-
-- [@PingCAP](https://twitter.com/PingCAP) on Twitter
-- Question tagged [#tidb on StackOverflow](https://stackoverflow.com/questions/tagged/tidb)
-- The PingCAP Team [English Blog](https://en.pingcap.com/blog) and [Chinese Blog](https://pingcap.com/blog-cn/)
+- Seek help when you use TiDB
+ - [TiDB Forum](https://ask.pingcap.com/)
+ - [Chinese TiDB Forum](https://asktug.com)
+ - Slack channels: [#everyone](https://slack.tidb.io/invite?team=tidb-community&channel=everyone&ref=pingcap-tidb) (English), [#tidb-japan](https://slack.tidb.io/invite?team=tidb-community&channel=tidb-japan&ref=github-tidb) (Japanese)
+ - [Stack Overflow](https://stackoverflow.com/questions/tagged/tidb) (questions tagged with #tidb)
+- Discuss TiDB's implementation and design
+ - [TiDB Internals forum](https://internals.tidb.io/)
+- Get the latest TiDB news or updates
+ - Follow [@PingCAP](https://twitter.com/PingCAP) on Twitter
+ - Read the PingCAP [English Blog](https://www.pingcap.com/blog/?from=en) or [Chinese Blog](https://cn.pingcap.com/blog/)
For support, please contact [PingCAP](http://bit.ly/contact_us_via_github).
## Contributing
-The [community repository](https://github.com/pingcap/community) hosts all information about the TiDB community, including how to contribute to TiDB, how TiDB community is governed, how special interest groups are organized, etc.
+The [community repository](https://github.com/pingcap/community) hosts all information about the TiDB community, including [how to contribute](https://github.com/pingcap/community/blob/master/contributors/README.md) to TiDB, how the TiDB community is governed, how [teams](https://github.com/pingcap/community/blob/master/teams/README.md) are organized.
+
+Contributions are welcomed and greatly appreciated. You can get started with one of the [good first issues](https://github.com/pingcap/tidb/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) or [help wanted issues](https://github.com/pingcap/tidb/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22). For more details on typical contribution workflows, see [Contribute to TiDB](https://pingcap.github.io/tidb-dev-guide/contribute-to-tidb/introduction.html). For more contributing information about where to start, click the contributor icon below.
[](https://github.com/pingcap/tidb-map/blob/master/maps/contribution-map.md#tidb-is-an-open-source-distributed-htap-database-compatible-with-the-mysql-protocol)
-Contributions are welcomed and greatly appreciated. All the contributors are welcomed to claim your reward by filing this [form](https://forms.pingcap.com/f/tidb-contribution-swag). See [Contribution to TiDB](https://pingcap.github.io/tidb-dev-guide/contribute-to-tidb/introduction.html) for details on typical contribution workflows. For more contributing information, click on the contributor icon above.
+Every contributor is welcome to claim your contribution swag by filling in and submitting this [form](https://forms.pingcap.com/f/tidb-contribution-swag).
## Case studies
-- [English](https://pingcap.com/case-studies)
-- [简体中文](https://pingcap.com/cases-cn/)
+- [Case studies in English](https://www.pingcap.com/customers/)
+- [中文用户案例](https://cn.pingcap.com/case/)
## Architecture
-![architecture](./docs/architecture.png)
+![TiDB architecture](./docs/tidb-architecture.png)
## License
diff --git a/WORKSPACE b/WORKSPACE
index e6df7760f5d5e..559746eab6b1d 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -2,10 +2,10 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "io_bazel_rules_go",
- sha256 = "099a9fb96a376ccbbb7d291ed4ecbdfd42f6bc822ab77ae6f1b5cb9e914e94fa",
+ sha256 = "56d8c5a5c91e1af73eca71a6fab2ced959b67c86d12ba37feedb0a2dfea441a6",
urls = [
- "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.35.0/rules_go-v0.35.0.zip",
- "https://github.com/bazelbuild/rules_go/releases/download/v0.35.0/rules_go-v0.35.0.zip",
+ "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.37.0/rules_go-v0.37.0.zip",
+ "https://github.com/bazelbuild/rules_go/releases/download/v0.37.0/rules_go-v0.37.0.zip",
],
)
@@ -18,7 +18,7 @@ http_archive(
],
)
-load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
+load("@io_bazel_rules_go//go:deps.bzl", "go_download_sdk", "go_register_toolchains", "go_rules_dependencies")
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
load("//:DEPS.bzl", "go_deps")
@@ -27,9 +27,19 @@ go_deps()
go_rules_dependencies()
+go_download_sdk(
+ name = "go_sdk",
+ urls = [
+ "http://ats.apps.svc/golang/{}",
+ "http://bazel-cache.pingcap.net:8080/golang/{}",
+ "https://mirrors.aliyun.com/golang/{}",
+ "https://dl.google.com/go/{}",
+ ],
+ version = "1.19.3",
+)
+
go_register_toolchains(
nogo = "@//build:tidb_nogo",
- version = "1.19.3",
)
gazelle_dependencies()
@@ -48,3 +58,23 @@ http_archive(
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
protobuf_deps()
+
+http_archive(
+ name = "remote_java_tools",
+ sha256 = "5cd59ea6bf938a1efc1e11ea562d37b39c82f76781211b7cd941a2346ea8484d",
+ urls = [
+ "http://ats.apps.svc/bazel_java_tools/releases/java/v11.9/java_tools-v11.9.zip",
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.9/java_tools-v11.9.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v11.9/java_tools-v11.9.zip",
+ ],
+)
+
+http_archive(
+ name = "remote_java_tools_linux",
+ sha256 = "512582cac5b7ea7974a77b0da4581b21f546c9478f206eedf54687eeac035989",
+ urls = [
+ "http://ats.apps.svc/bazel_java_tools/releases/java/v11.9/java_tools_linux-v11.9.zip",
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.9/java_tools_linux-v11.9.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v11.9/java_tools_linux-v11.9.zip",
+ ],
+)
diff --git a/autoid_service/BUILD.bazel b/autoid_service/BUILD.bazel
index df3d361d412ed..26eb992c89474 100644
--- a/autoid_service/BUILD.bazel
+++ b/autoid_service/BUILD.bazel
@@ -1,4 +1,4 @@
-load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
go_library(
name = "autoid_service",
@@ -9,11 +9,14 @@ go_library(
"//config",
"//kv",
"//meta",
+ "//meta/autoid",
"//metrics",
"//owner",
+ "//parser/model",
"//util/logutil",
"//util/mathutil",
"@com_github_pingcap_errors//:errors",
+ "@com_github_pingcap_failpoint//:failpoint",
"@com_github_pingcap_kvproto//pkg/autoid",
"@io_etcd_go_etcd_client_v3//:client",
"@org_golang_google_grpc//:grpc",
@@ -21,3 +24,18 @@ go_library(
"@org_uber_go_zap//:zap",
],
)
+
+go_test(
+ name = "autoid_service_test",
+ srcs = ["autoid_test.go"],
+ embed = [":autoid_service"],
+ deps = [
+ "//parser/model",
+ "//testkit",
+ "@com_github_pingcap_kvproto//pkg/autoid",
+ "@com_github_stretchr_testify//require",
+ "@io_etcd_go_etcd_tests_v3//integration",
+ "@org_golang_google_grpc//:grpc",
+ "@org_golang_google_grpc//credentials/insecure",
+ ],
+)
diff --git a/autoid_service/autoid.go b/autoid_service/autoid.go
index d20c78fd06098..aa6c487cb0b48 100644
--- a/autoid_service/autoid.go
+++ b/autoid_service/autoid.go
@@ -22,12 +22,15 @@ import (
"time"
"github.com/pingcap/errors"
+ "github.com/pingcap/failpoint"
"github.com/pingcap/kvproto/pkg/autoid"
"github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/meta"
+ autoid1 "github.com/pingcap/tidb/meta/autoid"
"github.com/pingcap/tidb/metrics"
"github.com/pingcap/tidb/owner"
+ "github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/util/logutil"
"github.com/pingcap/tidb/util/mathutil"
clientv3 "go.etcd.io/etcd/client/v3"
@@ -76,7 +79,7 @@ func (alloc *autoIDValue) alloc4Unsigned(ctx context.Context, store kv.Storage,
ctx = kv.WithInternalSourceType(ctx, kv.InternalTxnMeta)
err := kv.RunInNewTxn(ctx, store, true, func(ctx context.Context, txn kv.Transaction) error {
- idAcc := meta.NewMeta(txn).GetAutoIDAccessors(dbID, tblID).RowID()
+ idAcc := meta.NewMeta(txn).GetAutoIDAccessors(dbID, tblID).IncrementID(model.TableInfoVersion5)
var err1 error
newBase, err1 = idAcc.Get()
if err1 != nil {
@@ -137,7 +140,7 @@ func (alloc *autoIDValue) alloc4Signed(ctx context.Context,
ctx = kv.WithInternalSourceType(ctx, kv.InternalTxnMeta)
err := kv.RunInNewTxn(ctx, store, true, func(ctx context.Context, txn kv.Transaction) error {
- idAcc := meta.NewMeta(txn).GetAutoIDAccessors(dbID, tblID).RowID()
+ idAcc := meta.NewMeta(txn).GetAutoIDAccessors(dbID, tblID).IncrementID(model.TableInfoVersion5)
var err1 error
newBase, err1 = idAcc.Get()
if err1 != nil {
@@ -188,7 +191,7 @@ func (alloc *autoIDValue) rebase4Unsigned(ctx context.Context,
startTime := time.Now()
ctx = kv.WithInternalSourceType(ctx, kv.InternalTxnMeta)
err := kv.RunInNewTxn(ctx, store, true, func(ctx context.Context, txn kv.Transaction) error {
- idAcc := meta.NewMeta(txn).GetAutoIDAccessors(dbID, tblID).RowID()
+ idAcc := meta.NewMeta(txn).GetAutoIDAccessors(dbID, tblID).IncrementID(model.TableInfoVersion5)
currentEnd, err1 := idAcc.Get()
if err1 != nil {
return err1
@@ -221,7 +224,7 @@ func (alloc *autoIDValue) rebase4Signed(ctx context.Context, store kv.Storage, d
var newBase, newEnd int64
ctx = kv.WithInternalSourceType(ctx, kv.InternalTxnMeta)
err := kv.RunInNewTxn(ctx, store, true, func(ctx context.Context, txn kv.Transaction) error {
- idAcc := meta.NewMeta(txn).GetAutoIDAccessors(dbID, tblID).RowID()
+ idAcc := meta.NewMeta(txn).GetAutoIDAccessors(dbID, tblID).IncrementID(model.TableInfoVersion5)
currentEnd, err1 := idAcc.Get()
if err1 != nil {
return err1
@@ -251,6 +254,7 @@ type Service struct {
func New(selfAddr string, etcdAddr []string, store kv.Storage, tlsConfig *tls.Config) *Service {
cfg := config.GetGlobalConfig()
etcdLogCfg := zap.NewProductionConfig()
+
cli, err := clientv3.New(clientv3.Config{
LogConfig: &etcdLogCfg,
Endpoints: etcdAddr,
@@ -268,9 +272,12 @@ func New(selfAddr string, etcdAddr []string, store kv.Storage, tlsConfig *tls.Co
if err != nil {
panic(err)
}
+ return newWithCli(selfAddr, cli, store)
+}
+func newWithCli(selfAddr string, cli *clientv3.Client, store kv.Storage) *Service {
l := owner.NewOwnerManager(context.Background(), cli, "autoid", selfAddr, autoIDLeaderPath)
- err = l.CampaignOwner()
+ err := l.CampaignOwner()
if err != nil {
panic(err)
}
@@ -297,7 +304,7 @@ func (m *mockClient) Rebase(ctx context.Context, in *autoid.RebaseRequest, opts
var global = make(map[string]*mockClient)
// MockForTest is used for testing, the UT test and unistore use this.
-func MockForTest(store kv.Storage) *mockClient {
+func MockForTest(store kv.Storage) autoid.AutoIDAllocClient {
uuid := store.UUID()
ret, ok := global[uuid]
if !ok {
@@ -400,16 +407,44 @@ func (s *Service) getAlloc(dbID, tblID int64, isUnsigned bool) *autoIDValue {
func (s *Service) allocAutoID(ctx context.Context, req *autoid.AutoIDRequest) (*autoid.AutoIDResponse, error) {
if s.leaderShip != nil && !s.leaderShip.IsOwner() {
+ logutil.BgLogger().Info("[autoid service] Alloc AutoID fail, not leader")
return nil, errors.New("not leader")
}
+ failpoint.Inject("mockErr", func(val failpoint.Value) {
+ if val.(bool) {
+ failpoint.Return(nil, errors.New("mock reload failed"))
+ }
+ })
+
val := s.getAlloc(req.DbID, req.TblID, req.IsUnsigned)
- if req.N == 0 && val.base != 0 {
- base := val.base
+ if req.N == 0 {
+ if val.base != 0 {
+ return &autoid.AutoIDResponse{
+ Min: val.base,
+ Max: val.base,
+ }, nil
+ }
+ // This item is not initialized, get the data from remote.
+ var currentEnd int64
+ ctx = kv.WithInternalSourceType(ctx, kv.InternalTxnMeta)
+ err := kv.RunInNewTxn(ctx, s.store, true, func(ctx context.Context, txn kv.Transaction) error {
+ idAcc := meta.NewMeta(txn).GetAutoIDAccessors(req.DbID, req.TblID).RowID()
+ var err1 error
+ currentEnd, err1 = idAcc.Get()
+ if err1 != nil {
+ return err1
+ }
+ val.end = currentEnd
+ return nil
+ })
+ if err != nil {
+ return &autoid.AutoIDResponse{Errmsg: []byte(err.Error())}, nil
+ }
return &autoid.AutoIDResponse{
- Min: base,
- Max: base,
+ Min: currentEnd,
+ Max: currentEnd,
}, nil
}
@@ -424,16 +459,19 @@ func (s *Service) allocAutoID(ctx context.Context, req *autoid.AutoIDRequest) (*
min, max, err = val.alloc4Signed(ctx, s.store, req.DbID, req.TblID, req.IsUnsigned, req.N, req.Increment, req.Offset)
}
+ if err != nil {
+ return &autoid.AutoIDResponse{Errmsg: []byte(err.Error())}, nil
+ }
return &autoid.AutoIDResponse{
Min: min,
Max: max,
- }, err
+ }, nil
}
func (alloc *autoIDValue) forceRebase(ctx context.Context, store kv.Storage, dbID, tblID, requiredBase int64, isUnsigned bool) error {
ctx = kv.WithInternalSourceType(ctx, kv.InternalTxnMeta)
err := kv.RunInNewTxn(ctx, store, true, func(ctx context.Context, txn kv.Transaction) error {
- idAcc := meta.NewMeta(txn).GetAutoIDAccessors(dbID, tblID).RowID()
+ idAcc := meta.NewMeta(txn).GetAutoIDAccessors(dbID, tblID).IncrementID(model.TableInfoVersion5)
currentEnd, err1 := idAcc.Get()
if err1 != nil {
return err1
@@ -459,6 +497,7 @@ func (alloc *autoIDValue) forceRebase(ctx context.Context, store kv.Storage, dbI
// req.N = 0 is handled specially, it is used to return the current auto ID value.
func (s *Service) Rebase(ctx context.Context, req *autoid.RebaseRequest) (*autoid.RebaseResponse, error) {
if s.leaderShip != nil && !s.leaderShip.IsOwner() {
+ logutil.BgLogger().Info("[autoid service] Rebase() fail, not leader")
return nil, errors.New("not leader")
}
@@ -466,7 +505,7 @@ func (s *Service) Rebase(ctx context.Context, req *autoid.RebaseRequest) (*autoi
if req.Force {
err := val.forceRebase(ctx, s.store, req.DbID, req.TblID, req.Base, req.IsUnsigned)
if err != nil {
- return nil, errors.Trace(err)
+ return &autoid.RebaseResponse{Errmsg: []byte(err.Error())}, nil
}
}
@@ -476,5 +515,12 @@ func (s *Service) Rebase(ctx context.Context, req *autoid.RebaseRequest) (*autoi
} else {
err = val.rebase4Signed(ctx, s.store, req.DbID, req.TblID, req.Base)
}
- return &autoid.RebaseResponse{}, err
+ if err != nil {
+ return &autoid.RebaseResponse{Errmsg: []byte(err.Error())}, nil
+ }
+ return &autoid.RebaseResponse{}, nil
+}
+
+func init() {
+ autoid1.MockForTest = MockForTest
}
diff --git a/autoid_service/autoid_test.go b/autoid_service/autoid_test.go
new file mode 100644
index 0000000000000..df2722309cf6e
--- /dev/null
+++ b/autoid_service/autoid_test.go
@@ -0,0 +1,202 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package autoid
+
+import (
+ "context"
+ "fmt"
+ "math"
+ "net"
+ "testing"
+ "time"
+
+ "github.com/pingcap/kvproto/pkg/autoid"
+ "github.com/pingcap/tidb/parser/model"
+ "github.com/pingcap/tidb/testkit"
+ "github.com/stretchr/testify/require"
+ "go.etcd.io/etcd/tests/v3/integration"
+ "google.golang.org/grpc"
+ "google.golang.org/grpc/credentials/insecure"
+)
+
+type autoIDResp struct {
+ *autoid.AutoIDResponse
+ error
+ *testing.T
+}
+
+func (resp autoIDResp) check(min, max int64) {
+ require.NoError(resp.T, resp.error)
+ require.Equal(resp.T, resp.AutoIDResponse, &autoid.AutoIDResponse{Min: min, Max: max})
+}
+
+func (resp autoIDResp) checkErrmsg() {
+ require.NoError(resp.T, resp.error)
+ require.True(resp.T, len(resp.GetErrmsg()) > 0)
+}
+
+type rebaseResp struct {
+ *autoid.RebaseResponse
+ error
+ *testing.T
+}
+
+func (resp rebaseResp) check(msg string) {
+ require.NoError(resp.T, resp.error)
+ require.Equal(resp.T, string(resp.RebaseResponse.GetErrmsg()), msg)
+}
+
+func TestAPI(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ cli := MockForTest(store)
+ tk.MustExec("use test")
+ tk.MustExec("create table t (id int key auto_increment);")
+ is := dom.InfoSchema()
+ dbInfo, ok := is.SchemaByName(model.NewCIStr("test"))
+ require.True(t, ok)
+
+ tbl, err := is.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
+ require.NoError(t, err)
+ tbInfo := tbl.Meta()
+
+ ctx := context.Background()
+ checkCurrValue := func(t *testing.T, cli autoid.AutoIDAllocClient, min, max int64) {
+ req := &autoid.AutoIDRequest{DbID: dbInfo.ID, TblID: tbInfo.ID, N: 0}
+ resp, err := cli.AllocAutoID(ctx, req)
+ require.NoError(t, err)
+ require.Equal(t, resp, &autoid.AutoIDResponse{Min: min, Max: max})
+ }
+ autoIDRequest := func(t *testing.T, cli autoid.AutoIDAllocClient, unsigned bool, n uint64, more ...int64) autoIDResp {
+ increment := int64(1)
+ offset := int64(1)
+ if len(more) >= 1 {
+ increment = more[0]
+ }
+ if len(more) >= 2 {
+ offset = more[1]
+ }
+ req := &autoid.AutoIDRequest{DbID: dbInfo.ID, TblID: tbInfo.ID, IsUnsigned: unsigned, N: n, Increment: increment, Offset: offset}
+ resp, err := cli.AllocAutoID(ctx, req)
+ return autoIDResp{resp, err, t}
+ }
+ rebaseRequest := func(t *testing.T, cli autoid.AutoIDAllocClient, unsigned bool, n int64, force ...struct{}) rebaseResp {
+ req := &autoid.RebaseRequest{
+ DbID: dbInfo.ID,
+ TblID: tbInfo.ID,
+ Base: n,
+ IsUnsigned: unsigned,
+ Force: len(force) > 0,
+ }
+ resp, err := cli.Rebase(ctx, req)
+ return rebaseResp{resp, err, t}
+ }
+ var force = struct{}{}
+
+ // basic auto id operation
+ autoIDRequest(t, cli, false, 1).check(0, 1)
+ autoIDRequest(t, cli, false, 10).check(1, 11)
+ checkCurrValue(t, cli, 11, 11)
+ autoIDRequest(t, cli, false, 128).check(11, 139)
+ autoIDRequest(t, cli, false, 1, 10, 5).check(139, 145)
+
+ // basic rebase operation
+ rebaseRequest(t, cli, false, 666).check("")
+ autoIDRequest(t, cli, false, 1).check(666, 667)
+
+ rebaseRequest(t, cli, false, 6666).check("")
+ autoIDRequest(t, cli, false, 1).check(6666, 6667)
+
+ // rebase will not decrease the value without 'force'
+ rebaseRequest(t, cli, false, 44).check("")
+ checkCurrValue(t, cli, 6667, 6667)
+ rebaseRequest(t, cli, false, 44, force).check("")
+ checkCurrValue(t, cli, 44, 44)
+
+ // max increase 1
+ rebaseRequest(t, cli, false, math.MaxInt64, force).check("")
+ checkCurrValue(t, cli, math.MaxInt64, math.MaxInt64)
+ autoIDRequest(t, cli, false, 1).checkErrmsg()
+
+ rebaseRequest(t, cli, true, 0, force).check("")
+ checkCurrValue(t, cli, 0, 0)
+ autoIDRequest(t, cli, true, 1).check(0, 1)
+ autoIDRequest(t, cli, true, 10).check(1, 11)
+ autoIDRequest(t, cli, true, 128).check(11, 139)
+ autoIDRequest(t, cli, true, 1, 10, 5).check(139, 145)
+
+ // max increase 1
+ rebaseRequest(t, cli, true, math.MaxInt64).check("")
+ checkCurrValue(t, cli, math.MaxInt64, math.MaxInt64)
+ autoIDRequest(t, cli, true, 1).check(math.MaxInt64, math.MinInt64)
+ autoIDRequest(t, cli, true, 1).check(math.MinInt64, math.MinInt64+1)
+
+ rebaseRequest(t, cli, true, -1).check("")
+ checkCurrValue(t, cli, -1, -1)
+ autoIDRequest(t, cli, true, 1).check(-1, 0)
+}
+
+func TestGRPC(t *testing.T) {
+ integration.BeforeTestExternal(t)
+ store := testkit.CreateMockStore(t)
+ cluster := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1})
+ defer cluster.Terminate(t)
+ etcdCli := cluster.RandClient()
+
+ var addr string
+ var listener net.Listener
+ for port := 10080; ; port++ {
+ var err error
+ addr = fmt.Sprintf("127.0.0.1:%d", port)
+ listener, err = net.Listen("tcp", addr)
+ if err == nil {
+ break
+ }
+ }
+ defer listener.Close()
+
+ service := newWithCli(addr, etcdCli, store)
+ defer service.Close()
+
+ var i int
+ for !service.leaderShip.IsOwner() {
+ time.Sleep(100 * time.Millisecond)
+ i++
+ if i >= 20 {
+ break
+ }
+ }
+ require.Less(t, i, 20)
+
+ grpcServer := grpc.NewServer()
+ autoid.RegisterAutoIDAllocServer(grpcServer, service)
+ go func() {
+ grpcServer.Serve(listener)
+ }()
+ defer grpcServer.Stop()
+
+ grpcConn, err := grpc.Dial("127.0.0.1:10080", grpc.WithTransportCredentials(insecure.NewCredentials()))
+ require.NoError(t, err)
+ cli := autoid.NewAutoIDAllocClient(grpcConn)
+ _, err = cli.AllocAutoID(context.Background(), &autoid.AutoIDRequest{
+ DbID: 0,
+ TblID: 0,
+ N: 1,
+ Increment: 1,
+ Offset: 1,
+ IsUnsigned: false,
+ })
+ require.NoError(t, err)
+}
diff --git a/bindinfo/bind_cache.go b/bindinfo/bind_cache.go
index 8ce69deedd840..fe67cbbbf9f43 100644
--- a/bindinfo/bind_cache.go
+++ b/bindinfo/bind_cache.go
@@ -146,6 +146,23 @@ func (c *bindCache) GetBindRecord(hash, normdOrigSQL, db string) *BindRecord {
return nil
}
+// GetBindRecordBySQLDigest gets the BindRecord from the cache.
+// The return value is not read-only, but it shouldn't be changed in the caller functions.
+// The function is thread-safe.
+func (c *bindCache) GetBindRecordBySQLDigest(sqlDigest string) (*BindRecord, error) {
+ c.lock.Lock()
+ defer c.lock.Unlock()
+ bindings := c.get(bindCacheKey(sqlDigest))
+ if len(bindings) > 1 {
+ // currently, we only allow one binding for a sql
+ return nil, errors.New("more than 1 binding matched")
+ }
+ if len(bindings) == 0 || len(bindings[0].Bindings) == 0 {
+ return nil, errors.New("can't find any binding for '" + sqlDigest + "'")
+ }
+ return bindings[0], nil
+}
+
// GetAllBindRecords return all the bindRecords from the bindCache.
// The return value is not read-only, but it shouldn't be changed in the caller functions.
// The function is thread-safe.
diff --git a/bindinfo/bind_record.go b/bindinfo/bind_record.go
index 63517d91ac189..6395bbaa278ba 100644
--- a/bindinfo/bind_record.go
+++ b/bindinfo/bind_record.go
@@ -54,6 +54,8 @@ const (
Evolve = "evolve"
// Builtin indicates the binding is a builtin record for internal locking purpose. It is also the status for the builtin binding.
Builtin = "builtin"
+ // History indicate the binding is created from statement summary by plan digest
+ History = "history"
)
// Binding stores the basic bind hint info.
@@ -71,7 +73,9 @@ type Binding struct {
// Hint is the parsed hints, it is used to bind hints to stmt node.
Hint *hint.HintsSet `json:"-"`
// ID is the string form of Hint. It would be non-empty only when the status is `Using` or `PendingVerify`.
- ID string `json:"-"`
+ ID string `json:"-"`
+ SQLDigest string
+ PlanDigest string
}
func (b *Binding) isSame(rb *Binding) bool {
diff --git a/bindinfo/bind_test.go b/bindinfo/bind_test.go
index 07e29923a9790..cb8e62687df8f 100644
--- a/bindinfo/bind_test.go
+++ b/bindinfo/bind_test.go
@@ -29,6 +29,8 @@ import (
"github.com/pingcap/tidb/parser/terror"
"github.com/pingcap/tidb/testkit"
"github.com/pingcap/tidb/util"
+ utilparser "github.com/pingcap/tidb/util/parser"
+ "github.com/pingcap/tidb/util/stmtsummary"
"github.com/stretchr/testify/require"
)
@@ -1241,3 +1243,148 @@ func TestGCBindRecord(t *testing.T) {
tk.MustQuery("show global bindings").Check(testkit.Rows())
tk.MustQuery("select status from mysql.bind_info where original_sql = 'select * from `test` . `t` where `a` = ?'").Check(testkit.Rows())
}
+
+func TestBindSQLDigest(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(pk int primary key, a int, b int, key(a), key(b))")
+
+ cases := []struct {
+ origin string
+ hint string
+ }{
+ // agg hints
+ {"select count(1) from t", "select /*+ hash_agg() */ count(1) from t"},
+ {"select count(1) from t", "select /*+ stream_agg() */ count(1) from t"},
+ // join hints
+ {"select * from t t1, t t2 where t1.a=t2.a", "select /*+ merge_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a"},
+ {"select * from t t1, t t2 where t1.a=t2.a", "select /*+ tidb_smj(t1, t2) */ * from t t1, t t2 where t1.a=t2.a"},
+ {"select * from t t1, t t2 where t1.a=t2.a", "select /*+ hash_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a"},
+ {"select * from t t1, t t2 where t1.a=t2.a", "select /*+ tidb_hj(t1, t2) */ * from t t1, t t2 where t1.a=t2.a"},
+ {"select * from t t1, t t2 where t1.a=t2.a", "select /*+ inl_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a"},
+ {"select * from t t1, t t2 where t1.a=t2.a", "select /*+ tidb_inlj(t1, t2) */ * from t t1, t t2 where t1.a=t2.a"},
+ {"select * from t t1, t t2 where t1.a=t2.a", "select /*+ inl_hash_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a"},
+ // index hints
+ {"select * from t", "select * from t use index(primary)"},
+ {"select * from t", "select /*+ use_index(primary) */ * from t"},
+ {"select * from t", "select * from t use index(a)"},
+ {"select * from t", "select /*+ use_index(a) */ * from t use index(a)"},
+ {"select * from t", "select * from t use index(b)"},
+ {"select * from t", "select /*+ use_index(b) */ * from t use index(b)"},
+ {"select a, b from t where a=1 or b=1", "select /*+ use_index_merge(t, a, b) */ a, b from t where a=1 or b=1"},
+ {"select * from t where a=1", "select /*+ ignore_index(t, a) */ * from t where a=1"},
+ // push-down hints
+ {"select * from t limit 10", "select /*+ limit_to_cop() */ * from t limit 10"},
+ {"select a, count(*) from t group by a", "select /*+ agg_to_cop() */ a, count(*) from t group by a"},
+ // index-merge hints
+ {"select a, b from t where a>1 or b>1", "select /*+ no_index_merge() */ a, b from t where a>1 or b>1"},
+ {"select a, b from t where a>1 or b>1", "select /*+ use_index_merge(t, a, b) */ a, b from t where a>1 or b>1"},
+ // runtime hints
+ {"select * from t", "select /*+ memory_quota(1024 MB) */ * from t"},
+ {"select * from t", "select /*+ max_execution_time(1000) */ * from t"},
+ // storage hints
+ {"select * from t", "select /*+ read_from_storage(tikv[t]) */ * from t"},
+ // others
+ {"select t1.a, t1.b from t t1 where t1.a in (select t2.a from t t2)", "select /*+ use_toja(true) */ t1.a, t1.b from t t1 where t1.a in (select t2.a from t t2)"},
+ }
+ for _, c := range cases {
+ stmtsummary.StmtSummaryByDigestMap.Clear()
+ utilCleanBindingEnv(tk, dom)
+ sql := "create global binding for " + c.origin + " using " + c.hint
+ tk.MustExec(sql)
+ res := tk.MustQuery(`show global bindings`).Rows()
+ require.Equal(t, len(res[0]), 11)
+
+ parser4binding := parser.New()
+ originNode, err := parser4binding.ParseOneStmt(c.origin, "utf8mb4", "utf8mb4_general_ci")
+ require.NoError(t, err)
+ _, sqlDigestWithDB := parser.NormalizeDigest(utilparser.RestoreWithDefaultDB(originNode, "test", c.origin))
+ require.Equal(t, res[0][9], sqlDigestWithDB.String())
+ }
+}
+
+func TestDropBindBySQLDigest(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(pk int primary key, a int, b int, key(a), key(b))")
+
+ cases := []struct {
+ origin string
+ hint string
+ }{
+ // agg hints
+ {"select count(1) from t", "select /*+ hash_agg() */ count(1) from t"},
+ {"select count(1) from t", "select /*+ stream_agg() */ count(1) from t"},
+ // join hints
+ {"select * from t t1, t t2 where t1.a=t2.a", "select /*+ merge_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a"},
+ {"select * from t t1, t t2 where t1.a=t2.a", "select /*+ tidb_smj(t1, t2) */ * from t t1, t t2 where t1.a=t2.a"},
+ {"select * from t t1, t t2 where t1.a=t2.a", "select /*+ hash_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a"},
+ {"select * from t t1, t t2 where t1.a=t2.a", "select /*+ tidb_hj(t1, t2) */ * from t t1, t t2 where t1.a=t2.a"},
+ {"select * from t t1, t t2 where t1.a=t2.a", "select /*+ inl_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a"},
+ {"select * from t t1, t t2 where t1.a=t2.a", "select /*+ tidb_inlj(t1, t2) */ * from t t1, t t2 where t1.a=t2.a"},
+ {"select * from t t1, t t2 where t1.a=t2.a", "select /*+ inl_hash_join(t1, t2) */ * from t t1, t t2 where t1.a=t2.a"},
+ // index hints
+ {"select * from t", "select * from t use index(primary)"},
+ {"select * from t", "select /*+ use_index(primary) */ * from t"},
+ {"select * from t", "select * from t use index(a)"},
+ {"select * from t", "select /*+ use_index(a) */ * from t use index(a)"},
+ {"select * from t", "select * from t use index(b)"},
+ {"select * from t", "select /*+ use_index(b) */ * from t use index(b)"},
+ {"select a, b from t where a=1 or b=1", "select /*+ use_index_merge(t, a, b) */ a, b from t where a=1 or b=1"},
+ {"select * from t where a=1", "select /*+ ignore_index(t, a) */ * from t where a=1"},
+ // push-down hints
+ {"select * from t limit 10", "select /*+ limit_to_cop() */ * from t limit 10"},
+ {"select a, count(*) from t group by a", "select /*+ agg_to_cop() */ a, count(*) from t group by a"},
+ // index-merge hints
+ {"select a, b from t where a>1 or b>1", "select /*+ no_index_merge() */ a, b from t where a>1 or b>1"},
+ {"select a, b from t where a>1 or b>1", "select /*+ use_index_merge(t, a, b) */ a, b from t where a>1 or b>1"},
+ // runtime hints
+ {"select * from t", "select /*+ memory_quota(1024 MB) */ * from t"},
+ {"select * from t", "select /*+ max_execution_time(1000) */ * from t"},
+ // storage hints
+ {"select * from t", "select /*+ read_from_storage(tikv[t]) */ * from t"},
+ // others
+ {"select t1.a, t1.b from t t1 where t1.a in (select t2.a from t t2)", "select /*+ use_toja(true) */ t1.a, t1.b from t t1 where t1.a in (select t2.a from t t2)"},
+ }
+
+ h := dom.BindHandle()
+ // global scope
+ for _, c := range cases {
+ utilCleanBindingEnv(tk, dom)
+ sql := "create global binding for " + c.origin + " using " + c.hint
+ tk.MustExec(sql)
+ h.ReloadBindings()
+ res := tk.MustQuery(`show global bindings`).Rows()
+
+ require.Equal(t, len(res), 1)
+ require.Equal(t, len(res[0]), 11)
+ drop := fmt.Sprintf("drop global binding for sql digest '%s'", res[0][9])
+ tk.MustExec(drop)
+ require.NoError(t, h.GCBindRecord())
+ h.ReloadBindings()
+ tk.MustQuery("show global bindings").Check(testkit.Rows())
+ }
+
+ // session scope
+ for _, c := range cases {
+ utilCleanBindingEnv(tk, dom)
+ sql := "create binding for " + c.origin + " using " + c.hint
+ tk.MustExec(sql)
+ res := tk.MustQuery(`show bindings`).Rows()
+
+ require.Equal(t, len(res), 1)
+ require.Equal(t, len(res[0]), 11)
+ drop := fmt.Sprintf("drop binding for sql digest '%s'", res[0][9])
+ tk.MustExec(drop)
+ require.NoError(t, h.GCBindRecord())
+ tk.MustQuery("show bindings").Check(testkit.Rows())
+ }
+
+ // exception cases
+ tk.MustGetErrMsg(fmt.Sprintf("drop binding for sql digest '%s'", "1"), "can't find any binding for '1'")
+ tk.MustGetErrMsg(fmt.Sprintf("drop binding for sql digest '%s'", ""), "sql digest is empty")
+}
diff --git a/bindinfo/capture_test.go b/bindinfo/capture_test.go
index bff6b01045c0b..d1f375a6b63d7 100644
--- a/bindinfo/capture_test.go
+++ b/bindinfo/capture_test.go
@@ -22,9 +22,11 @@ import (
"github.com/pingcap/tidb/bindinfo"
"github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/domain"
+ "github.com/pingcap/tidb/parser"
"github.com/pingcap/tidb/parser/auth"
"github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/testkit"
+ utilparser "github.com/pingcap/tidb/util/parser"
"github.com/pingcap/tidb/util/stmtsummary"
"github.com/stretchr/testify/require"
"go.opencensus.io/stats/view"
@@ -397,7 +399,7 @@ func TestConcurrentCapture(t *testing.T) {
// Simulate an existing binding generated by concurrent CREATE BINDING, which has not been synchronized to current tidb-server yet.
// Actually, it is more common to be generated by concurrent baseline capture, I use Manual just for simpler test verification.
tk.MustExec("insert into mysql.bind_info values('select * from `test` . `t`', 'select * from `test` . `t`', '', 'enabled', '2000-01-01 09:00:00', '2000-01-01 09:00:00', '', '','" +
- bindinfo.Manual + "')")
+ bindinfo.Manual + "', '', '')")
tk.MustQuery("select original_sql, source from mysql.bind_info where source != 'builtin'").Check(testkit.Rows(
"select * from `test` . `t` manual",
))
@@ -1011,5 +1013,11 @@ func TestCaptureHints(t *testing.T) {
res := tk.MustQuery(`show global bindings`).Rows()
require.Equal(t, len(res), 1) // this query is captured, and
require.True(t, strings.Contains(res[0][1].(string), capCase.hint)) // the binding contains the expected hint
+ // test sql digest
+ parser4binding := parser.New()
+ originNode, err := parser4binding.ParseOneStmt(capCase.query, "utf8mb4", "utf8mb4_general_ci")
+ require.NoError(t, err)
+ _, sqlDigestWithDB := parser.NormalizeDigest(utilparser.RestoreWithDefaultDB(originNode, "test", capCase.query))
+ require.Equal(t, res[0][9], sqlDigestWithDB.String())
}
}
diff --git a/bindinfo/handle.go b/bindinfo/handle.go
index f4a9d372e9d85..59919e2b5ad85 100644
--- a/bindinfo/handle.go
+++ b/bindinfo/handle.go
@@ -146,7 +146,7 @@ func (h *BindHandle) Update(fullLoad bool) (err error) {
ctx := kv.WithInternalSourceType(context.Background(), kv.InternalTxnBindInfo)
// No need to acquire the session context lock for ExecRestrictedSQL, it
// uses another background session.
- rows, _, err := exec.ExecRestrictedSQL(ctx, nil, `SELECT original_sql, bind_sql, default_db, status, create_time, update_time, charset, collation, source
+ rows, _, err := exec.ExecRestrictedSQL(ctx, nil, `SELECT original_sql, bind_sql, default_db, status, create_time, update_time, charset, collation, source, sql_digest, plan_digest
FROM mysql.bind_info WHERE update_time > %? ORDER BY update_time, create_time`, updateTime)
if err != nil {
@@ -261,7 +261,7 @@ func (h *BindHandle) CreateBindRecord(sctx sessionctx.Context, record *BindRecor
record.Bindings[i].UpdateTime = now
// Insert the BindRecord to the storage.
- _, err = exec.ExecuteInternal(ctx, `INSERT INTO mysql.bind_info VALUES (%?,%?, %?, %?, %?, %?, %?, %?, %?)`,
+ _, err = exec.ExecuteInternal(ctx, `INSERT INTO mysql.bind_info VALUES (%?,%?, %?, %?, %?, %?, %?, %?, %?, %?, %?)`,
record.OriginalSQL,
record.Bindings[i].BindSQL,
record.Db,
@@ -271,6 +271,8 @@ func (h *BindHandle) CreateBindRecord(sctx sessionctx.Context, record *BindRecor
record.Bindings[i].Charset,
record.Bindings[i].Collation,
record.Bindings[i].Source,
+ record.Bindings[i].SQLDigest,
+ record.Bindings[i].PlanDigest,
)
if err != nil {
return err
@@ -349,8 +351,18 @@ func (h *BindHandle) AddBindRecord(sctx sessionctx.Context, record *BindRecord)
}
record.Bindings[i].UpdateTime = now
+ if record.Bindings[i].SQLDigest == "" {
+ parser4binding := parser.New()
+ var originNode ast.StmtNode
+ originNode, err = parser4binding.ParseOneStmt(record.OriginalSQL, record.Bindings[i].Charset, record.Bindings[i].Collation)
+ if err != nil {
+ return err
+ }
+ _, sqlDigestWithDB := parser.NormalizeDigest(utilparser.RestoreWithDefaultDB(originNode, record.Db, record.OriginalSQL))
+ record.Bindings[i].SQLDigest = sqlDigestWithDB.String()
+ }
// Insert the BindRecord to the storage.
- _, err = exec.ExecuteInternal(ctx, `INSERT INTO mysql.bind_info VALUES (%?, %?, %?, %?, %?, %?, %?, %?, %?)`,
+ _, err = exec.ExecuteInternal(ctx, `INSERT INTO mysql.bind_info VALUES (%?, %?, %?, %?, %?, %?, %?, %?, %?, %?, %?)`,
record.OriginalSQL,
record.Bindings[i].BindSQL,
record.Db,
@@ -360,6 +372,8 @@ func (h *BindHandle) AddBindRecord(sctx sessionctx.Context, record *BindRecord)
record.Bindings[i].Charset,
record.Bindings[i].Collation,
record.Bindings[i].Source,
+ record.Bindings[i].SQLDigest,
+ record.Bindings[i].PlanDigest,
)
if err != nil {
return err
@@ -423,6 +437,15 @@ func (h *BindHandle) DropBindRecord(originalSQL, db string, binding *Binding) (d
return h.sctx.Context.GetSessionVars().StmtCtx.AffectedRows(), nil
}
+// DropBindRecordByDigest drop BindRecord to the storage and BindRecord int the cache.
+func (h *BindHandle) DropBindRecordByDigest(sqlDigest string) (deletedRows uint64, err error) {
+ oldRecord, err := h.GetBindRecordBySQLDigest(sqlDigest)
+ if err != nil {
+ return 0, err
+ }
+ return h.DropBindRecord(oldRecord.OriginalSQL, strings.ToLower(oldRecord.Db), nil)
+}
+
// SetBindRecordStatus set a BindRecord's status to the storage and bind cache.
func (h *BindHandle) SetBindRecordStatus(originalSQL string, binding *Binding, newStatus string) (ok bool, err error) {
h.bindInfo.Lock()
@@ -510,6 +533,15 @@ func (h *BindHandle) SetBindRecordStatus(originalSQL string, binding *Binding, n
return
}
+// SetBindRecordStatusByDigest set a BindRecord's status to the storage and bind cache.
+func (h *BindHandle) SetBindRecordStatusByDigest(newStatus, sqlDigest string) (ok bool, err error) {
+ oldRecord, err := h.GetBindRecordBySQLDigest(sqlDigest)
+ if err != nil {
+ return false, err
+ }
+ return h.SetBindRecordStatus(oldRecord.OriginalSQL, nil, newStatus)
+}
+
// GCBindRecord physically removes the deleted bind records in mysql.bind_info.
func (h *BindHandle) GCBindRecord() (err error) {
h.bindInfo.Lock()
@@ -644,6 +676,11 @@ func (h *BindHandle) GetBindRecord(hash, normdOrigSQL, db string) *BindRecord {
return h.bindInfo.Load().(*bindCache).GetBindRecord(hash, normdOrigSQL, db)
}
+// GetBindRecordBySQLDigest returns the BindRecord of the sql digest.
+func (h *BindHandle) GetBindRecordBySQLDigest(sqlDigest string) (*BindRecord, error) {
+ return h.bindInfo.Load().(*bindCache).GetBindRecordBySQLDigest(sqlDigest)
+}
+
// GetAllBindRecord returns all bind records in cache.
func (h *BindHandle) GetAllBindRecord() (bindRecords []*BindRecord) {
return h.bindInfo.Load().(*bindCache).GetAllBindRecords()
@@ -680,6 +717,8 @@ func (h *BindHandle) newBindRecord(row chunk.Row) (string, *BindRecord, error) {
Charset: row.GetString(6),
Collation: row.GetString(7),
Source: row.GetString(8),
+ SQLDigest: row.GetString(9),
+ PlanDigest: row.GetString(10),
}
bindRecord := &BindRecord{
OriginalSQL: row.GetString(0),
@@ -900,6 +939,7 @@ func (h *BindHandle) CaptureBaselines() {
Charset: charset,
Collation: collation,
Source: Capture,
+ SQLDigest: digest.String(),
}
// We don't need to pass the `sctx` because the BindSQL has been validated already.
err = h.CreateBindRecord(nil, &BindRecord{OriginalSQL: normalizedSQL, Db: dbName, Bindings: []Binding{binding}})
@@ -940,12 +980,12 @@ func getHintsForSQL(sctx sessionctx.Context, sql string) (string, error) {
}
// GenerateBindSQL generates binding sqls from stmt node and plan hints.
-func GenerateBindSQL(ctx context.Context, stmtNode ast.StmtNode, planHint string, captured bool, defaultDB string) string {
+func GenerateBindSQL(ctx context.Context, stmtNode ast.StmtNode, planHint string, skipCheckIfHasParam bool, defaultDB string) string {
// If would be nil for very simple cases such as point get, we do not need to evolve for them.
if planHint == "" {
return ""
}
- if !captured {
+ if !skipCheckIfHasParam {
paramChecker := ¶mMarkerChecker{}
stmtNode.Accept(paramChecker)
// We need to evolve on current sql, but we cannot restore values for paramMarkers yet,
@@ -1121,6 +1161,7 @@ func (h *BindHandle) getRunningDuration(sctx sessionctx.Context, db, sql string,
}
ctx, cancelFunc := context.WithCancel(ctx)
timer := time.NewTimer(maxTime)
+ defer timer.Stop()
resultChan := make(chan error)
startTime := time.Now()
go runSQL(ctx, sctx, sql, resultChan)
diff --git a/bindinfo/handle_test.go b/bindinfo/handle_test.go
index 01ff0628feb5c..ffea398781f8b 100644
--- a/bindinfo/handle_test.go
+++ b/bindinfo/handle_test.go
@@ -107,7 +107,7 @@ func TestBindingLastUpdateTimeWithInvalidBind(t *testing.T) {
require.Equal(t, updateTime0, "0000-00-00 00:00:00")
tk.MustExec("insert into mysql.bind_info values('select * from `test` . `t`', 'select * from `test` . `t` use index(`idx`)', 'test', 'enabled', '2000-01-01 09:00:00', '2000-01-01 09:00:00', '', '','" +
- bindinfo.Manual + "')")
+ bindinfo.Manual + "', '', '')")
tk.MustExec("use test")
tk.MustExec("drop table if exists t")
tk.MustExec("create table t(a int)")
@@ -137,8 +137,9 @@ func TestBindParse(t *testing.T) {
charset := "utf8mb4"
collation := "utf8mb4_bin"
source := bindinfo.Manual
- sql := fmt.Sprintf(`INSERT INTO mysql.bind_info(original_sql,bind_sql,default_db,status,create_time,update_time,charset,collation,source) VALUES ('%s', '%s', '%s', '%s', NOW(), NOW(),'%s', '%s', '%s')`,
- originSQL, bindSQL, defaultDb, status, charset, collation, source)
+ mockDigest := "0f644e22c38ecc71d4592c52df127df7f86b6ca7f7c0ee899113b794578f9396"
+ sql := fmt.Sprintf(`INSERT INTO mysql.bind_info(original_sql,bind_sql,default_db,status,create_time,update_time,charset,collation,source, sql_digest, plan_digest) VALUES ('%s', '%s', '%s', '%s', NOW(), NOW(),'%s', '%s', '%s', '%s', '%s')`,
+ originSQL, bindSQL, defaultDb, status, charset, collation, source, mockDigest, mockDigest)
tk.MustExec(sql)
bindHandle := bindinfo.NewBindHandle(tk.Session())
err := bindHandle.Update(true)
@@ -221,7 +222,7 @@ func TestEvolveInvalidBindings(t *testing.T) {
tk.MustExec("create global binding for select * from t where a > 10 using select /*+ USE_INDEX(t) */ * from t where a > 10")
// Manufacture a rejected binding by hacking mysql.bind_info.
tk.MustExec("insert into mysql.bind_info values('select * from test . t where a > ?', 'SELECT /*+ USE_INDEX(t,idx_a) */ * FROM test.t WHERE a > 10', 'test', 'rejected', '2000-01-01 09:00:00', '2000-01-01 09:00:00', '', '','" +
- bindinfo.Manual + "')")
+ bindinfo.Manual + "', '', '')")
tk.MustQuery("select bind_sql, status from mysql.bind_info where source != 'builtin'").Sort().Check(testkit.Rows(
"SELECT /*+ USE_INDEX(`t` )*/ * FROM `test`.`t` WHERE `a` > 10 enabled",
"SELECT /*+ USE_INDEX(t,idx_a) */ * FROM test.t WHERE a > 10 rejected",
@@ -242,6 +243,8 @@ func TestEvolveInvalidBindings(t *testing.T) {
require.Equal(t, "SELECT /*+ USE_INDEX(t,idx_a) */ * FROM test.t WHERE a > 10", rows[1][1])
status = rows[1][3].(string)
require.True(t, status == bindinfo.Enabled || status == bindinfo.Rejected)
+ _, sqlDigestWithDB := parser.NormalizeDigest("select * from test.t where a > 10") // test sqlDigest if exists after add columns to mysql.bind_info
+ require.Equal(t, rows[0][9], sqlDigestWithDB.String())
}
func TestSetBindingStatus(t *testing.T) {
@@ -319,9 +322,9 @@ func TestSetBindingStatusWithoutBindingInCache(t *testing.T) {
// Simulate creating bindings on other machines
tk.MustExec("insert into mysql.bind_info values('select * from `test` . `t` where `a` > ?', 'SELECT /*+ USE_INDEX(`t` `idx_a`)*/ * FROM `test`.`t` WHERE `a` > 10', 'test', 'deleted', '2000-01-01 09:00:00', '2000-01-01 09:00:00', '', '','" +
- bindinfo.Manual + "')")
+ bindinfo.Manual + "', '', '')")
tk.MustExec("insert into mysql.bind_info values('select * from `test` . `t` where `a` > ?', 'SELECT /*+ USE_INDEX(`t` `idx_a`)*/ * FROM `test`.`t` WHERE `a` > 10', 'test', 'enabled', '2000-01-02 09:00:00', '2000-01-02 09:00:00', '', '','" +
- bindinfo.Manual + "')")
+ bindinfo.Manual + "', '', '')")
dom.BindHandle().Clear()
tk.MustExec("set binding disabled for select * from t where a > 10")
tk.MustExec("admin reload bindings")
@@ -334,9 +337,9 @@ func TestSetBindingStatusWithoutBindingInCache(t *testing.T) {
// Simulate creating bindings on other machines
tk.MustExec("insert into mysql.bind_info values('select * from `test` . `t` where `a` > ?', 'SELECT * FROM `test`.`t` WHERE `a` > 10', 'test', 'deleted', '2000-01-01 09:00:00', '2000-01-01 09:00:00', '', '','" +
- bindinfo.Manual + "')")
+ bindinfo.Manual + "', '', '')")
tk.MustExec("insert into mysql.bind_info values('select * from `test` . `t` where `a` > ?', 'SELECT * FROM `test`.`t` WHERE `a` > 10', 'test', 'disabled', '2000-01-02 09:00:00', '2000-01-02 09:00:00', '', '','" +
- bindinfo.Manual + "')")
+ bindinfo.Manual + "', '', '')")
dom.BindHandle().Clear()
tk.MustExec("set binding enabled for select * from t where a > 10")
tk.MustExec("admin reload bindings")
diff --git a/bindinfo/session_handle.go b/bindinfo/session_handle.go
index e6baebe3ea960..27b8168ef8e17 100644
--- a/bindinfo/session_handle.go
+++ b/bindinfo/session_handle.go
@@ -33,13 +33,12 @@ import (
// SessionHandle is used to handle all session sql bind operations.
type SessionHandle struct {
- ch *bindCache
- parser *parser.Parser
+ ch *bindCache
}
// NewSessionBindHandle creates a new SessionBindHandle.
-func NewSessionBindHandle(parser *parser.Parser) *SessionHandle {
- sessionHandle := &SessionHandle{parser: parser}
+func NewSessionBindHandle() *SessionHandle {
+ sessionHandle := &SessionHandle{}
sessionHandle.ch = newBindCache()
return sessionHandle
}
@@ -98,11 +97,25 @@ func (h *SessionHandle) DropBindRecord(originalSQL, db string, binding *Binding)
return nil
}
+// DropBindRecordByDigest drop BindRecord in the cache.
+func (h *SessionHandle) DropBindRecordByDigest(sqlDigest string) error {
+ oldRecord, err := h.GetBindRecordBySQLDigest(sqlDigest)
+ if err != nil {
+ return err
+ }
+ return h.DropBindRecord(oldRecord.OriginalSQL, strings.ToLower(oldRecord.Db), nil)
+}
+
// GetBindRecord return the BindMeta of the (normdOrigSQL,db) if BindMeta exist.
func (h *SessionHandle) GetBindRecord(hash, normdOrigSQL, db string) *BindRecord {
return h.ch.GetBindRecord(hash, normdOrigSQL, db)
}
+// GetBindRecordBySQLDigest return all BindMeta corresponding to sqlDigest.
+func (h *SessionHandle) GetBindRecordBySQLDigest(sqlDigest string) (*BindRecord, error) {
+ return h.ch.GetBindRecordBySQLDigest(sqlDigest)
+}
+
// GetAllBindRecord return all session bind info.
func (h *SessionHandle) GetAllBindRecord() (bindRecords []*BindRecord) {
return h.ch.GetAllBindRecords()
diff --git a/bindinfo/session_handle_test.go b/bindinfo/session_handle_test.go
index a60f8ff41cd12..0b8f929d1d215 100644
--- a/bindinfo/session_handle_test.go
+++ b/bindinfo/session_handle_test.go
@@ -219,7 +219,7 @@ func TestBaselineDBLowerCase(t *testing.T) {
// Simulate existing bindings with upper case default_db.
tk.MustExec("insert into mysql.bind_info values('select * from `spm` . `t`', 'select * from `spm` . `t`', 'SPM', 'enabled', '2000-01-01 09:00:00', '2000-01-01 09:00:00', '', '','" +
- bindinfo.Manual + "')")
+ bindinfo.Manual + "', '', '')")
tk.MustQuery("select original_sql, default_db from mysql.bind_info where original_sql = 'select * from `spm` . `t`'").Check(testkit.Rows(
"select * from `spm` . `t` SPM",
))
@@ -237,7 +237,7 @@ func TestBaselineDBLowerCase(t *testing.T) {
utilCleanBindingEnv(tk, dom)
// Simulate existing bindings with upper case default_db.
tk.MustExec("insert into mysql.bind_info values('select * from `spm` . `t`', 'select * from `spm` . `t`', 'SPM', 'enabled', '2000-01-01 09:00:00', '2000-01-01 09:00:00', '', '','" +
- bindinfo.Manual + "')")
+ bindinfo.Manual + "', '', '')")
tk.MustQuery("select original_sql, default_db from mysql.bind_info where original_sql = 'select * from `spm` . `t`'").Check(testkit.Rows(
"select * from `spm` . `t` SPM",
))
@@ -274,13 +274,13 @@ func TestShowGlobalBindings(t *testing.T) {
require.Len(t, rows, 0)
// Simulate existing bindings in the mysql.bind_info.
tk.MustExec("insert into mysql.bind_info values('select * from `spm` . `t`', 'select * from `spm` . `t` USE INDEX (`a`)', 'SPM', 'enabled', '2000-01-01 09:00:00', '2000-01-01 09:00:00', '', '','" +
- bindinfo.Manual + "')")
+ bindinfo.Manual + "', '', '')")
tk.MustExec("insert into mysql.bind_info values('select * from `spm` . `t0`', 'select * from `spm` . `t0` USE INDEX (`a`)', 'SPM', 'enabled', '2000-01-02 09:00:00', '2000-01-02 09:00:00', '', '','" +
- bindinfo.Manual + "')")
+ bindinfo.Manual + "', '', '')")
tk.MustExec("insert into mysql.bind_info values('select * from `spm` . `t`', 'select /*+ use_index(`t` `a`)*/ * from `spm` . `t`', 'SPM', 'enabled', '2000-01-03 09:00:00', '2000-01-03 09:00:00', '', '','" +
- bindinfo.Manual + "')")
+ bindinfo.Manual + "', '', '')")
tk.MustExec("insert into mysql.bind_info values('select * from `spm` . `t0`', 'select /*+ use_index(`t0` `a`)*/ * from `spm` . `t0`', 'SPM', 'enabled', '2000-01-04 09:00:00', '2000-01-04 09:00:00', '', '','" +
- bindinfo.Manual + "')")
+ bindinfo.Manual + "', '', '')")
tk.MustExec("admin reload bindings")
rows = tk.MustQuery("show global bindings").Rows()
require.Len(t, rows, 4)
diff --git a/br/COMPATIBILITY_TEST.md b/br/COMPATIBILITY_TEST.md
index b5580835baee8..44984ebcd2bfa 100644
--- a/br/COMPATIBILITY_TEST.md
+++ b/br/COMPATIBILITY_TEST.md
@@ -3,7 +3,7 @@
## Background
We had some incompatibility issues in the past, which made BR cannot restore backed up data in some situations.
-So we need a test workflow to check the compatiblity.
+So we need a test workflow to check the compatibility.
## Goal
diff --git a/br/cmd/br/restore.go b/br/cmd/br/restore.go
index 5f91bee91c6a9..e826df0e59e77 100644
--- a/br/cmd/br/restore.go
+++ b/br/cmd/br/restore.go
@@ -199,6 +199,5 @@ func newStreamRestoreCommand() *cobra.Command {
}
task.DefineFilterFlags(command, filterOutSysAndMemTables, true)
task.DefineStreamRestoreFlags(command)
- command.Hidden = true
return command
}
diff --git a/br/cmd/tidb-lightning-ctl/main.go b/br/cmd/tidb-lightning-ctl/main.go
index 4dc70af929083..b0d20ae813734 100644
--- a/br/cmd/tidb-lightning-ctl/main.go
+++ b/br/cmd/tidb-lightning-ctl/main.go
@@ -88,7 +88,7 @@ func run() error {
if err != nil {
return err
}
- if err = cfg.TiDB.Security.RegisterMySQL(); err != nil {
+ if err = cfg.TiDB.Security.BuildTLSConfig(); err != nil {
return err
}
diff --git a/br/pkg/aws/BUILD.bazel b/br/pkg/aws/BUILD.bazel
index 6f33637abc5f3..28f58d2a1e1ad 100644
--- a/br/pkg/aws/BUILD.bazel
+++ b/br/pkg/aws/BUILD.bazel
@@ -25,5 +25,9 @@ go_test(
name = "aws_test",
srcs = ["ebs_test.go"],
embed = [":aws"],
- deps = ["@com_github_stretchr_testify//require"],
+ deps = [
+ "@com_github_aws_aws_sdk_go//aws",
+ "@com_github_aws_aws_sdk_go//service/ec2",
+ "@com_github_stretchr_testify//require",
+ ],
)
diff --git a/br/pkg/aws/ebs.go b/br/pkg/aws/ebs.go
index 9ded291e1f9b9..fb96b95578ffb 100644
--- a/br/pkg/aws/ebs.go
+++ b/br/pkg/aws/ebs.go
@@ -307,17 +307,9 @@ func (e *EC2Session) WaitVolumesCreated(volumeIDMap map[string]string, progress
return 0, errors.Trace(err)
}
- var unfinishedVolumes []*string
- for _, volume := range resp.Volumes {
- if *volume.State == ec2.VolumeStateAvailable {
- log.Info("volume is available", zap.String("id", *volume.SnapshotId))
- totalVolumeSize += *volume.Size
- progress.Inc()
- } else {
- log.Debug("volume creating...", zap.Stringer("volume", volume))
- unfinishedVolumes = append(unfinishedVolumes, volume.SnapshotId)
- }
- }
+ createdVolumeSize, unfinishedVolumes := e.HandleDescribeVolumesResponse(resp)
+ progress.IncBy(int64(len(pendingVolumes) - len(unfinishedVolumes)))
+ totalVolumeSize += createdVolumeSize
pendingVolumes = unfinishedVolumes
}
log.Info("all pending volume are created.")
@@ -357,3 +349,20 @@ func (e *EC2Session) DeleteVolumes(volumeIDMap map[string]string) {
func ec2Tag(key, val string) *ec2.Tag {
return &ec2.Tag{Key: &key, Value: &val}
}
+
+func (e *EC2Session) HandleDescribeVolumesResponse(resp *ec2.DescribeVolumesOutput) (int64, []*string) {
+ totalVolumeSize := int64(0)
+
+ var unfinishedVolumes []*string
+ for _, volume := range resp.Volumes {
+ if *volume.State == ec2.VolumeStateAvailable {
+ log.Info("volume is available", zap.String("id", *volume.VolumeId))
+ totalVolumeSize += *volume.Size
+ } else {
+ log.Debug("volume creating...", zap.Stringer("volume", volume))
+ unfinishedVolumes = append(unfinishedVolumes, volume.VolumeId)
+ }
+ }
+
+ return totalVolumeSize, unfinishedVolumes
+}
diff --git a/br/pkg/aws/ebs_test.go b/br/pkg/aws/ebs_test.go
index 695f31a73c477..d7f3be2a4a4a1 100644
--- a/br/pkg/aws/ebs_test.go
+++ b/br/pkg/aws/ebs_test.go
@@ -16,26 +16,63 @@ package aws
import (
"testing"
+ awsapi "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/service/ec2"
"github.com/stretchr/testify/require"
)
func TestEC2SessionExtractSnapProgress(t *testing.T) {
- strPtr := func(s string) *string {
- return &s
- }
tests := []struct {
str *string
want int64
}{
{nil, 0},
- {strPtr("12.12%"), 12},
- {strPtr("44.99%"), 44},
- {strPtr(" 89.89% "), 89},
- {strPtr("100%"), 100},
- {strPtr("111111%"), 100},
+ {awsapi.String("12.12%"), 12},
+ {awsapi.String("44.99%"), 44},
+ {awsapi.String(" 89.89% "), 89},
+ {awsapi.String("100%"), 100},
+ {awsapi.String("111111%"), 100},
}
e := &EC2Session{}
for _, tt := range tests {
require.Equal(t, tt.want, e.extractSnapProgress(tt.str))
}
}
+
+func createVolume(snapshotId string, volumeId string, state string) *ec2.Volume {
+ return &ec2.Volume{
+ Attachments: nil,
+ AvailabilityZone: awsapi.String("us-west-2"),
+ CreateTime: nil,
+ Encrypted: awsapi.Bool(true),
+ FastRestored: awsapi.Bool(true),
+ Iops: awsapi.Int64(3000),
+ KmsKeyId: nil,
+ MultiAttachEnabled: awsapi.Bool(true),
+ OutpostArn: awsapi.String("arn:12342"),
+ Size: awsapi.Int64(1),
+ SnapshotId: awsapi.String(snapshotId),
+ State: awsapi.String(state),
+ Tags: nil,
+ Throughput: nil,
+ VolumeId: awsapi.String(volumeId),
+ VolumeType: awsapi.String("gp3"),
+ }
+}
+func TestHandleDescribeVolumesResponse(t *testing.T) {
+ curentVolumesStates := &ec2.DescribeVolumesOutput{
+ NextToken: awsapi.String("fake token"),
+ Volumes: []*ec2.Volume{
+ createVolume("snap-0873674883", "vol-98768979", "available"),
+ createVolume("snap-0873674883", "vol-98768979", "creating"),
+ createVolume("snap-0873674883", "vol-98768979", "available"),
+ createVolume("snap-0873674883", "vol-98768979", "available"),
+ createVolume("snap-0873674883", "vol-98768979", "available"),
+ },
+ }
+
+ e := &EC2Session{}
+ createdVolumeSize, unfinishedVolumes := e.HandleDescribeVolumesResponse(curentVolumesStates)
+ require.Equal(t, int64(4), createdVolumeSize)
+ require.Equal(t, 1, len(unfinishedVolumes))
+}
diff --git a/br/pkg/backup/BUILD.bazel b/br/pkg/backup/BUILD.bazel
index c8cad292f4607..65ff4288987a1 100644
--- a/br/pkg/backup/BUILD.bazel
+++ b/br/pkg/backup/BUILD.bazel
@@ -12,6 +12,7 @@ go_library(
importpath = "github.com/pingcap/tidb/br/pkg/backup",
visibility = ["//visibility:public"],
deps = [
+ "//br/pkg/checkpoint",
"//br/pkg/checksum",
"//br/pkg/conn",
"//br/pkg/conn/util",
diff --git a/br/pkg/backup/client.go b/br/pkg/backup/client.go
index 6ce3d24b0e209..0241789e65103 100644
--- a/br/pkg/backup/client.go
+++ b/br/pkg/backup/client.go
@@ -3,7 +3,9 @@
package backup
import (
+ "bytes"
"context"
+ "encoding/base64"
"encoding/hex"
"encoding/json"
"fmt"
@@ -21,6 +23,7 @@ import (
"github.com/pingcap/kvproto/pkg/kvrpcpb"
"github.com/pingcap/kvproto/pkg/metapb"
"github.com/pingcap/log"
+ "github.com/pingcap/tidb/br/pkg/checkpoint"
"github.com/pingcap/tidb/br/pkg/conn"
connutil "github.com/pingcap/tidb/br/pkg/conn/util"
berrors "github.com/pingcap/tidb/br/pkg/errors"
@@ -90,18 +93,31 @@ type Client struct {
backend *backuppb.StorageBackend
apiVersion kvrpcpb.APIVersion
+ cipher *backuppb.CipherInfo
+ checkpointMeta *checkpoint.CheckpointMetadata
+ checkpointRunner *checkpoint.CheckpointRunner
+
gcTTL int64
}
// NewBackupClient returns a new backup client.
-func NewBackupClient(ctx context.Context, mgr ClientMgr) (*Client, error) {
+func NewBackupClient(ctx context.Context, mgr ClientMgr) *Client {
log.Info("new backup client")
pdClient := mgr.GetPDClient()
clusterID := pdClient.GetClusterID(ctx)
return &Client{
clusterID: clusterID,
mgr: mgr,
- }, nil
+
+ cipher: nil,
+ checkpointMeta: nil,
+ checkpointRunner: nil,
+ }
+}
+
+// SetCipher for checkpoint to encrypt sst file's metadata
+func (bc *Client) SetCipher(cipher *backuppb.CipherInfo) {
+ bc.cipher = cipher
}
// GetTS gets a new timestamp from PD.
@@ -120,6 +136,11 @@ func (bc *Client) GetTS(ctx context.Context, duration time.Duration, ts uint64)
backupTS uint64
err error
)
+
+ if bc.checkpointMeta != nil {
+ log.Info("reuse checkpoint BackupTS", zap.Uint64("backup-ts", bc.checkpointMeta.BackupTS))
+ return bc.checkpointMeta.BackupTS, nil
+ }
if ts > 0 {
backupTS = ts
} else {
@@ -160,6 +181,15 @@ func (bc *Client) SetLockFile(ctx context.Context) error {
"This file exists to remind other backup jobs won't use this path"))
}
+// GetSafePointID get the gc-safe-point's service-id from either checkpoint or immediate generation
+func (bc *Client) GetSafePointID() string {
+ if bc.checkpointMeta != nil {
+ log.Info("reuse the checkpoint gc-safepoint service id", zap.String("service-id", bc.checkpointMeta.GCServiceId))
+ return bc.checkpointMeta.GCServiceId
+ }
+ return utils.MakeSafePointID()
+}
+
// SetGCTTL set gcTTL for client.
func (bc *Client) SetGCTTL(ttl int64) {
if ttl <= 0 {
@@ -204,13 +234,145 @@ func (bc *Client) SetStorageAndCheckNotInUse(
"there may be some backup files in the path already, "+
"please specify a correct backup directory!", bc.storage.URI()+"/"+metautil.MetaFile)
}
- err = CheckBackupStorageIsLocked(ctx, bc.storage)
+ // use checkpoint mode if checkpoint meta exists
+ exist, err = bc.storage.FileExists(ctx, checkpoint.CheckpointMetaPath)
if err != nil {
- return err
+ return errors.Annotatef(err, "error occurred when checking %s file", checkpoint.CheckpointMetaPath)
+ }
+
+ // if there is no checkpoint meta, then checkpoint mode is not used
+ // or it is the first execution
+ if exist {
+ // load the config's hash to keep the config unchanged.
+ log.Info("load the checkpoint meta, so the existence of lockfile is allowed.")
+ bc.checkpointMeta, err = checkpoint.LoadCheckpointMetadata(ctx, bc.storage)
+ if err != nil {
+ return errors.Annotatef(err, "error occurred when loading %s file", checkpoint.CheckpointMetaPath)
+ }
+ } else {
+ err = CheckBackupStorageIsLocked(ctx, bc.storage)
+ if err != nil {
+ return err
+ }
+ }
+
+ return nil
+}
+
+// CheckCheckpoint check whether the configs are the same
+func (bc *Client) CheckCheckpoint(hash []byte) error {
+ if bc.checkpointMeta != nil && !bytes.Equal(bc.checkpointMeta.ConfigHash, hash) {
+ return errors.Annotatef(berrors.ErrInvalidArgument, "failed to backup to %v, "+
+ "because the checkpoint mode is used, "+
+ "but the hashs of the configs are not the same. Please check the config",
+ bc.storage.URI(),
+ )
+ }
+
+ // first execution or not using checkpoint mode yet
+ // or using the same config can pass the check
+ return nil
+}
+
+func (bc *Client) GetCheckpointRunner() *checkpoint.CheckpointRunner {
+ return bc.checkpointRunner
+}
+
+// StartCheckpointMeta will
+// 1. saves the initial status into the external storage;
+// 2. load the checkpoint data from external storage
+// 3. start checkpoint runner
+func (bc *Client) StartCheckpointRunner(
+ ctx context.Context,
+ cfgHash []byte,
+ backupTS uint64,
+ ranges []rtree.Range,
+ safePointID string,
+ progressCallBack func(ProgressUnit),
+) (err error) {
+ if bc.checkpointMeta == nil {
+ bc.checkpointMeta = &checkpoint.CheckpointMetadata{
+ GCServiceId: safePointID,
+ ConfigHash: cfgHash,
+ BackupTS: backupTS,
+ Ranges: ranges,
+ }
+
+ // sync the checkpoint meta to the external storage at first
+ if err := checkpoint.SaveCheckpointMetadata(ctx, bc.storage, bc.checkpointMeta); err != nil {
+ return errors.Trace(err)
+ }
+ } else {
+ // otherwise, the checkpoint meta is loaded from the external storage,
+ // no need to save it again
+ // besides, there are exist checkpoint data need to be loaded before start checkpoint runner
+ bc.checkpointMeta.CheckpointDataMap, err = bc.loadCheckpointRanges(ctx, progressCallBack)
+ if err != nil {
+ return errors.Trace(err)
+ }
}
+
+ bc.checkpointRunner = checkpoint.StartCheckpointRunner(ctx, bc.storage, bc.cipher)
return nil
}
+func (bc *Client) WaitForFinishCheckpoint() {
+ if bc.checkpointRunner != nil {
+ bc.checkpointRunner.WaitForFinish()
+ }
+}
+
+// GetProgressRange loads the checkpoint(finished) sub-ranges of the current range, and calculate its incompleted sub-ranges.
+func (bc *Client) GetProgressRange(r rtree.Range) (*rtree.ProgressRange, error) {
+ // use groupKey to distinguish different ranges
+ groupKey := base64.URLEncoding.EncodeToString(r.StartKey)
+ if bc.checkpointMeta != nil && len(bc.checkpointMeta.CheckpointDataMap) > 0 {
+ rangeTree, exists := bc.checkpointMeta.CheckpointDataMap[groupKey]
+ if exists {
+ incomplete := rangeTree.GetIncompleteRange(r.StartKey, r.EndKey)
+ delete(bc.checkpointMeta.CheckpointDataMap, groupKey)
+ return &rtree.ProgressRange{
+ Res: rangeTree,
+ Incomplete: incomplete,
+ Origin: r,
+ GroupKey: groupKey,
+ }, nil
+ }
+ }
+
+ // the origin range are not recorded in checkpoint
+ // return the default progress range
+ return &rtree.ProgressRange{
+ Res: rtree.NewRangeTree(),
+ Incomplete: []rtree.Range{
+ r,
+ },
+ Origin: r,
+ GroupKey: groupKey,
+ }, nil
+}
+
+// LoadCheckpointRange loads the checkpoint(finished) sub-ranges of the current range, and calculate its incompleted sub-ranges.
+func (bc *Client) loadCheckpointRanges(ctx context.Context, progressCallBack func(ProgressUnit)) (map[string]rtree.RangeTree, error) {
+ rangeDataMap := make(map[string]rtree.RangeTree)
+
+ pastDureTime, err := checkpoint.WalkCheckpointFile(ctx, bc.storage, bc.cipher, func(groupKey string, rg *rtree.Range) {
+ rangeTree, exists := rangeDataMap[groupKey]
+ if !exists {
+ rangeTree = rtree.NewRangeTree()
+ rangeDataMap[groupKey] = rangeTree
+ }
+ rangeTree.Put(rg.StartKey, rg.EndKey, rg.Files)
+ progressCallBack(RegionUnit)
+ })
+
+ // we should adjust start-time of the summary to `pastDureTime` earlier
+ log.Info("past cost time", zap.Duration("cost", pastDureTime))
+ summary.AdjustStartTimeToEarlierTime(pastDureTime)
+
+ return rangeDataMap, errors.Trace(err)
+}
+
// SetStorage sets ExternalStorage for client.
func (bc *Client) SetStorage(
ctx context.Context,
@@ -239,6 +401,22 @@ func (bc *Client) SetApiVersion(v kvrpcpb.APIVersion) {
bc.apiVersion = v
}
+// Client.BuildBackupRangeAndSchema calls BuildBackupRangeAndSchema,
+// if the checkpoint mode is used, return the ranges from checkpoint meta
+func (bc *Client) BuildBackupRangeAndSchema(
+ storage kv.Storage,
+ tableFilter filter.Filter,
+ backupTS uint64,
+ isFullBackup bool,
+) ([]rtree.Range, *Schemas, []*backuppb.PlacementPolicy, error) {
+ if bc.checkpointMeta == nil {
+ return BuildBackupRangeAndSchema(storage, tableFilter, backupTS, isFullBackup, true)
+ }
+ _, schemas, policies, err := BuildBackupRangeAndSchema(storage, tableFilter, backupTS, isFullBackup, false)
+ schemas.SetCheckpointChecksum(bc.checkpointMeta.CheckpointChecksum)
+ return bc.checkpointMeta.Ranges, schemas, policies, errors.Trace(err)
+}
+
// CheckBackupStorageIsLocked checks whether backups is locked.
// which means we found other backup progress already write
// some data files into the same backup directory or cloud prefix.
@@ -252,7 +430,7 @@ func CheckBackupStorageIsLocked(ctx context.Context, s storage.ExternalStorage)
// should return error to break the walkDir when found lock file and other .sst files.
if strings.HasSuffix(path, ".sst") {
return errors.Annotatef(berrors.ErrInvalidArgument, "backup lock file and sst file exist in %v, "+
- "there are some backup files in the path already, "+
+ "there are some backup files in the path already, but hasn't checkpoint metadata, "+
"please specify a correct backup directory!", s.URI()+"/"+metautil.LockFile)
}
return nil
@@ -290,10 +468,12 @@ func appendRanges(tbl *model.TableInfo, tblID int64) ([]kv.KeyRange, error) {
ranges = ranger.FullIntRange(false)
}
+ retRanges := make([]kv.KeyRange, 0, 1+len(tbl.Indices))
kvRanges, err := distsql.TableHandleRangesToKVRanges(nil, []int64{tblID}, tbl.IsCommonHandle, ranges, nil)
if err != nil {
return nil, errors.Trace(err)
}
+ retRanges = kvRanges.AppendSelfTo(retRanges)
for _, index := range tbl.Indices {
if index.State != model.StatePublic {
@@ -304,9 +484,9 @@ func appendRanges(tbl *model.TableInfo, tblID int64) ([]kv.KeyRange, error) {
if err != nil {
return nil, errors.Trace(err)
}
- kvRanges = append(kvRanges, idxRanges...)
+ retRanges = idxRanges.AppendSelfTo(retRanges)
}
- return kvRanges, nil
+ return retRanges, nil
}
// BuildBackupRangeAndSchema gets KV range and schema of tables.
@@ -317,6 +497,7 @@ func BuildBackupRangeAndSchema(
tableFilter filter.Filter,
backupTS uint64,
isFullBackup bool,
+ buildRange bool,
) ([]rtree.Range, *Schemas, []*backuppb.PlacementPolicy, error) {
snapshot := storage.GetSnapshot(kv.NewVersion(backupTS))
m := meta.NewSnapshotMeta(snapshot)
@@ -433,15 +614,17 @@ func BuildBackupRangeAndSchema(
backupSchemas.AddSchema(dbInfo, tableInfo)
- tableRanges, err := BuildTableRanges(tableInfo)
- if err != nil {
- return nil, nil, nil, errors.Trace(err)
- }
- for _, r := range tableRanges {
- ranges = append(ranges, rtree.Range{
- StartKey: r.StartKey,
- EndKey: r.EndKey,
- })
+ if buildRange {
+ tableRanges, err := BuildTableRanges(tableInfo)
+ if err != nil {
+ return nil, nil, nil, errors.Trace(err)
+ }
+ for _, r := range tableRanges {
+ ranges = append(ranges, rtree.Range{
+ StartKey: r.StartKey,
+ EndKey: r.EndKey,
+ })
+ }
}
}
}
@@ -602,10 +785,13 @@ func (bc *Client) BackupRanges(
id := id
req := request
req.StartKey, req.EndKey = r.StartKey, r.EndKey
-
+ pr, err := bc.GetProgressRange(r)
+ if err != nil {
+ return errors.Trace(err)
+ }
workerPool.ApplyOnErrorGroup(eg, func() error {
elctx := logutil.ContextWithField(ectx, logutil.RedactAny("range-sn", id))
- err := bc.BackupRange(elctx, req, metaWriter, progressCallBack)
+ err := bc.BackupRange(elctx, req, pr, metaWriter, progressCallBack)
if err != nil {
// The error due to context cancel, stack trace is meaningless, the stack shall be suspended (also clear)
if errors.Cause(err) == context.Canceled {
@@ -616,6 +802,7 @@ func (bc *Client) BackupRanges(
return nil
})
}
+
return eg.Wait()
}
@@ -623,7 +810,8 @@ func (bc *Client) BackupRanges(
// Returns an array of files backed up.
func (bc *Client) BackupRange(
ctx context.Context,
- req backuppb.BackupRequest,
+ request backuppb.BackupRequest,
+ progressRange *rtree.ProgressRange,
metaWriter *metautil.MetaWriter,
progressCallBack func(ProgressUnit),
) (err error) {
@@ -631,17 +819,17 @@ func (bc *Client) BackupRange(
defer func() {
elapsed := time.Since(start)
logutil.CL(ctx).Info("backup range completed",
- logutil.Key("startKey", req.StartKey), logutil.Key("endKey", req.EndKey),
+ logutil.Key("startKey", progressRange.Origin.StartKey), logutil.Key("endKey", progressRange.Origin.EndKey),
zap.Duration("take", elapsed))
- key := "range start:" + hex.EncodeToString(req.StartKey) + " end:" + hex.EncodeToString(req.EndKey)
+ key := "range start:" + hex.EncodeToString(progressRange.Origin.StartKey) + " end:" + hex.EncodeToString(progressRange.Origin.EndKey)
if err != nil {
summary.CollectFailureUnit(key, err)
}
}()
logutil.CL(ctx).Info("backup range started",
- logutil.Key("startKey", req.StartKey), logutil.Key("endKey", req.EndKey),
- zap.Uint64("rateLimit", req.RateLimit),
- zap.Uint32("concurrency", req.Concurrency))
+ logutil.Key("startKey", progressRange.Origin.StartKey), logutil.Key("endKey", progressRange.Origin.EndKey),
+ zap.Uint64("rateLimit", request.RateLimit),
+ zap.Uint32("concurrency", request.Concurrency))
var allStores []*metapb.Store
allStores, err = conn.GetAllTiKVStoresWithRetry(ctx, bc.mgr.GetPDClient(), connutil.SkipTiFlash)
@@ -650,35 +838,57 @@ func (bc *Client) BackupRange(
}
logutil.CL(ctx).Info("backup push down started")
- push := newPushDown(bc.mgr, len(allStores))
- results, err := push.pushBackup(ctx, req, allStores, progressCallBack)
- if err != nil {
- return errors.Trace(err)
+ // either the `incomplete` is origin range itself,
+ // or the `incomplete` is sub-ranges split by checkpoint of origin range
+ if len(progressRange.Incomplete) > 0 {
+ // don't make the origin request dirty,
+ // since fineGrainedBackup need to use it.
+ req := request
+ if len(progressRange.Incomplete) > 1 {
+ subRanges := make([]*kvrpcpb.KeyRange, 0, len(progressRange.Incomplete))
+ for _, r := range progressRange.Incomplete {
+ subRanges = append(subRanges, &kvrpcpb.KeyRange{
+ StartKey: r.StartKey,
+ EndKey: r.EndKey,
+ })
+ }
+ req.SubRanges = subRanges
+ } else {
+ // compatible with older version of TiKV
+ req.StartKey = progressRange.Incomplete[0].StartKey
+ req.EndKey = progressRange.Incomplete[0].EndKey
+ }
+
+ push := newPushDown(bc.mgr, len(allStores))
+ err = push.pushBackup(ctx, req, progressRange, allStores, bc.checkpointRunner, progressCallBack)
+ if err != nil {
+ return errors.Trace(err)
+ }
}
- logutil.CL(ctx).Info("backup push down completed", zap.Int("small-range-count", results.Len()))
+ logutil.CL(ctx).Info("backup push down completed", zap.Int("small-range-count", progressRange.Res.Len()))
// Find and backup remaining ranges.
// TODO: test fine grained backup.
- if err := bc.fineGrainedBackup(ctx, req, results, progressCallBack); err != nil {
+ if err := bc.fineGrainedBackup(ctx, request, progressRange, progressCallBack); err != nil {
return errors.Trace(err)
}
// update progress of range unit
progressCallBack(RangeUnit)
- if req.IsRawKv {
+ if request.IsRawKv {
logutil.CL(ctx).Info("raw ranges backed up",
- logutil.Key("startKey", req.StartKey),
- logutil.Key("endKey", req.EndKey),
- zap.String("cf", req.Cf))
+ logutil.Key("startKey", progressRange.Origin.StartKey),
+ logutil.Key("endKey", progressRange.Origin.EndKey),
+ zap.String("cf", request.Cf))
} else {
logutil.CL(ctx).Info("transactional range backup completed",
- zap.Reflect("StartTS", req.StartVersion),
- zap.Reflect("EndTS", req.EndVersion))
+ zap.Reflect("StartTS", request.StartVersion),
+ zap.Reflect("EndTS", request.EndVersion))
}
var ascendErr error
- results.Ascend(func(i btree.Item) bool {
+ progressRange.Res.Ascend(func(i btree.Item) bool {
r := i.(*rtree.Range)
for _, f := range r.Files {
summary.CollectSuccessUnit(summary.TotalKV, 1, f.TotalKvs)
@@ -697,7 +907,7 @@ func (bc *Client) BackupRange(
}
// Check if there are duplicated files.
- checkDupFiles(&results)
+ checkDupFiles(&progressRange.Res)
return nil
}
@@ -730,7 +940,7 @@ func (bc *Client) findRegionLeader(ctx context.Context, key []byte, isRawKv bool
func (bc *Client) fineGrainedBackup(
ctx context.Context,
req backuppb.BackupRequest,
- rangeTree rtree.RangeTree,
+ pr *rtree.ProgressRange,
progressCallBack func(ProgressUnit),
) error {
if span := opentracing.SpanFromContext(ctx); span != nil && span.Tracer() != nil {
@@ -757,7 +967,7 @@ func (bc *Client) fineGrainedBackup(
bo := tikv.NewBackoffer(ctx, backupFineGrainedMaxBackoff)
for {
// Step1, check whether there is any incomplete range
- incomplete := rangeTree.GetIncompleteRange(req.StartKey, req.EndKey)
+ incomplete := pr.Res.GetIncompleteRange(req.StartKey, req.EndKey)
if len(incomplete) == 0 {
return nil
}
@@ -825,7 +1035,18 @@ func (bc *Client) fineGrainedBackup(
logutil.Key("fine-grained-range-start", resp.StartKey),
logutil.Key("fine-grained-range-end", resp.EndKey),
)
- rangeTree.Put(resp.StartKey, resp.EndKey, resp.Files)
+ if bc.checkpointRunner != nil {
+ if err := bc.checkpointRunner.Append(
+ ctx,
+ pr.GroupKey,
+ resp.StartKey,
+ resp.EndKey,
+ resp.Files,
+ ); err != nil {
+ return errors.Annotate(err, "failed to flush checkpoint when fineGrainedBackup")
+ }
+ }
+ pr.Res.Put(resp.StartKey, resp.EndKey, resp.Files)
apiVersion := resp.ApiVersion
bc.SetApiVersion(apiVersion)
diff --git a/br/pkg/backup/client_test.go b/br/pkg/backup/client_test.go
index 76d885e04a201..592416e8ec03c 100644
--- a/br/pkg/backup/client_test.go
+++ b/br/pkg/backup/client_test.go
@@ -57,8 +57,7 @@ func createBackupSuite(t *testing.T) *testBackup {
mockMgr := &conn.Mgr{PdController: &pdutil.PdController{}}
mockMgr.SetPDClient(s.mockPDClient)
mockMgr.SetHTTP([]string{"test"}, nil)
- s.backupClient, err = backup.NewBackupClient(s.ctx, mockMgr)
- require.NoError(t, err)
+ s.backupClient = backup.NewBackupClient(s.ctx, mockMgr)
s.cluster, err = mock.NewCluster()
require.NoError(t, err)
diff --git a/br/pkg/backup/push.go b/br/pkg/backup/push.go
index 45c2b9acca01c..2ffffe690ffe5 100644
--- a/br/pkg/backup/push.go
+++ b/br/pkg/backup/push.go
@@ -13,6 +13,7 @@ import (
backuppb "github.com/pingcap/kvproto/pkg/brpb"
"github.com/pingcap/kvproto/pkg/errorpb"
"github.com/pingcap/kvproto/pkg/metapb"
+ "github.com/pingcap/tidb/br/pkg/checkpoint"
berrors "github.com/pingcap/tidb/br/pkg/errors"
"github.com/pingcap/tidb/br/pkg/logutil"
"github.com/pingcap/tidb/br/pkg/redact"
@@ -54,9 +55,11 @@ func newPushDown(mgr ClientMgr, capacity int) *pushDown {
func (push *pushDown) pushBackup(
ctx context.Context,
req backuppb.BackupRequest,
+ pr *rtree.ProgressRange,
stores []*metapb.Store,
+ checkpointRunner *checkpoint.CheckpointRunner,
progressCallBack func(ProgressUnit),
-) (rtree.RangeTree, error) {
+) error {
if span := opentracing.SpanFromContext(ctx); span != nil && span.Tracer() != nil {
span1 := span.Tracer().StartSpan("pushDown.pushBackup", opentracing.ChildOf(span.Context()))
defer span1.Finish()
@@ -64,10 +67,9 @@ func (push *pushDown) pushBackup(
}
// Push down backup tasks to all tikv instances.
- res := rtree.NewRangeTree()
failpoint.Inject("noop-backup", func(_ failpoint.Value) {
logutil.CL(ctx).Warn("skipping normal backup, jump to fine-grained backup, meow :3", logutil.Key("start-key", req.StartKey), logutil.Key("end-key", req.EndKey))
- failpoint.Return(res, nil)
+ failpoint.Return(nil)
})
wg := new(sync.WaitGroup)
@@ -84,7 +86,7 @@ func (push *pushDown) pushBackup(
// BR should be able to backup even some of stores disconnected.
// The regions managed by this store can be retried at fine-grained backup then.
logutil.CL(lctx).Warn("fail to connect store, skipping", zap.Error(err))
- return res, nil
+ return nil
}
wg.Add(1)
go func() {
@@ -125,7 +127,7 @@ func (push *pushDown) pushBackup(
store := respAndStore.GetStore()
if !ok {
// Finished.
- return res, nil
+ return nil
}
failpoint.Inject("backup-timeout-error", func(val failpoint.Value) {
msg := val.(string)
@@ -165,7 +167,19 @@ func (push *pushDown) pushBackup(
})
if resp.GetError() == nil {
// None error means range has been backuped successfully.
- res.Put(
+ if checkpointRunner != nil {
+ if err := checkpointRunner.Append(
+ ctx,
+ pr.GroupKey,
+ resp.StartKey,
+ resp.EndKey,
+ resp.Files,
+ ); err != nil {
+ // the error is only from flush operator
+ return errors.Annotate(err, "failed to flush checkpoint")
+ }
+ }
+ pr.Res.Put(
resp.GetStartKey(), resp.GetEndKey(), resp.GetFiles())
// Update progress
@@ -181,7 +195,7 @@ func (push *pushDown) pushBackup(
case *backuppb.Error_ClusterIdError:
logutil.CL(ctx).Error("backup occur cluster ID error", zap.Reflect("error", v))
- return res, errors.Annotatef(berrors.ErrKVClusterIDMismatch, "%v", errPb)
+ return errors.Annotatef(berrors.ErrKVClusterIDMismatch, "%v", errPb)
default:
if utils.MessageIsRetryableStorageError(errPb.GetMsg()) {
logutil.CL(ctx).Warn("backup occur storage error", zap.String("error", errPb.GetMsg()))
@@ -204,7 +218,7 @@ func (push *pushDown) pushBackup(
if len(errMsg) <= 0 {
errMsg = errPb.Msg
}
- return res, errors.Annotatef(berrors.ErrKVStorage, "error happen in store %v at %s: %s %s",
+ return errors.Annotatef(berrors.ErrKVStorage, "error happen in store %v at %s: %s %s",
store.GetId(),
redact.String(store.GetAddress()),
req.StorageBackend.String(),
@@ -214,10 +228,10 @@ func (push *pushDown) pushBackup(
}
case err := <-push.errCh:
if !berrors.Is(err, berrors.ErrFailedToConnect) {
- return res, errors.Annotatef(err, "failed to backup range [%s, %s)", redact.Key(req.StartKey), redact.Key(req.EndKey))
+ return errors.Annotatef(err, "failed to backup range [%s, %s)", redact.Key(req.StartKey), redact.Key(req.EndKey))
}
logutil.CL(ctx).Warn("skipping disconnected stores", logutil.ShortError(err))
- return res, nil
+ return nil
}
}
}
diff --git a/br/pkg/backup/schema.go b/br/pkg/backup/schema.go
index 066043c224064..bb0cf7f884189 100644
--- a/br/pkg/backup/schema.go
+++ b/br/pkg/backup/schema.go
@@ -12,6 +12,7 @@ import (
"github.com/pingcap/errors"
backuppb "github.com/pingcap/kvproto/pkg/brpb"
"github.com/pingcap/log"
+ "github.com/pingcap/tidb/br/pkg/checkpoint"
"github.com/pingcap/tidb/br/pkg/checksum"
"github.com/pingcap/tidb/br/pkg/glue"
"github.com/pingcap/tidb/br/pkg/logutil"
@@ -44,14 +45,22 @@ type schemaInfo struct {
type Schemas struct {
// name -> schema
schemas map[string]*schemaInfo
+
+ // checkpoint: table id -> checksum
+ checkpointChecksum map[int64]*checkpoint.ChecksumItem
}
func NewBackupSchemas() *Schemas {
return &Schemas{
- schemas: make(map[string]*schemaInfo),
+ schemas: make(map[string]*schemaInfo),
+ checkpointChecksum: nil,
}
}
+func (ss *Schemas) SetCheckpointChecksum(checkpointChecksum map[int64]*checkpoint.ChecksumItem) {
+ ss.checkpointChecksum = checkpointChecksum
+}
+
func (ss *Schemas) AddSchema(
dbInfo *model.DBInfo, tableInfo *model.TableInfo,
) {
@@ -73,6 +82,7 @@ func (ss *Schemas) AddSchema(
func (ss *Schemas) BackupSchemas(
ctx context.Context,
metaWriter *metautil.MetaWriter,
+ checkpointRunner *checkpoint.CheckpointRunner,
store kv.Storage,
statsHandle *handle.Handle,
backupTS uint64,
@@ -100,6 +110,11 @@ func (ss *Schemas) BackupSchemas(
schema.dbInfo.Name = utils.TemporaryDBName(schema.dbInfo.Name.O)
}
+ var checksum *checkpoint.ChecksumItem
+ var exists bool = false
+ if ss.checkpointChecksum != nil {
+ checksum, exists = ss.checkpointChecksum[schema.tableInfo.ID]
+ }
workerPool.ApplyOnErrorGroup(errg, func() error {
if schema.tableInfo != nil {
logger := log.With(
@@ -109,16 +124,38 @@ func (ss *Schemas) BackupSchemas(
if !skipChecksum {
logger.Info("Calculate table checksum start")
- start := time.Now()
- err := schema.calculateChecksum(ectx, store.GetClient(), backupTS, copConcurrency)
- if err != nil {
- return errors.Trace(err)
+ if exists && checksum != nil {
+ schema.crc64xor = checksum.Crc64xor
+ schema.totalKvs = checksum.TotalKvs
+ schema.totalBytes = checksum.TotalBytes
+ logger.Info("Calculate table checksum completed (from checkpoint)",
+ zap.Uint64("Crc64Xor", schema.crc64xor),
+ zap.Uint64("TotalKvs", schema.totalKvs),
+ zap.Uint64("TotalBytes", schema.totalBytes))
+ } else {
+ start := time.Now()
+ err := schema.calculateChecksum(ectx, store.GetClient(), backupTS, copConcurrency)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ calculateCost := time.Since(start)
+ var flushCost time.Duration
+ if checkpointRunner != nil {
+ // if checkpoint runner is running and the checksum is not from checkpoint
+ // then flush the checksum by the checkpoint runner
+ startFlush := time.Now()
+ if err = checkpointRunner.FlushChecksum(ctx, schema.tableInfo.ID, schema.crc64xor, schema.totalKvs, schema.totalBytes, calculateCost.Seconds()); err != nil {
+ return errors.Trace(err)
+ }
+ flushCost = time.Since(startFlush)
+ }
+ logger.Info("Calculate table checksum completed",
+ zap.Uint64("Crc64Xor", schema.crc64xor),
+ zap.Uint64("TotalKvs", schema.totalKvs),
+ zap.Uint64("TotalBytes", schema.totalBytes),
+ zap.Duration("calculate-take", calculateCost),
+ zap.Duration("flush-take", flushCost))
}
- logger.Info("Calculate table checksum completed",
- zap.Uint64("Crc64Xor", schema.crc64xor),
- zap.Uint64("TotalKvs", schema.totalKvs),
- zap.Uint64("TotalBytes", schema.totalBytes),
- zap.Duration("take", time.Since(start)))
}
if statsHandle != nil {
if err := schema.dumpStatsToJSON(statsHandle); err != nil {
diff --git a/br/pkg/backup/schema_test.go b/br/pkg/backup/schema_test.go
index bed9d834d2e10..08d560bf03c25 100644
--- a/br/pkg/backup/schema_test.go
+++ b/br/pkg/backup/schema_test.go
@@ -108,7 +108,7 @@ func TestBuildBackupRangeAndSchema(t *testing.T) {
testFilter, err := filter.Parse([]string{"test.t1"})
require.NoError(t, err)
_, backupSchemas, _, err := backup.BuildBackupRangeAndSchema(
- m.Storage, testFilter, math.MaxUint64, false)
+ m.Storage, testFilter, math.MaxUint64, false, true)
require.NoError(t, err)
require.NotNil(t, backupSchemas)
@@ -116,7 +116,7 @@ func TestBuildBackupRangeAndSchema(t *testing.T) {
fooFilter, err := filter.Parse([]string{"foo.t1"})
require.NoError(t, err)
_, backupSchemas, _, err = backup.BuildBackupRangeAndSchema(
- m.Storage, fooFilter, math.MaxUint64, false)
+ m.Storage, fooFilter, math.MaxUint64, false, true)
require.NoError(t, err)
require.Nil(t, backupSchemas)
@@ -125,7 +125,7 @@ func TestBuildBackupRangeAndSchema(t *testing.T) {
noFilter, err := filter.Parse([]string{"*.*", "!mysql.*"})
require.NoError(t, err)
_, backupSchemas, _, err = backup.BuildBackupRangeAndSchema(
- m.Storage, noFilter, math.MaxUint64, false)
+ m.Storage, noFilter, math.MaxUint64, false, true)
require.NoError(t, err)
require.NotNil(t, backupSchemas)
@@ -137,7 +137,7 @@ func TestBuildBackupRangeAndSchema(t *testing.T) {
var policies []*backuppb.PlacementPolicy
_, backupSchemas, policies, err = backup.BuildBackupRangeAndSchema(
- m.Storage, testFilter, math.MaxUint64, false)
+ m.Storage, testFilter, math.MaxUint64, false, true)
require.NoError(t, err)
require.Equal(t, 1, backupSchemas.Len())
// we expect no policies collected, because it's not full backup.
@@ -151,7 +151,7 @@ func TestBuildBackupRangeAndSchema(t *testing.T) {
metaWriter := metautil.NewMetaWriter(es, metautil.MetaFileSize, false, "", &cipher)
ctx := context.Background()
err = backupSchemas.BackupSchemas(
- ctx, metaWriter, m.Storage, nil, math.MaxUint64, 1, variable.DefChecksumTableConcurrency, skipChecksum, updateCh)
+ ctx, metaWriter, nil, m.Storage, nil, math.MaxUint64, 1, variable.DefChecksumTableConcurrency, skipChecksum, updateCh)
require.Equal(t, int64(1), updateCh.get())
require.NoError(t, err)
err = metaWriter.FlushBackupMeta(ctx)
@@ -170,7 +170,7 @@ func TestBuildBackupRangeAndSchema(t *testing.T) {
tk.MustExec("insert into t2 values (11);")
_, backupSchemas, policies, err = backup.BuildBackupRangeAndSchema(
- m.Storage, noFilter, math.MaxUint64, true)
+ m.Storage, noFilter, math.MaxUint64, true, true)
require.NoError(t, err)
require.Equal(t, 2, backupSchemas.Len())
// we expect the policy fivereplicas collected in full backup.
@@ -180,7 +180,7 @@ func TestBuildBackupRangeAndSchema(t *testing.T) {
es2 := GetRandomStorage(t)
metaWriter2 := metautil.NewMetaWriter(es2, metautil.MetaFileSize, false, "", &cipher)
err = backupSchemas.BackupSchemas(
- ctx, metaWriter2, m.Storage, nil, math.MaxUint64, 2, variable.DefChecksumTableConcurrency, skipChecksum, updateCh)
+ ctx, metaWriter2, nil, m.Storage, nil, math.MaxUint64, 2, variable.DefChecksumTableConcurrency, skipChecksum, updateCh)
require.Equal(t, int64(2), updateCh.get())
require.NoError(t, err)
err = metaWriter2.FlushBackupMeta(ctx)
@@ -219,7 +219,7 @@ func TestBuildBackupRangeAndSchemaWithBrokenStats(t *testing.T) {
f, err := filter.Parse([]string{"test.t3"})
require.NoError(t, err)
- _, backupSchemas, _, err := backup.BuildBackupRangeAndSchema(m.Storage, f, math.MaxUint64, false)
+ _, backupSchemas, _, err := backup.BuildBackupRangeAndSchema(m.Storage, f, math.MaxUint64, false, true)
require.NoError(t, err)
require.Equal(t, 1, backupSchemas.Len())
@@ -234,7 +234,7 @@ func TestBuildBackupRangeAndSchemaWithBrokenStats(t *testing.T) {
metaWriter := metautil.NewMetaWriter(es, metautil.MetaFileSize, false, "", &cipher)
ctx := context.Background()
err = backupSchemas.BackupSchemas(
- ctx, metaWriter, m.Storage, nil, math.MaxUint64, 1, variable.DefChecksumTableConcurrency, skipChecksum, updateCh)
+ ctx, metaWriter, nil, m.Storage, nil, math.MaxUint64, 1, variable.DefChecksumTableConcurrency, skipChecksum, updateCh)
require.NoError(t, err)
err = metaWriter.FlushBackupMeta(ctx)
require.NoError(t, err)
@@ -253,7 +253,7 @@ func TestBuildBackupRangeAndSchemaWithBrokenStats(t *testing.T) {
// recover the statistics.
tk.MustExec("analyze table t3;")
- _, backupSchemas, _, err = backup.BuildBackupRangeAndSchema(m.Storage, f, math.MaxUint64, false)
+ _, backupSchemas, _, err = backup.BuildBackupRangeAndSchema(m.Storage, f, math.MaxUint64, false, true)
require.NoError(t, err)
require.Equal(t, 1, backupSchemas.Len())
@@ -262,7 +262,7 @@ func TestBuildBackupRangeAndSchemaWithBrokenStats(t *testing.T) {
es2 := GetRandomStorage(t)
metaWriter2 := metautil.NewMetaWriter(es2, metautil.MetaFileSize, false, "", &cipher)
err = backupSchemas.BackupSchemas(
- ctx, metaWriter2, m.Storage, statsHandle, math.MaxUint64, 1, variable.DefChecksumTableConcurrency, skipChecksum, updateCh)
+ ctx, metaWriter2, nil, m.Storage, statsHandle, math.MaxUint64, 1, variable.DefChecksumTableConcurrency, skipChecksum, updateCh)
require.NoError(t, err)
err = metaWriter2.FlushBackupMeta(ctx)
require.NoError(t, err)
@@ -294,7 +294,7 @@ func TestBackupSchemasForSystemTable(t *testing.T) {
f, err := filter.Parse([]string{"mysql.systable*"})
require.NoError(t, err)
- _, backupSchemas, _, err := backup.BuildBackupRangeAndSchema(m.Storage, f, math.MaxUint64, false)
+ _, backupSchemas, _, err := backup.BuildBackupRangeAndSchema(m.Storage, f, math.MaxUint64, false, true)
require.NoError(t, err)
require.Equal(t, systemTablesCount, backupSchemas.Len())
@@ -305,7 +305,7 @@ func TestBackupSchemasForSystemTable(t *testing.T) {
updateCh := new(simpleProgress)
metaWriter2 := metautil.NewMetaWriter(es2, metautil.MetaFileSize, false, "", &cipher)
- err = backupSchemas.BackupSchemas(ctx, metaWriter2, m.Storage, nil,
+ err = backupSchemas.BackupSchemas(ctx, metaWriter2, nil, m.Storage, nil,
math.MaxUint64, 1, variable.DefChecksumTableConcurrency, true, updateCh)
require.NoError(t, err)
err = metaWriter2.FlushBackupMeta(ctx)
diff --git a/br/pkg/checkpoint/BUILD.bazel b/br/pkg/checkpoint/BUILD.bazel
new file mode 100644
index 0000000000000..76a30d72885be
--- /dev/null
+++ b/br/pkg/checkpoint/BUILD.bazel
@@ -0,0 +1,33 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+
+go_library(
+ name = "checkpoint",
+ srcs = ["checkpoint.go"],
+ importpath = "github.com/pingcap/tidb/br/pkg/checkpoint",
+ visibility = ["//visibility:public"],
+ deps = [
+ "//br/pkg/logutil",
+ "//br/pkg/metautil",
+ "//br/pkg/rtree",
+ "//br/pkg/storage",
+ "//br/pkg/summary",
+ "//br/pkg/utils",
+ "@com_github_pingcap_errors//:errors",
+ "@com_github_pingcap_kvproto//pkg/brpb",
+ "@com_github_pingcap_log//:log",
+ "@org_uber_go_zap//:zap",
+ ],
+)
+
+go_test(
+ name = "checkpoint_test",
+ srcs = ["checkpoint_test.go"],
+ deps = [
+ ":checkpoint",
+ "//br/pkg/rtree",
+ "//br/pkg/storage",
+ "@com_github_pingcap_kvproto//pkg/brpb",
+ "@com_github_pingcap_kvproto//pkg/encryptionpb",
+ "@com_github_stretchr_testify//require",
+ ],
+)
diff --git a/br/pkg/checkpoint/checkpoint.go b/br/pkg/checkpoint/checkpoint.go
new file mode 100644
index 0000000000000..c462e78e949ad
--- /dev/null
+++ b/br/pkg/checkpoint/checkpoint.go
@@ -0,0 +1,590 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package checkpoint
+
+import (
+ "bytes"
+ "context"
+ "crypto/sha256"
+ "encoding/base64"
+ "encoding/json"
+ "fmt"
+ "math/rand"
+ "strings"
+ "sync"
+ "time"
+
+ "github.com/pingcap/errors"
+ backuppb "github.com/pingcap/kvproto/pkg/brpb"
+ "github.com/pingcap/log"
+ "github.com/pingcap/tidb/br/pkg/logutil"
+ "github.com/pingcap/tidb/br/pkg/metautil"
+ "github.com/pingcap/tidb/br/pkg/rtree"
+ "github.com/pingcap/tidb/br/pkg/storage"
+ "github.com/pingcap/tidb/br/pkg/summary"
+ "github.com/pingcap/tidb/br/pkg/utils"
+ "go.uber.org/zap"
+)
+
+const (
+ CheckpointMetaPath = "checkpoint.meta"
+ CheckpointDir = "/checkpoints"
+
+ CheckpointDataDir = CheckpointDir + "/data"
+ CheckpointChecksumDir = CheckpointDir + "/checksum"
+)
+
+const MaxChecksumTotalCost float64 = 60.0
+
+const tickDuration = 30 * time.Second
+
+type CheckpointMessage struct {
+ // start-key of the origin range
+ GroupKey string
+
+ Group *rtree.Range
+}
+
+// A Checkpoint Range File is like this:
+//
+// ChecksumData
+// +----------------+ RangeGroupData RangeGroups
+// | DureTime | +--------------------------+ encrypted +-------------+
+// | RangeGroupData-+---> | RangeGroupsEncriptedData-+----------> | GroupKey |
+// | RangeGroupData | | Checksum | | Range |
+// | ... | | CipherIv | | ... |
+// | RangeGroupData | | Size | | Range |
+// +----------------+ +--------------------------+ +-------------+
+
+type RangeGroups struct {
+ GroupKey string `json:"group-key"`
+ Groups []*rtree.Range `json:"groups"`
+}
+
+type RangeGroupData struct {
+ RangeGroupsEncriptedData []byte
+ Checksum []byte
+ CipherIv []byte
+
+ Size int
+}
+
+type CheckpointData struct {
+ DureTime time.Duration `json:"dure-time"`
+ RangeGroupMetas []*RangeGroupData `json:"range-group-metas"`
+}
+
+// A Checkpoint Checksum File is like this:
+//
+// ChecksumInfo ChecksumItems ChecksumItem
+// +-------------+ +--------------+ +--------------+
+// | Content---+-> | ChecksumItem-+---> | TableID |
+// | Checksum | | ChecksumItem | | Crc64xor |
+// +-------------+ | ... | | TotalKvs |
+// | ChecksumItem | | TotalBytes |
+// +--------------+ +--------------+
+
+type ChecksumItem struct {
+ TableID int64 `json:"table-id"`
+ Crc64xor uint64 `json:"crc64-xor"`
+ TotalKvs uint64 `json:"total-kvs"`
+ TotalBytes uint64 `json:"total-bytes"`
+}
+
+type ChecksumItems struct {
+ Items []*ChecksumItem `json:"checksum-items"`
+}
+
+type ChecksumInfo struct {
+ Content []byte `json:"content"`
+ Checksum []byte `json:"checksum"`
+}
+
+type ChecksumRunner struct {
+ sync.Mutex
+
+ checksumItems ChecksumItems
+
+ // when the total time cost is large than the threshold,
+ // begin to flush checksum
+ totalCost float64
+
+ err error
+ wg sync.WaitGroup
+ workerPool utils.WorkerPool
+}
+
+func NewChecksumRunner() *ChecksumRunner {
+ return &ChecksumRunner{
+ workerPool: *utils.NewWorkerPool(4, "checksum flush worker"),
+ }
+}
+
+// FlushChecksum save the checksum in the memory temporarily
+// and flush to the external storage if checksum take much time
+func (cr *ChecksumRunner) FlushChecksum(
+ ctx context.Context,
+ s storage.ExternalStorage,
+ tableID int64,
+ crc64xor uint64,
+ totalKvs uint64,
+ totalBytes uint64,
+ timeCost float64,
+) error {
+ checksumItem := &ChecksumItem{
+ TableID: tableID,
+ Crc64xor: crc64xor,
+ TotalKvs: totalKvs,
+ TotalBytes: totalBytes,
+ }
+ var toBeFlushedChecksumItems *ChecksumItems = nil
+ cr.Lock()
+ if cr.err != nil {
+ err := cr.err
+ cr.Unlock()
+ return err
+ }
+ if cr.checksumItems.Items == nil {
+ // reset the checksumInfo
+ cr.totalCost = 0
+ cr.checksumItems.Items = make([]*ChecksumItem, 0)
+ }
+ cr.totalCost += timeCost
+ cr.checksumItems.Items = append(cr.checksumItems.Items, checksumItem)
+ if cr.totalCost > MaxChecksumTotalCost {
+ toBeFlushedChecksumItems = &ChecksumItems{
+ Items: cr.checksumItems.Items,
+ }
+ cr.checksumItems.Items = nil
+ }
+ cr.Unlock()
+
+ // now lock is free
+ if toBeFlushedChecksumItems == nil {
+ return nil
+ }
+
+ // create a goroutine to flush checksumInfo to external storage
+ cr.wg.Add(1)
+ cr.workerPool.Apply(func() {
+ defer cr.wg.Done()
+ recordErr := func(err error) {
+ cr.Lock()
+ cr.err = err
+ cr.Unlock()
+ }
+
+ content, err := json.Marshal(toBeFlushedChecksumItems)
+ if err != nil {
+ recordErr(err)
+ return
+ }
+
+ checksum := sha256.Sum256(content)
+ checksumInfo := &ChecksumInfo{
+ Content: content,
+ Checksum: checksum[:],
+ }
+
+ data, err := json.Marshal(checksumInfo)
+ if err != nil {
+ recordErr(err)
+ return
+ }
+
+ fname := fmt.Sprintf("%s/t%d_and__", CheckpointChecksumDir, tableID)
+ err = s.WriteFile(ctx, fname, data)
+ if err != nil {
+ recordErr(err)
+ return
+ }
+ })
+ return nil
+}
+
+type CheckpointRunner struct {
+ meta map[string]*RangeGroups
+
+ checksumRunner *ChecksumRunner
+
+ storage storage.ExternalStorage
+ cipher *backuppb.CipherInfo
+
+ appendCh chan *CheckpointMessage
+ metaCh chan map[string]*RangeGroups
+ errCh chan error
+
+ wg sync.WaitGroup
+}
+
+// only for test
+func StartCheckpointRunnerForTest(ctx context.Context, storage storage.ExternalStorage, cipher *backuppb.CipherInfo, tick time.Duration) *CheckpointRunner {
+ runner := &CheckpointRunner{
+ meta: make(map[string]*RangeGroups),
+
+ checksumRunner: NewChecksumRunner(),
+
+ storage: storage,
+ cipher: cipher,
+
+ appendCh: make(chan *CheckpointMessage),
+ metaCh: make(chan map[string]*RangeGroups),
+ errCh: make(chan error, 1),
+ }
+
+ runner.startCheckpointLoop(ctx, tick)
+ return runner
+}
+
+func StartCheckpointRunner(ctx context.Context, storage storage.ExternalStorage, cipher *backuppb.CipherInfo) *CheckpointRunner {
+ runner := &CheckpointRunner{
+ meta: make(map[string]*RangeGroups),
+
+ checksumRunner: NewChecksumRunner(),
+
+ storage: storage,
+ cipher: cipher,
+
+ appendCh: make(chan *CheckpointMessage),
+ metaCh: make(chan map[string]*RangeGroups),
+ errCh: make(chan error, 1),
+ }
+
+ runner.startCheckpointLoop(ctx, tickDuration)
+ return runner
+}
+
+func (r *CheckpointRunner) FlushChecksum(ctx context.Context, tableID int64, crc64xor uint64, totalKvs uint64, totalBytes uint64, timeCost float64) error {
+ return r.checksumRunner.FlushChecksum(ctx, r.storage, tableID, crc64xor, totalKvs, totalBytes, timeCost)
+}
+
+func (r *CheckpointRunner) Append(
+ ctx context.Context,
+ groupKey string,
+ startKey []byte,
+ endKey []byte,
+ files []*backuppb.File,
+) error {
+ select {
+ case <-ctx.Done():
+ return nil
+ case err := <-r.errCh:
+ return err
+ case r.appendCh <- &CheckpointMessage{
+ GroupKey: groupKey,
+ Group: &rtree.Range{
+ StartKey: startKey,
+ EndKey: endKey,
+ Files: files,
+ },
+ }:
+ return nil
+ }
+}
+
+// Note: Cannot be parallel with `Append` function
+func (r *CheckpointRunner) WaitForFinish() {
+ // can not append anymore
+ close(r.appendCh)
+ // wait the range flusher exit
+ r.wg.Wait()
+ // wait the checksum flusher exit
+ r.checksumRunner.wg.Wait()
+}
+
+// Send the meta to the flush goroutine, and reset the CheckpointRunner's meta
+func (r *CheckpointRunner) flushMeta(ctx context.Context, errCh chan error) error {
+ meta := r.meta
+ r.meta = make(map[string]*RangeGroups)
+ // do flush
+ select {
+ case <-ctx.Done():
+ case err := <-errCh:
+ return err
+ case r.metaCh <- meta:
+ }
+ return nil
+}
+
+// start a goroutine to flush the meta, which is sent from `checkpoint looper`, to the external storage
+func (r *CheckpointRunner) startCheckpointRunner(ctx context.Context, wg *sync.WaitGroup) chan error {
+ errCh := make(chan error, 1)
+ wg.Add(1)
+ flushWorker := func(ctx context.Context, errCh chan error) {
+ defer wg.Done()
+ for {
+ select {
+ case <-ctx.Done():
+ return
+ case meta, ok := <-r.metaCh:
+ if !ok {
+ log.Info("stop checkpoint flush worker")
+ return
+ }
+ if err := r.doFlush(ctx, meta); err != nil {
+ errCh <- err
+ return
+ }
+ }
+ }
+ }
+
+ go flushWorker(ctx, errCh)
+ return errCh
+}
+
+func (r *CheckpointRunner) sendError(err error) {
+ select {
+ case r.errCh <- err:
+ default:
+ log.Error("errCh is blocked", logutil.ShortError(err))
+ }
+}
+
+func (r *CheckpointRunner) startCheckpointLoop(ctx context.Context, tickDuration time.Duration) {
+ r.wg.Add(1)
+ checkpointLoop := func(ctx context.Context) {
+ defer r.wg.Done()
+ cctx, cancel := context.WithCancel(ctx)
+ defer cancel()
+ var wg sync.WaitGroup
+ errCh := r.startCheckpointRunner(cctx, &wg)
+ ticker := time.NewTicker(tickDuration)
+ defer ticker.Stop()
+ for {
+ select {
+ case <-ctx.Done():
+ return
+ case <-ticker.C:
+ if err := r.flushMeta(ctx, errCh); err != nil {
+ r.sendError(err)
+ return
+ }
+ case msg, ok := <-r.appendCh:
+ if !ok {
+ log.Info("stop checkpoint runner")
+ if err := r.flushMeta(ctx, errCh); err != nil {
+ r.sendError(err)
+ }
+ // close the channel to flush worker
+ // and wait it to consumes all the metas
+ close(r.metaCh)
+ wg.Wait()
+ return
+ }
+ groups, exist := r.meta[msg.GroupKey]
+ if !exist {
+ groups = &RangeGroups{
+ GroupKey: msg.GroupKey,
+ Groups: make([]*rtree.Range, 0),
+ }
+ r.meta[msg.GroupKey] = groups
+ }
+ groups.Groups = append(groups.Groups, msg.Group)
+ case err := <-errCh:
+ // pass flush worker's error back
+ r.sendError(err)
+ return
+ }
+ }
+ }
+
+ go checkpointLoop(ctx)
+}
+
+// flush the meta to the external storage
+func (r *CheckpointRunner) doFlush(ctx context.Context, meta map[string]*RangeGroups) error {
+ if len(meta) == 0 {
+ return nil
+ }
+
+ checkpointData := &CheckpointData{
+ DureTime: summary.NowDureTime(),
+ RangeGroupMetas: make([]*RangeGroupData, 0, len(meta)),
+ }
+
+ var fname []byte = nil
+
+ for _, group := range meta {
+ if len(group.Groups) == 0 {
+ continue
+ }
+
+ // use the first item's group-key and sub-range-key as the filename
+ if len(fname) == 0 {
+ fname = append(append([]byte(group.GroupKey), '.', '.'), group.Groups[0].StartKey...)
+ }
+
+ // Flush the metaFile to storage
+ content, err := json.Marshal(group)
+ if err != nil {
+ return errors.Trace(err)
+ }
+
+ encryptBuff, iv, err := metautil.Encrypt(content, r.cipher)
+ if err != nil {
+ return errors.Trace(err)
+ }
+
+ checksum := sha256.Sum256(content)
+
+ checkpointData.RangeGroupMetas = append(checkpointData.RangeGroupMetas, &RangeGroupData{
+ RangeGroupsEncriptedData: encryptBuff,
+ Checksum: checksum[:],
+ Size: len(content),
+ CipherIv: iv,
+ })
+ }
+
+ if len(checkpointData.RangeGroupMetas) > 0 {
+ data, err := json.Marshal(checkpointData)
+ if err != nil {
+ return errors.Trace(err)
+ }
+
+ checksum := sha256.Sum256(fname)
+ checksumEncoded := base64.URLEncoding.EncodeToString(checksum[:])
+ path := fmt.Sprintf("%s/%s_%d.cpt", CheckpointDataDir, checksumEncoded, rand.Uint64())
+ if err := r.storage.WriteFile(ctx, path, data); err != nil {
+ return errors.Trace(err)
+ }
+ }
+ return nil
+}
+
+// walk the whole checkpoint range files and retrieve the metadatat of backed up ranges
+// and return the total time cost in the past executions
+func WalkCheckpointFile(ctx context.Context, s storage.ExternalStorage, cipher *backuppb.CipherInfo, fn func(groupKey string, rg *rtree.Range)) (time.Duration, error) {
+ // records the total time cost in the past executions
+ var pastDureTime time.Duration = 0
+ err := s.WalkDir(ctx, &storage.WalkOption{SubDir: CheckpointDataDir}, func(path string, size int64) error {
+ if strings.HasSuffix(path, ".cpt") {
+ content, err := s.ReadFile(ctx, path)
+ if err != nil {
+ return errors.Trace(err)
+ }
+
+ checkpointData := &CheckpointData{}
+ if err = json.Unmarshal(content, checkpointData); err != nil {
+ return errors.Trace(err)
+ }
+
+ if checkpointData.DureTime > pastDureTime {
+ pastDureTime = checkpointData.DureTime
+ }
+ for _, meta := range checkpointData.RangeGroupMetas {
+ decryptContent, err := metautil.Decrypt(meta.RangeGroupsEncriptedData, cipher, meta.CipherIv)
+ if err != nil {
+ return errors.Trace(err)
+ }
+
+ checksum := sha256.Sum256(decryptContent)
+ if !bytes.Equal(meta.Checksum, checksum[:]) {
+ log.Error("checkpoint checksum info's checksum mismatch, skip it",
+ zap.ByteString("expect", meta.Checksum),
+ zap.ByteString("got", checksum[:]),
+ )
+ continue
+ }
+
+ group := &RangeGroups{}
+ if err = json.Unmarshal(decryptContent, group); err != nil {
+ return errors.Trace(err)
+ }
+
+ for _, g := range group.Groups {
+ fn(group.GroupKey, g)
+ }
+ }
+ }
+ return nil
+ })
+
+ return pastDureTime, errors.Trace(err)
+}
+
+type CheckpointMetadata struct {
+ GCServiceId string `json:"gc-service-id"`
+ ConfigHash []byte `json:"config-hash"`
+ BackupTS uint64 `json:"backup-ts"`
+ Ranges []rtree.Range `json:"ranges"`
+
+ CheckpointChecksum map[int64]*ChecksumItem `json:"-"`
+ CheckpointDataMap map[string]rtree.RangeTree `json:"-"`
+}
+
+// load checkpoint metadata from the external storage
+func LoadCheckpointMetadata(ctx context.Context, s storage.ExternalStorage) (*CheckpointMetadata, error) {
+ data, err := s.ReadFile(ctx, CheckpointMetaPath)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ m := &CheckpointMetadata{}
+ err = json.Unmarshal(data, m)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ m.CheckpointChecksum, err = loadCheckpointChecksum(ctx, s)
+ return m, errors.Trace(err)
+}
+
+// walk the whole checkpoint checksum files and retrieve checksum information of tables calculated
+func loadCheckpointChecksum(ctx context.Context, s storage.ExternalStorage) (map[int64]*ChecksumItem, error) {
+ checkpointChecksum := make(map[int64]*ChecksumItem)
+
+ err := s.WalkDir(ctx, &storage.WalkOption{SubDir: CheckpointChecksumDir}, func(path string, size int64) error {
+ data, err := s.ReadFile(ctx, path)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ info := &ChecksumInfo{}
+ err = json.Unmarshal(data, info)
+ if err != nil {
+ return errors.Trace(err)
+ }
+
+ checksum := sha256.Sum256(info.Content)
+ if !bytes.Equal(info.Checksum, checksum[:]) {
+ log.Error("checkpoint checksum info's checksum mismatch, skip it",
+ zap.ByteString("expect", info.Checksum),
+ zap.ByteString("got", checksum[:]),
+ )
+ return nil
+ }
+
+ items := &ChecksumItems{}
+ err = json.Unmarshal(info.Content, items)
+ if err != nil {
+ return errors.Trace(err)
+ }
+
+ for _, c := range items.Items {
+ checkpointChecksum[c.TableID] = c
+ }
+ return nil
+ })
+ return checkpointChecksum, errors.Trace(err)
+}
+
+// save the checkpoint metadata into the external storage
+func SaveCheckpointMetadata(ctx context.Context, s storage.ExternalStorage, meta *CheckpointMetadata) error {
+ data, err := json.Marshal(meta)
+ if err != nil {
+ return errors.Trace(err)
+ }
+
+ err = s.WriteFile(ctx, CheckpointMetaPath, data)
+ return errors.Trace(err)
+}
diff --git a/br/pkg/checkpoint/checkpoint_test.go b/br/pkg/checkpoint/checkpoint_test.go
new file mode 100644
index 0000000000000..f52b1c6ad2b02
--- /dev/null
+++ b/br/pkg/checkpoint/checkpoint_test.go
@@ -0,0 +1,175 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package checkpoint_test
+
+import (
+ "context"
+ "os"
+ "strings"
+ "testing"
+ "time"
+
+ backuppb "github.com/pingcap/kvproto/pkg/brpb"
+ "github.com/pingcap/kvproto/pkg/encryptionpb"
+ "github.com/pingcap/tidb/br/pkg/checkpoint"
+ "github.com/pingcap/tidb/br/pkg/rtree"
+ "github.com/pingcap/tidb/br/pkg/storage"
+ "github.com/stretchr/testify/require"
+)
+
+func TestCheckpointMeta(t *testing.T) {
+ ctx := context.Background()
+ base := t.TempDir()
+ s, err := storage.NewLocalStorage(base)
+ require.NoError(t, err)
+
+ checkpointMeta := &checkpoint.CheckpointMetadata{
+ ConfigHash: []byte("123456"),
+ BackupTS: 123456,
+ }
+
+ err = checkpoint.SaveCheckpointMetadata(ctx, s, checkpointMeta)
+ require.NoError(t, err)
+
+ checkpointMeta2, err := checkpoint.LoadCheckpointMetadata(ctx, s)
+ require.NoError(t, err)
+ require.Equal(t, checkpointMeta.ConfigHash, checkpointMeta2.ConfigHash)
+ require.Equal(t, checkpointMeta.BackupTS, checkpointMeta2.BackupTS)
+}
+
+func TestCheckpointRunner(t *testing.T) {
+ ctx := context.Background()
+ base := t.TempDir()
+ s, err := storage.NewLocalStorage(base)
+ require.NoError(t, err)
+ os.MkdirAll(base+checkpoint.CheckpointDataDir, 0o755)
+ os.MkdirAll(base+checkpoint.CheckpointChecksumDir, 0o755)
+
+ cipher := &backuppb.CipherInfo{
+ CipherType: encryptionpb.EncryptionMethod_AES256_CTR,
+ CipherKey: []byte("01234567890123456789012345678901"),
+ }
+ checkpointRunner := checkpoint.StartCheckpointRunnerForTest(ctx, s, cipher, 5*time.Second)
+
+ data := map[string]struct {
+ StartKey string
+ EndKey string
+ Name string
+ Name2 string
+ }{
+ "a": {
+ StartKey: "a",
+ EndKey: "b",
+ Name: "c",
+ Name2: "d",
+ },
+ "A": {
+ StartKey: "A",
+ EndKey: "B",
+ Name: "C",
+ Name2: "D",
+ },
+ "1": {
+ StartKey: "1",
+ EndKey: "2",
+ Name: "3",
+ Name2: "4",
+ },
+ }
+
+ data2 := map[string]struct {
+ StartKey string
+ EndKey string
+ Name string
+ Name2 string
+ }{
+ "+": {
+ StartKey: "+",
+ EndKey: "-",
+ Name: "*",
+ Name2: "/",
+ },
+ }
+
+ for _, d := range data {
+ err = checkpointRunner.Append(ctx, "a", []byte(d.StartKey), []byte(d.EndKey), []*backuppb.File{
+ {Name: d.Name},
+ {Name: d.Name2},
+ })
+ require.NoError(t, err)
+ }
+
+ checkpointRunner.FlushChecksum(ctx, 1, 1, 1, 1, checkpoint.MaxChecksumTotalCost-20.0)
+ checkpointRunner.FlushChecksum(ctx, 2, 2, 2, 2, 40.0)
+ // now the checksum is flushed, because the total time cost is larger than `MaxChecksumTotalCost`
+ checkpointRunner.FlushChecksum(ctx, 3, 3, 3, 3, checkpoint.MaxChecksumTotalCost-20.0)
+ time.Sleep(6 * time.Second)
+ // the checksum has not been flushed even though after 6 seconds,
+ // because the total time cost is less than `MaxChecksumTotalCost`
+ checkpointRunner.FlushChecksum(ctx, 4, 4, 4, 4, 40.0)
+
+ for _, d := range data2 {
+ err = checkpointRunner.Append(ctx, "+", []byte(d.StartKey), []byte(d.EndKey), []*backuppb.File{
+ {Name: d.Name},
+ {Name: d.Name2},
+ })
+ require.NoError(t, err)
+ }
+
+ checkpointRunner.WaitForFinish()
+
+ checker := func(groupKey string, resp *rtree.Range) {
+ require.NotNil(t, resp)
+ d, ok := data[string(resp.StartKey)]
+ if !ok {
+ d, ok = data2[string(resp.StartKey)]
+ require.True(t, ok)
+ }
+ require.Equal(t, d.StartKey, string(resp.StartKey))
+ require.Equal(t, d.EndKey, string(resp.EndKey))
+ require.Equal(t, d.Name, resp.Files[0].Name)
+ require.Equal(t, d.Name2, resp.Files[1].Name)
+ }
+
+ _, err = checkpoint.WalkCheckpointFile(ctx, s, cipher, checker)
+ require.NoError(t, err)
+
+ checkpointMeta := &checkpoint.CheckpointMetadata{
+ ConfigHash: []byte("123456"),
+ BackupTS: 123456,
+ }
+
+ err = checkpoint.SaveCheckpointMetadata(ctx, s, checkpointMeta)
+ require.NoError(t, err)
+ meta, err := checkpoint.LoadCheckpointMetadata(ctx, s)
+ require.NoError(t, err)
+
+ var i int64
+ for i = 1; i <= 4; i++ {
+ require.Equal(t, meta.CheckpointChecksum[i].Crc64xor, uint64(i))
+ }
+
+ // only 2 checksum files exists, they are t2_and__ and t4_and__
+ count := 0
+ err = s.WalkDir(ctx, &storage.WalkOption{SubDir: checkpoint.CheckpointChecksumDir}, func(s string, i int64) error {
+ count += 1
+ if !strings.Contains(s, "t2") {
+ require.True(t, strings.Contains(s, "t4"))
+ }
+ return nil
+ })
+ require.NoError(t, err)
+ require.Equal(t, count, 2)
+}
diff --git a/br/pkg/checksum/executor_test.go b/br/pkg/checksum/executor_test.go
index adcaed9c314f9..876103bc055a2 100644
--- a/br/pkg/checksum/executor_test.go
+++ b/br/pkg/checksum/executor_test.go
@@ -104,7 +104,7 @@ func TestChecksum(t *testing.T) {
first = false
ranges, err := backup.BuildTableRanges(tableInfo3)
require.NoError(t, err)
- require.Equalf(t, ranges[:1], req.KeyRanges, "%v", req.KeyRanges)
+ require.Equalf(t, ranges[:1], req.KeyRanges.FirstPartitionRange(), "%v", req.KeyRanges.FirstPartitionRange())
}
return nil
}))
diff --git a/br/pkg/conn/conn.go b/br/pkg/conn/conn.go
index 5adbe0a33ab1c..157b9cdf794c9 100644
--- a/br/pkg/conn/conn.go
+++ b/br/pkg/conn/conn.go
@@ -191,7 +191,6 @@ func NewMgr(
return nil, errors.Trace(err)
}
// we must check tidb(tikv version) any time after concurrent ddl feature implemented in v6.2.
- // when tidb < 6.2 we need set EnableConcurrentDDL false to make ddl works.
// we will keep this check until 7.0, which allow the breaking changes.
// NOTE: must call it after domain created!
// FIXME: remove this check in v7.0
@@ -281,7 +280,8 @@ func (mgr *Mgr) GetTS(ctx context.Context) (uint64, error) {
}
// GetMergeRegionSizeAndCount returns the tikv config `coprocessor.region-split-size` and `coprocessor.region-split-key`.
-func (mgr *Mgr) GetMergeRegionSizeAndCount(ctx context.Context, client *http.Client) (uint64, uint64, error) {
+// returns the default config when failed.
+func (mgr *Mgr) GetMergeRegionSizeAndCount(ctx context.Context, client *http.Client) (uint64, uint64) {
regionSplitSize := DefaultMergeRegionSizeBytes
regionSplitKeys := DefaultMergeRegionKeyCount
type coprocessor struct {
@@ -310,9 +310,10 @@ func (mgr *Mgr) GetMergeRegionSizeAndCount(ctx context.Context, client *http.Cli
return nil
})
if err != nil {
- return 0, 0, errors.Trace(err)
+ log.Warn("meet error when getting config from TiKV; using default", logutil.ShortError(err))
+ return DefaultMergeRegionSizeBytes, DefaultMergeRegionKeyCount
}
- return regionSplitSize, regionSplitKeys, nil
+ return regionSplitSize, regionSplitKeys
}
// GetConfigFromTiKV get configs from all alive tikv stores.
diff --git a/br/pkg/conn/conn_test.go b/br/pkg/conn/conn_test.go
index 01ce8bc08203e..fc822fac123d9 100644
--- a/br/pkg/conn/conn_test.go
+++ b/br/pkg/conn/conn_test.go
@@ -292,6 +292,38 @@ func TestGetMergeRegionSizeAndCount(t *testing.T) {
regionSplitSize: DefaultMergeRegionSizeBytes,
regionSplitKeys: DefaultMergeRegionKeyCount,
},
+ {
+ stores: []*metapb.Store{
+ {
+ Id: 1,
+ State: metapb.StoreState_Up,
+ Labels: []*metapb.StoreLabel{
+ {
+ Key: "engine",
+ Value: "tiflash",
+ },
+ },
+ },
+ {
+ Id: 2,
+ State: metapb.StoreState_Up,
+ Labels: []*metapb.StoreLabel{
+ {
+ Key: "engine",
+ Value: "tikv",
+ },
+ },
+ },
+ },
+ content: []string{
+ "",
+ // Assuming the TiKV has failed due to some reason.
+ "",
+ },
+ // no tikv detected in this case
+ regionSplitSize: DefaultMergeRegionSizeBytes,
+ regionSplitKeys: DefaultMergeRegionKeyCount,
+ },
{
stores: []*metapb.Store{
{
@@ -388,8 +420,7 @@ func TestGetMergeRegionSizeAndCount(t *testing.T) {
httpCli := mockServer.Client()
mgr := &Mgr{PdController: &pdutil.PdController{}}
mgr.PdController.SetPDClient(pdCli)
- rs, rk, err := mgr.GetMergeRegionSizeAndCount(ctx, httpCli)
- require.NoError(t, err)
+ rs, rk := mgr.GetMergeRegionSizeAndCount(ctx, httpCli)
require.Equal(t, ca.regionSplitSize, rs)
require.Equal(t, ca.regionSplitKeys, rk)
mockServer.Close()
diff --git a/br/pkg/errors/errors.go b/br/pkg/errors/errors.go
index 07e9fb6317cb9..2b7d76e28d795 100644
--- a/br/pkg/errors/errors.go
+++ b/br/pkg/errors/errors.go
@@ -83,8 +83,9 @@ var (
ErrStorageInvalidPermission = errors.Normalize("external storage permission", errors.RFCCodeText("BR:ExternalStorage:ErrStorageInvalidPermission"))
// Snapshot restore
- ErrRestoreTotalKVMismatch = errors.Normalize("restore total tikvs mismatch", errors.RFCCodeText("BR:EBS:ErrRestoreTotalKVMismatch"))
- ErrRestoreInvalidPeer = errors.Normalize("restore met a invalid peer", errors.RFCCodeText("BR:EBS:ErrRestoreInvalidPeer"))
+ ErrRestoreTotalKVMismatch = errors.Normalize("restore total tikvs mismatch", errors.RFCCodeText("BR:EBS:ErrRestoreTotalKVMismatch"))
+ ErrRestoreInvalidPeer = errors.Normalize("restore met a invalid peer", errors.RFCCodeText("BR:EBS:ErrRestoreInvalidPeer"))
+ ErrRestoreRegionWithoutPeer = errors.Normalize("restore met a region without any peer", errors.RFCCodeText("BR:EBS:ErrRestoreRegionWithoutPeer"))
// Errors reported from TiKV.
ErrKVStorage = errors.Normalize("tikv storage occur I/O error", errors.RFCCodeText("BR:KV:ErrKVStorage"))
diff --git a/br/pkg/errors/errors_test.go b/br/pkg/errors/errors_test.go
index a6f4c412280cc..fab655ba60c7e 100644
--- a/br/pkg/errors/errors_test.go
+++ b/br/pkg/errors/errors_test.go
@@ -22,3 +22,9 @@ func TestIsContextCanceled(t *testing.T) {
require.True(t, berrors.IsContextCanceled(&url.Error{Err: context.Canceled}))
require.True(t, berrors.IsContextCanceled(&url.Error{Err: context.DeadlineExceeded}))
}
+
+func TestEqual(t *testing.T) {
+ err := errors.Annotate(berrors.ErrPDBatchScanRegion, "test error equla")
+ r := berrors.ErrPDBatchScanRegion.Equal(err)
+ require.True(t, r)
+}
diff --git a/br/pkg/gluetidb/glue.go b/br/pkg/gluetidb/glue.go
index 5483380d03e65..c9756fe07ea89 100644
--- a/br/pkg/gluetidb/glue.go
+++ b/br/pkg/gluetidb/glue.go
@@ -69,6 +69,10 @@ func (Glue) GetDomain(store kv.Storage) (*domain.Domain, error) {
if err != nil {
return nil, errors.Trace(err)
}
+ err = session.InitMDLVariable(store)
+ if err != nil {
+ return nil, err
+ }
// create stats handler for backup and restore.
err = dom.UpdateTableStatsLoop(se)
if err != nil {
@@ -203,11 +207,36 @@ func (gs *tidbSession) CreatePlacementPolicy(ctx context.Context, policy *model.
return d.CreatePlacementPolicyWithInfo(gs.se, policy, ddl.OnExistIgnore)
}
+// SplitBatchCreateTable provide a way to split batch into small batch when batch size is large than 6 MB.
+// The raft entry has limit size of 6 MB, a batch of CreateTables may hit this limitation
+// TODO: shall query string be set for each split batch create, it looks does not matter if we set once for all.
+func (gs *tidbSession) SplitBatchCreateTable(schema model.CIStr, info []*model.TableInfo, cs ...ddl.CreateTableWithInfoConfigurier) error {
+ var err error
+ d := domain.GetDomain(gs.se).DDL()
+ if err = d.BatchCreateTableWithInfo(gs.se, schema, info, append(cs, ddl.OnExistIgnore)...); kv.ErrEntryTooLarge.Equal(err) {
+ if len(info) == 1 {
+ return err
+ }
+ mid := len(info) / 2
+ err = gs.SplitBatchCreateTable(schema, info[:mid])
+ if err != nil {
+ return err
+ }
+ err = gs.SplitBatchCreateTable(schema, info[mid:])
+ if err != nil {
+ return err
+ }
+ return nil
+ }
+ return err
+}
+
// CreateTables implements glue.BatchCreateTableSession.
func (gs *tidbSession) CreateTables(ctx context.Context, tables map[string][]*model.TableInfo, cs ...ddl.CreateTableWithInfoConfigurier) error {
- d := domain.GetDomain(gs.se).DDL()
var dbName model.CIStr
+ // Disable foreign key check when batch create tables.
+ gs.se.GetSessionVars().ForeignKeyChecks = false
for db, tablesInDB := range tables {
dbName = model.NewCIStr(db)
queryBuilder := strings.Builder{}
@@ -231,8 +260,7 @@ func (gs *tidbSession) CreateTables(ctx context.Context, tables map[string][]*mo
cloneTables = append(cloneTables, table)
}
gs.se.SetValue(sessionctx.QueryString, queryBuilder.String())
- err := d.BatchCreateTableWithInfo(gs.se, dbName, cloneTables, append(cs, ddl.OnExistIgnore)...)
- if err != nil {
+ if err := gs.SplitBatchCreateTable(dbName, cloneTables); err != nil {
//It is possible to failure when TiDB does not support model.ActionCreateTables.
//In this circumstance, BatchCreateTableWithInfo returns errno.ErrInvalidDDLJob,
//we fall back to old way that creating table one by one
@@ -303,7 +331,8 @@ func (gs *tidbSession) showCreatePlacementPolicy(policy *model.PolicyInfo) strin
// mockSession is used for test.
type mockSession struct {
- se session.Session
+ se session.Session
+ globalVars map[string]string
}
// GetSessionCtx implements glue.Glue
@@ -368,12 +397,16 @@ func (s *mockSession) Close() {
// GetGlobalVariables implements glue.Session.
func (s *mockSession) GetGlobalVariable(name string) (string, error) {
- return "true", nil
+ if ret, ok := s.globalVars[name]; ok {
+ return ret, nil
+ }
+ return "True", nil
}
// MockGlue only used for test
type MockGlue struct {
- se session.Session
+ se session.Session
+ GlobalVars map[string]string
}
func (m *MockGlue) SetSession(se session.Session) {
@@ -388,7 +421,8 @@ func (*MockGlue) GetDomain(store kv.Storage) (*domain.Domain, error) {
// CreateSession implements glue.Glue.
func (m *MockGlue) CreateSession(store kv.Storage) (glue.Session, error) {
glueSession := &mockSession{
- se: m.se,
+ se: m.se,
+ globalVars: m.GlobalVars,
}
return glueSession, nil
}
diff --git a/br/pkg/lightning/BUILD.bazel b/br/pkg/lightning/BUILD.bazel
index 6b3c5f8e3ce31..fc646195c6e2b 100644
--- a/br/pkg/lightning/BUILD.bazel
+++ b/br/pkg/lightning/BUILD.bazel
@@ -28,7 +28,10 @@ go_library(
"//br/pkg/version/build",
"//expression",
"//planner/core",
+ "//util",
"//util/promutil",
+ "@com_github_go_sql_driver_mysql//:mysql",
+ "@com_github_google_uuid//:uuid",
"@com_github_pingcap_errors//:errors",
"@com_github_pingcap_failpoint//:failpoint",
"@com_github_pingcap_kvproto//pkg/import_sstpb",
@@ -37,6 +40,7 @@ go_library(
"@com_github_prometheus_client_golang//prometheus/promhttp",
"@com_github_shurcool_httpgzip//:httpgzip",
"@org_golang_x_exp//slices",
+ "@org_uber_go_atomic//:atomic",
"@org_uber_go_zap//:zap",
"@org_uber_go_zap//zapcore",
],
diff --git a/br/pkg/lightning/backend/kv/BUILD.bazel b/br/pkg/lightning/backend/kv/BUILD.bazel
index ea2cfefc2440e..b0da8a0e7deb4 100644
--- a/br/pkg/lightning/backend/kv/BUILD.bazel
+++ b/br/pkg/lightning/backend/kv/BUILD.bazel
@@ -46,13 +46,14 @@ go_test(
name = "kv_test",
timeout = "short",
srcs = [
+ "session_internal_test.go",
"session_test.go",
"sql2kv_test.go",
],
+ embed = [":kv"],
flaky = True,
race = "on",
deps = [
- ":kv",
"//br/pkg/lightning/common",
"//br/pkg/lightning/log",
"//br/pkg/lightning/verification",
@@ -69,6 +70,7 @@ go_test(
"//tablecodec",
"//types",
"//util/mock",
+ "@com_github_docker_go_units//:go-units",
"@com_github_stretchr_testify//require",
"@org_uber_go_zap//:zap",
"@org_uber_go_zap//zapcore",
diff --git a/br/pkg/lightning/backend/kv/allocator.go b/br/pkg/lightning/backend/kv/allocator.go
index 02f46ea8c7e36..14703e1143a45 100644
--- a/br/pkg/lightning/backend/kv/allocator.go
+++ b/br/pkg/lightning/backend/kv/allocator.go
@@ -34,6 +34,7 @@ type panickingAllocator struct {
func NewPanickingAllocators(base int64) autoid.Allocators {
sharedBase := &base
return autoid.NewAllocators(
+ false,
&panickingAllocator{base: sharedBase, ty: autoid.RowIDAllocType},
&panickingAllocator{base: sharedBase, ty: autoid.AutoIncrementType},
&panickingAllocator{base: sharedBase, ty: autoid.AutoRandomType},
diff --git a/br/pkg/lightning/backend/kv/session.go b/br/pkg/lightning/backend/kv/session.go
index 1cc261b677fe4..a8c5b5970cdf8 100644
--- a/br/pkg/lightning/backend/kv/session.go
+++ b/br/pkg/lightning/backend/kv/session.go
@@ -38,6 +38,8 @@ import (
"go.uber.org/zap"
)
+const maxAvailableBufSize int = 20
+
// invalidIterator is a trimmed down Iterator type which is invalid.
type invalidIterator struct {
kv.Iterator
@@ -92,6 +94,12 @@ func (mb *kvMemBuf) Recycle(buf *bytesBuf) {
buf.idx = 0
buf.cap = len(buf.buf)
mb.Lock()
+ if len(mb.availableBufs) >= maxAvailableBufSize {
+ // too many byte buffers, evict one byte buffer and continue
+ evictedByteBuf := mb.availableBufs[0]
+ evictedByteBuf.destroy()
+ mb.availableBufs = mb.availableBufs[1:]
+ }
mb.availableBufs = append(mb.availableBufs, buf)
mb.Unlock()
}
@@ -99,8 +107,20 @@ func (mb *kvMemBuf) Recycle(buf *bytesBuf) {
func (mb *kvMemBuf) AllocateBuf(size int) {
mb.Lock()
size = mathutil.Max(units.MiB, int(utils.NextPowerOfTwo(int64(size)))*2)
- if len(mb.availableBufs) > 0 && mb.availableBufs[0].cap >= size {
- mb.buf = mb.availableBufs[0]
+ var (
+ existingBuf *bytesBuf
+ existingBufIdx int
+ )
+ for i, buf := range mb.availableBufs {
+ if buf.cap >= size {
+ existingBuf = buf
+ existingBufIdx = i
+ break
+ }
+ }
+ if existingBuf != nil {
+ mb.buf = existingBuf
+ mb.availableBufs[existingBufIdx] = mb.availableBufs[0]
mb.availableBufs = mb.availableBufs[1:]
} else {
mb.buf = newBytesBuf(size)
diff --git a/br/pkg/lightning/backend/kv/session_internal_test.go b/br/pkg/lightning/backend/kv/session_internal_test.go
new file mode 100644
index 0000000000000..97ebd8cc82d1b
--- /dev/null
+++ b/br/pkg/lightning/backend/kv/session_internal_test.go
@@ -0,0 +1,126 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package kv
+
+import (
+ "testing"
+
+ "github.com/docker/go-units"
+ "github.com/stretchr/testify/require"
+)
+
+func TestKVMemBufInterweaveAllocAndRecycle(t *testing.T) {
+ type testCase struct {
+ AllocSizes []int
+ FinalAvailableByteBufCaps []int
+ }
+ for _, tc := range []testCase{
+ {
+ AllocSizes: []int{
+ 1 * units.MiB,
+ 2 * units.MiB,
+ 3 * units.MiB,
+ 4 * units.MiB,
+ 5 * units.MiB,
+ },
+ // [2] => [2,4] => [2,4,8] => [4,2,8] => [4,2,8,16]
+ FinalAvailableByteBufCaps: []int{
+ 4 * units.MiB,
+ 2 * units.MiB,
+ 8 * units.MiB,
+ 16 * units.MiB,
+ },
+ },
+ {
+ AllocSizes: []int{
+ 5 * units.MiB,
+ 4 * units.MiB,
+ 3 * units.MiB,
+ 2 * units.MiB,
+ 1 * units.MiB,
+ },
+ // [16] => [16] => [16] => [16] => [16]
+ FinalAvailableByteBufCaps: []int{16 * units.MiB},
+ },
+ {
+ AllocSizes: []int{5, 4, 3, 2, 1},
+ // [1] => [1] => [1] => [1] => [1]
+ FinalAvailableByteBufCaps: []int{1 * units.MiB},
+ },
+ {
+ AllocSizes: []int{
+ 1 * units.MiB,
+ 2 * units.MiB,
+ 3 * units.MiB,
+ 2 * units.MiB,
+ 1 * units.MiB,
+ 5 * units.MiB,
+ },
+ // [2] => [2,4] => [2,4,8] => [2,8,4] => [8,4,2] => [8,4,2,16]
+ FinalAvailableByteBufCaps: []int{
+ 8 * units.MiB,
+ 4 * units.MiB,
+ 2 * units.MiB,
+ 16 * units.MiB,
+ },
+ },
+ } {
+ testKVMemBuf := &kvMemBuf{}
+ for _, allocSize := range tc.AllocSizes {
+ testKVMemBuf.AllocateBuf(allocSize)
+ testKVMemBuf.Recycle(testKVMemBuf.buf)
+ }
+ require.Equal(t, len(tc.FinalAvailableByteBufCaps), len(testKVMemBuf.availableBufs))
+ for i, bb := range testKVMemBuf.availableBufs {
+ require.Equal(t, tc.FinalAvailableByteBufCaps[i], bb.cap)
+ }
+ }
+}
+
+func TestKVMemBufBatchAllocAndRecycle(t *testing.T) {
+ type testCase struct {
+ AllocSizes []int
+ FinalAvailableByteBufCaps []int
+ }
+ testKVMemBuf := &kvMemBuf{}
+ bBufs := []*bytesBuf{}
+ for i := 0; i < maxAvailableBufSize; i++ {
+ testKVMemBuf.AllocateBuf(1 * units.MiB)
+ bBufs = append(bBufs, testKVMemBuf.buf)
+ }
+ for i := 0; i < maxAvailableBufSize; i++ {
+ testKVMemBuf.AllocateBuf(2 * units.MiB)
+ bBufs = append(bBufs, testKVMemBuf.buf)
+ }
+ for _, bb := range bBufs {
+ testKVMemBuf.Recycle(bb)
+ }
+ require.Equal(t, maxAvailableBufSize, len(testKVMemBuf.availableBufs))
+ for _, bb := range testKVMemBuf.availableBufs {
+ require.Equal(t, 4*units.MiB, bb.cap)
+ }
+ bBufs = bBufs[:0]
+ for i := 0; i < maxAvailableBufSize; i++ {
+ testKVMemBuf.AllocateBuf(1 * units.MiB)
+ bb := testKVMemBuf.buf
+ require.Equal(t, 4*units.MiB, bb.cap)
+ bBufs = append(bBufs, bb)
+ require.Equal(t, maxAvailableBufSize-i-1, len(testKVMemBuf.availableBufs))
+ }
+ for _, bb := range bBufs {
+ testKVMemBuf.Recycle(bb)
+ }
+ require.Equal(t, maxAvailableBufSize, len(testKVMemBuf.availableBufs))
+}
diff --git a/br/pkg/lightning/backend/kv/sql2kv.go b/br/pkg/lightning/backend/kv/sql2kv.go
index 6cebb1e29e329..9ad552ef5f340 100644
--- a/br/pkg/lightning/backend/kv/sql2kv.go
+++ b/br/pkg/lightning/backend/kv/sql2kv.go
@@ -169,7 +169,7 @@ func collectGeneratedColumns(se *session, meta *model.TableInfo, cols []*table.C
var genCols []genCol
for i, col := range cols {
if col.GeneratedExpr != nil {
- expr, err := expression.RewriteAstExpr(se, col.GeneratedExpr, schema, names)
+ expr, err := expression.RewriteAstExpr(se, col.GeneratedExpr, schema, names, false)
if err != nil {
return nil, err
}
diff --git a/br/pkg/lightning/backend/local/BUILD.bazel b/br/pkg/lightning/backend/local/BUILD.bazel
index 6e2b5e9a1c43c..9524ab5febc2b 100644
--- a/br/pkg/lightning/backend/local/BUILD.bazel
+++ b/br/pkg/lightning/backend/local/BUILD.bazel
@@ -94,7 +94,7 @@ go_test(
],
embed = [":local"],
flaky = True,
- shard_count = 20,
+ shard_count = 40,
deps = [
"//br/pkg/errors",
"//br/pkg/lightning/backend",
@@ -103,6 +103,7 @@ go_test(
"//br/pkg/lightning/glue",
"//br/pkg/lightning/log",
"//br/pkg/lightning/mydump",
+ "//br/pkg/lightning/worker",
"//br/pkg/membuf",
"//br/pkg/mock",
"//br/pkg/pdutil",
diff --git a/br/pkg/lightning/backend/local/duplicate.go b/br/pkg/lightning/backend/local/duplicate.go
index b2858a8456f36..8877c16ae7740 100644
--- a/br/pkg/lightning/backend/local/duplicate.go
+++ b/br/pkg/lightning/backend/local/duplicate.go
@@ -211,7 +211,7 @@ func physicalTableIDs(tableInfo *model.TableInfo) []int64 {
}
// tableHandleKeyRanges returns all key ranges associated with the tableInfo.
-func tableHandleKeyRanges(tableInfo *model.TableInfo) ([]tidbkv.KeyRange, error) {
+func tableHandleKeyRanges(tableInfo *model.TableInfo) (*tidbkv.KeyRanges, error) {
ranges := ranger.FullIntRange(false)
if tableInfo.IsCommonHandle {
ranges = ranger.FullRange()
@@ -221,18 +221,9 @@ func tableHandleKeyRanges(tableInfo *model.TableInfo) ([]tidbkv.KeyRange, error)
}
// tableIndexKeyRanges returns all key ranges associated with the tableInfo and indexInfo.
-func tableIndexKeyRanges(tableInfo *model.TableInfo, indexInfo *model.IndexInfo) ([]tidbkv.KeyRange, error) {
+func tableIndexKeyRanges(tableInfo *model.TableInfo, indexInfo *model.IndexInfo) (*tidbkv.KeyRanges, error) {
tableIDs := physicalTableIDs(tableInfo)
- //nolint: prealloc
- var keyRanges []tidbkv.KeyRange
- for _, tid := range tableIDs {
- partitionKeysRanges, err := distsql.IndexRangesToKVRanges(nil, tid, indexInfo.ID, ranger.FullRange(), nil)
- if err != nil {
- return nil, errors.Trace(err)
- }
- keyRanges = append(keyRanges, partitionKeysRanges...)
- }
- return keyRanges, nil
+ return distsql.IndexRangesToKVRangesForTables(nil, tableIDs, indexInfo.ID, ranger.FullRange(), nil)
}
// DupKVStream is a streaming interface for collecting duplicate key-value pairs.
@@ -561,14 +552,23 @@ func (m *DuplicateManager) buildDupTasks() ([]dupTask, error) {
if err != nil {
return nil, errors.Trace(err)
}
- tasks := make([]dupTask, 0, len(keyRanges))
- for _, kr := range keyRanges {
- tableID := tablecodec.DecodeTableID(kr.StartKey)
- tasks = append(tasks, dupTask{
- KeyRange: kr,
- tableID: tableID,
- })
+ tasks := make([]dupTask, 0, keyRanges.TotalRangeNum()*(1+len(m.tbl.Meta().Indices)))
+ putToTaskFunc := func(ranges []tidbkv.KeyRange, indexInfo *model.IndexInfo) {
+ if len(ranges) == 0 {
+ return
+ }
+ tid := tablecodec.DecodeTableID(ranges[0].StartKey)
+ for _, r := range ranges {
+ tasks = append(tasks, dupTask{
+ KeyRange: r,
+ tableID: tid,
+ indexInfo: indexInfo,
+ })
+ }
}
+ keyRanges.ForEachPartition(func(ranges []tidbkv.KeyRange) {
+ putToTaskFunc(ranges, nil)
+ })
for _, indexInfo := range m.tbl.Meta().Indices {
if indexInfo.State != model.StatePublic {
continue
@@ -577,14 +577,9 @@ func (m *DuplicateManager) buildDupTasks() ([]dupTask, error) {
if err != nil {
return nil, errors.Trace(err)
}
- for _, kr := range keyRanges {
- tableID := tablecodec.DecodeTableID(kr.StartKey)
- tasks = append(tasks, dupTask{
- KeyRange: kr,
- tableID: tableID,
- indexInfo: indexInfo,
- })
- }
+ keyRanges.ForEachPartition(func(ranges []tidbkv.KeyRange) {
+ putToTaskFunc(ranges, indexInfo)
+ })
}
return tasks, nil
}
@@ -598,15 +593,19 @@ func (m *DuplicateManager) buildIndexDupTasks() ([]dupTask, error) {
if err != nil {
return nil, errors.Trace(err)
}
- tasks := make([]dupTask, 0, len(keyRanges))
- for _, kr := range keyRanges {
- tableID := tablecodec.DecodeTableID(kr.StartKey)
- tasks = append(tasks, dupTask{
- KeyRange: kr,
- tableID: tableID,
- indexInfo: indexInfo,
- })
- }
+ tasks := make([]dupTask, 0, keyRanges.TotalRangeNum())
+ keyRanges.ForEachPartition(func(ranges []tidbkv.KeyRange) {
+ if len(ranges) == 0 {
+ return
+ }
+ tid := tablecodec.DecodeTableID(ranges[0].StartKey)
+ for _, r := range ranges {
+ tasks = append(tasks, dupTask{
+ KeyRange: r,
+ tableID: tid,
+ })
+ }
+ })
return tasks, nil
}
return nil, nil
diff --git a/br/pkg/lightning/backend/local/engine_test.go b/br/pkg/lightning/backend/local/engine_test.go
index c7ffe04b95285..eae0225bb519a 100644
--- a/br/pkg/lightning/backend/local/engine_test.go
+++ b/br/pkg/lightning/backend/local/engine_test.go
@@ -31,8 +31,17 @@ import (
"github.com/stretchr/testify/require"
)
-func TestIngestSSTWithClosedEngine(t *testing.T) {
+func makePebbleDB(t *testing.T, opt *pebble.Options) (*pebble.DB, string) {
dir := t.TempDir()
+ db, err := pebble.Open(path.Join(dir, "test"), opt)
+ require.NoError(t, err)
+ tmpPath := filepath.Join(dir, "test.sst")
+ err = os.Mkdir(tmpPath, 0o755)
+ require.NoError(t, err)
+ return db, tmpPath
+}
+
+func TestIngestSSTWithClosedEngine(t *testing.T) {
opt := &pebble.Options{
MemTableSize: 1024 * 1024,
MaxConcurrentCompactions: 16,
@@ -41,11 +50,7 @@ func TestIngestSSTWithClosedEngine(t *testing.T) {
DisableWAL: true,
ReadOnly: false,
}
- db, err := pebble.Open(filepath.Join(dir, "test"), opt)
- require.NoError(t, err)
- tmpPath := filepath.Join(dir, "test.sst")
- err = os.Mkdir(tmpPath, 0o755)
- require.NoError(t, err)
+ db, tmpPath := makePebbleDB(t, opt)
_, engineUUID := backend.MakeUUID("ww", 0)
engineCtx, cancel := context.WithCancel(context.Background())
diff --git a/br/pkg/lightning/backend/local/local.go b/br/pkg/lightning/backend/local/local.go
index 317124d0b8d19..cc88fd6a89483 100644
--- a/br/pkg/lightning/backend/local/local.go
+++ b/br/pkg/lightning/backend/local/local.go
@@ -91,6 +91,7 @@ const (
gRPCKeepAliveTime = 10 * time.Minute
gRPCKeepAliveTimeout = 5 * time.Minute
gRPCBackOffMaxDelay = 10 * time.Minute
+ writeStallSleepTime = 10 * time.Second
// The max ranges count in a batch to split and scatter.
maxBatchSplitRanges = 4096
@@ -381,6 +382,12 @@ type local struct {
encBuilder backend.EncodingBuilder
targetInfoGetter backend.TargetInfoGetter
+
+ // When TiKV is in normal mode, ingesting too many SSTs will cause TiKV write stall.
+ // To avoid this, we should check write stall before ingesting SSTs. Note that, we
+ // must check both leader node and followers in client side, because followers will
+ // not check write stall as long as ingest command is accepted by leader.
+ shouldCheckWriteStall bool
}
func openDuplicateDB(storeDir string) (*pebble.DB, error) {
@@ -394,6 +401,13 @@ func openDuplicateDB(storeDir string) (*pebble.DB, error) {
return pebble.Open(dbPath, opts)
}
+var (
+ // RunInTest indicates whether the current process is running in test.
+ RunInTest bool
+ // LastAlloc is the last ID allocator.
+ LastAlloc manual.Allocator
+)
+
// NewLocalBackend creates new connections to tikv.
func NewLocalBackend(
ctx context.Context,
@@ -461,6 +475,11 @@ func NewLocalBackend(
} else {
writeLimiter = noopStoreWriteLimiter{}
}
+ alloc := manual.Allocator{}
+ if RunInTest {
+ alloc.RefCnt = new(atomic.Int64)
+ LastAlloc = alloc
+ }
local := &local{
engines: sync.Map{},
pdCtl: pdCtl,
@@ -486,11 +505,12 @@ func NewLocalBackend(
keyAdapter: keyAdapter,
errorMgr: errorMgr,
importClientFactory: importClientFactory,
- bufferPool: membuf.NewPool(membuf.WithAllocator(manual.Allocator{})),
+ bufferPool: membuf.NewPool(membuf.WithAllocator(alloc)),
writeLimiter: writeLimiter,
logger: log.FromContext(ctx),
encBuilder: NewEncodingBuilder(ctx),
targetInfoGetter: NewTargetInfoGetter(tls, g, cfg.TiDB.PdAddr),
+ shouldCheckWriteStall: cfg.Cron.SwitchMode.Duration == 0,
}
if m, ok := metric.FromContext(ctx); ok {
local.metrics = m
@@ -1134,6 +1154,25 @@ func (local *local) Ingest(ctx context.Context, metas []*sst.SSTMeta, region *sp
return resp, errors.Trace(err)
}
+ if local.shouldCheckWriteStall {
+ for {
+ maybeWriteStall, err := local.checkWriteStall(ctx, region)
+ if err != nil {
+ return nil, err
+ }
+ if !maybeWriteStall {
+ break
+ }
+ log.FromContext(ctx).Warn("ingest maybe cause write stall, sleep and retry",
+ zap.Duration("duration", writeStallSleepTime))
+ select {
+ case <-time.After(writeStallSleepTime):
+ case <-ctx.Done():
+ return nil, errors.Trace(ctx.Err())
+ }
+ }
+ }
+
req := &sst.MultiIngestRequest{
Context: reqCtx,
Ssts: metas,
@@ -1142,6 +1181,23 @@ func (local *local) Ingest(ctx context.Context, metas []*sst.SSTMeta, region *sp
return resp, errors.Trace(err)
}
+func (local *local) checkWriteStall(ctx context.Context, region *split.RegionInfo) (bool, error) {
+ for _, peer := range region.Region.GetPeers() {
+ cli, err := local.getImportClient(ctx, peer.StoreId)
+ if err != nil {
+ return false, errors.Trace(err)
+ }
+ resp, err := cli.MultiIngest(ctx, &sst.MultiIngestRequest{})
+ if err != nil {
+ return false, errors.Trace(err)
+ }
+ if resp.Error != nil && resp.Error.ServerIsBusy != nil {
+ return true, nil
+ }
+ }
+ return false, nil
+}
+
func splitRangeBySizeProps(fullRange Range, sizeProps *sizeProperties, sizeLimit int64, keysLimit int64) []Range {
ranges := make([]Range, 0, sizeProps.totalSize/uint64(sizeLimit))
curSize := uint64(0)
diff --git a/br/pkg/lightning/backend/local/local_test.go b/br/pkg/lightning/backend/local/local_test.go
index 1a399552becf9..22d6403d0a1df 100644
--- a/br/pkg/lightning/backend/local/local_test.go
+++ b/br/pkg/lightning/backend/local/local_test.go
@@ -18,10 +18,10 @@ import (
"bytes"
"context"
"encoding/binary"
+ "fmt"
"io"
"math"
"math/rand"
- "os"
"path/filepath"
"sort"
"strings"
@@ -42,6 +42,7 @@ import (
"github.com/pingcap/tidb/br/pkg/lightning/backend/kv"
"github.com/pingcap/tidb/br/pkg/lightning/common"
"github.com/pingcap/tidb/br/pkg/lightning/log"
+ "github.com/pingcap/tidb/br/pkg/lightning/worker"
"github.com/pingcap/tidb/br/pkg/membuf"
"github.com/pingcap/tidb/br/pkg/pdutil"
"github.com/pingcap/tidb/br/pkg/restore/split"
@@ -237,8 +238,6 @@ func TestRangeProperties(t *testing.T) {
}
func TestRangePropertiesWithPebble(t *testing.T) {
- dir := t.TempDir()
-
sizeDistance := uint64(500)
keysDistance := uint64(20)
opt := &pebble.Options{
@@ -259,8 +258,7 @@ func TestRangePropertiesWithPebble(t *testing.T) {
},
},
}
- db, err := pebble.Open(filepath.Join(dir, "test"), opt)
- require.NoError(t, err)
+ db, _ := makePebbleDB(t, opt)
defer db.Close()
// local collector
@@ -277,7 +275,7 @@ func TestRangePropertiesWithPebble(t *testing.T) {
key := make([]byte, 8)
valueLen := rand.Intn(50)
binary.BigEndian.PutUint64(key, uint64(i*100+j))
- err = wb.Set(key, value[:valueLen], writeOpt)
+ err := wb.Set(key, value[:valueLen], writeOpt)
require.NoError(t, err)
err = collector.Add(pebble.InternalKey{UserKey: key, Trailer: pebble.InternalKeyKindSet}, value[:valueLen])
require.NoError(t, err)
@@ -304,7 +302,6 @@ func TestRangePropertiesWithPebble(t *testing.T) {
}
func testLocalWriter(t *testing.T, needSort bool, partitialSort bool) {
- dir := t.TempDir()
opt := &pebble.Options{
MemTableSize: 1024 * 1024,
MaxConcurrentCompactions: 16,
@@ -313,12 +310,8 @@ func testLocalWriter(t *testing.T, needSort bool, partitialSort bool) {
DisableWAL: true,
ReadOnly: false,
}
- db, err := pebble.Open(filepath.Join(dir, "test"), opt)
- require.NoError(t, err)
+ db, tmpPath := makePebbleDB(t, opt)
defer db.Close()
- tmpPath := filepath.Join(dir, "test.sst")
- err = os.Mkdir(tmpPath, 0o755)
- require.NoError(t, err)
_, engineUUID := backend.MakeUUID("ww", 0)
engineCtx, cancel := context.WithCancel(context.Background())
@@ -564,7 +557,6 @@ func (i testIngester) ingest([]*sstMeta) error {
}
func TestLocalIngestLoop(t *testing.T) {
- dir := t.TempDir()
opt := &pebble.Options{
MemTableSize: 1024 * 1024,
MaxConcurrentCompactions: 16,
@@ -573,18 +565,14 @@ func TestLocalIngestLoop(t *testing.T) {
DisableWAL: true,
ReadOnly: false,
}
- db, err := pebble.Open(filepath.Join(dir, "test"), opt)
- require.NoError(t, err)
+ db, tmpPath := makePebbleDB(t, opt)
defer db.Close()
- tmpPath := filepath.Join(dir, "test.sst")
- err = os.Mkdir(tmpPath, 0o755)
- require.NoError(t, err)
_, engineUUID := backend.MakeUUID("ww", 0)
engineCtx, cancel := context.WithCancel(context.Background())
f := Engine{
db: db,
UUID: engineUUID,
- sstDir: "",
+ sstDir: tmpPath,
ctx: engineCtx,
cancel: cancel,
sstMetasChan: make(chan metaOrFlush, 64),
@@ -637,7 +625,7 @@ func TestLocalIngestLoop(t *testing.T) {
wg.Wait()
f.mutex.RLock()
- err = f.flushEngineWithoutLock(engineCtx)
+ err := f.flushEngineWithoutLock(engineCtx)
require.NoError(t, err)
f.mutex.RUnlock()
@@ -732,7 +720,6 @@ func TestFilterOverlapRange(t *testing.T) {
}
func testMergeSSTs(t *testing.T, kvs [][]common.KvPair, meta *sstMeta) {
- dir := t.TempDir()
opt := &pebble.Options{
MemTableSize: 1024 * 1024,
MaxConcurrentCompactions: 16,
@@ -741,12 +728,8 @@ func testMergeSSTs(t *testing.T, kvs [][]common.KvPair, meta *sstMeta) {
DisableWAL: true,
ReadOnly: false,
}
- db, err := pebble.Open(filepath.Join(dir, "test"), opt)
- require.NoError(t, err)
+ db, tmpPath := makePebbleDB(t, opt)
defer db.Close()
- tmpPath := filepath.Join(dir, "test.sst")
- err = os.Mkdir(tmpPath, 0o755)
- require.NoError(t, err)
_, engineUUID := backend.MakeUUID("ww", 0)
engineCtx, cancel := context.WithCancel(context.Background())
@@ -837,49 +820,90 @@ func TestMergeSSTsDuplicated(t *testing.T) {
type mockPdClient struct {
pd.Client
- stores []*metapb.Store
+ stores []*metapb.Store
+ regions []*pd.Region
}
func (c *mockPdClient) GetAllStores(ctx context.Context, opts ...pd.GetStoreOption) ([]*metapb.Store, error) {
return c.stores, nil
}
+func (c *mockPdClient) ScanRegions(ctx context.Context, key, endKey []byte, limit int) ([]*pd.Region, error) {
+ return c.regions, nil
+}
+
type mockGrpcErr struct{}
func (e mockGrpcErr) GRPCStatus() *status.Status {
- return status.New(codes.Unimplemented, "unimplmented")
+ return status.New(codes.Unimplemented, "unimplemented")
}
func (e mockGrpcErr) Error() string {
- return "unimplmented"
+ return "unimplemented"
}
type mockImportClient struct {
sst.ImportSSTClient
store *metapb.Store
+ resp *sst.IngestResponse
err error
retry int
cnt int
multiIngestCheckFn func(s *metapb.Store) bool
+ apiInvokeRecorder map[string][]uint64
+}
+
+func newMockImportClient() *mockImportClient {
+ return &mockImportClient{
+ multiIngestCheckFn: func(s *metapb.Store) bool {
+ return true
+ },
+ }
}
func (c *mockImportClient) MultiIngest(context.Context, *sst.MultiIngestRequest, ...grpc.CallOption) (*sst.IngestResponse, error) {
defer func() {
c.cnt++
}()
- if c.cnt < c.retry && c.err != nil {
- return nil, c.err
+ if c.apiInvokeRecorder != nil {
+ c.apiInvokeRecorder["MultiIngest"] = append(c.apiInvokeRecorder["MultiIngest"], c.store.GetId())
+ }
+ if c.cnt < c.retry && (c.err != nil || c.resp != nil) {
+ return c.resp, c.err
}
if !c.multiIngestCheckFn(c.store) {
return nil, mockGrpcErr{}
}
- return nil, nil
+ return &sst.IngestResponse{}, nil
+}
+
+type mockWriteClient struct {
+ sst.ImportSST_WriteClient
+ writeResp *sst.WriteResponse
+}
+
+func (m mockWriteClient) Send(request *sst.WriteRequest) error {
+ return nil
+}
+
+func (m mockWriteClient) CloseAndRecv() (*sst.WriteResponse, error) {
+ return m.writeResp, nil
+}
+
+func (c *mockImportClient) Write(ctx context.Context, opts ...grpc.CallOption) (sst.ImportSST_WriteClient, error) {
+ if c.apiInvokeRecorder != nil {
+ c.apiInvokeRecorder["Write"] = append(c.apiInvokeRecorder["Write"], c.store.GetId())
+ }
+ return mockWriteClient{writeResp: &sst.WriteResponse{Metas: []*sst.SSTMeta{
+ {}, {}, {},
+ }}}, nil
}
type mockImportClientFactory struct {
- stores []*metapb.Store
- createClientFn func(store *metapb.Store) sst.ImportSSTClient
+ stores []*metapb.Store
+ createClientFn func(store *metapb.Store) sst.ImportSSTClient
+ apiInvokeRecorder map[string][]uint64
}
func (f *mockImportClientFactory) Create(_ context.Context, storeID uint64) (sst.ImportSSTClient, error) {
@@ -888,7 +912,7 @@ func (f *mockImportClientFactory) Create(_ context.Context, storeID uint64) (sst
return f.createClientFn(store), nil
}
}
- return nil, errors.New("store not found")
+ return nil, fmt.Errorf("store %d not found", storeID)
}
func (f *mockImportClientFactory) Close() {}
@@ -1220,3 +1244,75 @@ func TestLocalIsRetryableTiKVWriteError(t *testing.T) {
require.True(t, l.isRetryableImportTiKVError(io.EOF))
require.True(t, l.isRetryableImportTiKVError(errors.Trace(io.EOF)))
}
+
+func TestCheckPeersBusy(t *testing.T) {
+ ctx := context.Background()
+ pdCli := &mockPdClient{}
+ pdCtl := &pdutil.PdController{}
+ pdCtl.SetPDClient(pdCli)
+
+ keys := [][]byte{[]byte(""), []byte("a"), []byte("b"), []byte("")}
+ splitCli := initTestSplitClient3Replica(keys, nil)
+ apiInvokeRecorder := map[string][]uint64{}
+ serverIsBusyResp := &sst.IngestResponse{
+ Error: &errorpb.Error{
+ ServerIsBusy: &errorpb.ServerIsBusy{},
+ }}
+
+ createTimeStore12 := 0
+ local := &local{
+ pdCtl: pdCtl,
+ splitCli: splitCli,
+ importClientFactory: &mockImportClientFactory{
+ stores: []*metapb.Store{
+ // region ["", "a") is not used, skip (1, 2, 3)
+ {Id: 11}, {Id: 12}, {Id: 13}, // region ["a", "b")
+ {Id: 21}, {Id: 22}, {Id: 23}, // region ["b", "")
+ },
+ createClientFn: func(store *metapb.Store) sst.ImportSSTClient {
+ importCli := newMockImportClient()
+ importCli.store = store
+ importCli.apiInvokeRecorder = apiInvokeRecorder
+ if store.Id == 12 {
+ createTimeStore12++
+ // the second time to checkWriteStall
+ if createTimeStore12 == 2 {
+ importCli.retry = 1
+ importCli.resp = serverIsBusyResp
+ }
+ }
+ return importCli
+ },
+ },
+ logger: log.L(),
+ ingestConcurrency: worker.NewPool(ctx, 1, "ingest"),
+ writeLimiter: noopStoreWriteLimiter{},
+ bufferPool: membuf.NewPool(),
+ supportMultiIngest: true,
+ shouldCheckWriteStall: true,
+ }
+
+ db, tmpPath := makePebbleDB(t, nil)
+ _, engineUUID := backend.MakeUUID("ww", 0)
+ engineCtx, cancel := context.WithCancel(context.Background())
+ f := &Engine{
+ db: db,
+ UUID: engineUUID,
+ sstDir: tmpPath,
+ ctx: engineCtx,
+ cancel: cancel,
+ sstMetasChan: make(chan metaOrFlush, 64),
+ keyAdapter: noopKeyAdapter{},
+ logger: log.L(),
+ }
+ err := f.db.Set([]byte("a"), []byte("a"), nil)
+ require.NoError(t, err)
+ err = f.db.Set([]byte("b"), []byte("b"), nil)
+ require.NoError(t, err)
+ err = local.writeAndIngestByRange(ctx, f, []byte("a"), []byte("c"), 0, 0)
+ require.NoError(t, err)
+
+ require.Equal(t, []uint64{11, 12, 13, 21, 22, 23}, apiInvokeRecorder["Write"])
+ // store 12 has a follower busy, so it will cause region peers (11, 12, 13) retry once
+ require.Equal(t, []uint64{11, 12, 11, 12, 13, 11, 21, 22, 23, 21}, apiInvokeRecorder["MultiIngest"])
+}
diff --git a/br/pkg/lightning/backend/local/localhelper_test.go b/br/pkg/lightning/backend/local/localhelper_test.go
index 6cbf7f2f14808..023fade304fae 100644
--- a/br/pkg/lightning/backend/local/localhelper_test.go
+++ b/br/pkg/lightning/backend/local/localhelper_test.go
@@ -47,7 +47,7 @@ func init() {
splitRetryTimes = 2
}
-type testClient struct {
+type testSplitClient struct {
mu sync.RWMutex
stores map[uint64]*metapb.Store
regions map[uint64]*split.RegionInfo
@@ -57,17 +57,17 @@ type testClient struct {
hook clientHook
}
-func newTestClient(
+func newTestSplitClient(
stores map[uint64]*metapb.Store,
regions map[uint64]*split.RegionInfo,
nextRegionID uint64,
hook clientHook,
-) *testClient {
+) *testSplitClient {
regionsInfo := &pdtypes.RegionTree{}
for _, regionInfo := range regions {
regionsInfo.SetRegion(pdtypes.NewRegionInfo(regionInfo.Region, regionInfo.Leader))
}
- return &testClient{
+ return &testSplitClient{
stores: stores,
regions: regions,
regionsInfo: regionsInfo,
@@ -77,17 +77,17 @@ func newTestClient(
}
// ScatterRegions scatters regions in a batch.
-func (c *testClient) ScatterRegions(ctx context.Context, regionInfo []*split.RegionInfo) error {
+func (c *testSplitClient) ScatterRegions(ctx context.Context, regionInfo []*split.RegionInfo) error {
return nil
}
-func (c *testClient) GetAllRegions() map[uint64]*split.RegionInfo {
+func (c *testSplitClient) GetAllRegions() map[uint64]*split.RegionInfo {
c.mu.RLock()
defer c.mu.RUnlock()
return c.regions
}
-func (c *testClient) GetStore(ctx context.Context, storeID uint64) (*metapb.Store, error) {
+func (c *testSplitClient) GetStore(ctx context.Context, storeID uint64) (*metapb.Store, error) {
c.mu.RLock()
defer c.mu.RUnlock()
store, ok := c.stores[storeID]
@@ -97,19 +97,18 @@ func (c *testClient) GetStore(ctx context.Context, storeID uint64) (*metapb.Stor
return store, nil
}
-func (c *testClient) GetRegion(ctx context.Context, key []byte) (*split.RegionInfo, error) {
+func (c *testSplitClient) GetRegion(ctx context.Context, key []byte) (*split.RegionInfo, error) {
c.mu.RLock()
defer c.mu.RUnlock()
for _, region := range c.regions {
- if bytes.Compare(key, region.Region.StartKey) >= 0 &&
- (len(region.Region.EndKey) == 0 || bytes.Compare(key, region.Region.EndKey) < 0) {
+ if bytes.Compare(key, region.Region.StartKey) >= 0 && beforeEnd(key, region.Region.EndKey) {
return region, nil
}
}
return nil, errors.Errorf("region not found: key=%s", string(key))
}
-func (c *testClient) GetRegionByID(ctx context.Context, regionID uint64) (*split.RegionInfo, error) {
+func (c *testSplitClient) GetRegionByID(ctx context.Context, regionID uint64) (*split.RegionInfo, error) {
c.mu.RLock()
defer c.mu.RUnlock()
region, ok := c.regions[regionID]
@@ -119,7 +118,7 @@ func (c *testClient) GetRegionByID(ctx context.Context, regionID uint64) (*split
return region, nil
}
-func (c *testClient) SplitRegion(
+func (c *testSplitClient) SplitRegion(
ctx context.Context,
regionInfo *split.RegionInfo,
key []byte,
@@ -130,7 +129,7 @@ func (c *testClient) SplitRegion(
splitKey := codec.EncodeBytes([]byte{}, key)
for _, region := range c.regions {
if bytes.Compare(splitKey, region.Region.StartKey) >= 0 &&
- (len(region.Region.EndKey) == 0 || bytes.Compare(splitKey, region.Region.EndKey) < 0) {
+ beforeEnd(splitKey, region.Region.EndKey) {
target = region
}
}
@@ -159,7 +158,7 @@ func (c *testClient) SplitRegion(
return newRegion, nil
}
-func (c *testClient) BatchSplitRegionsWithOrigin(
+func (c *testSplitClient) BatchSplitRegionsWithOrigin(
ctx context.Context, regionInfo *split.RegionInfo, keys [][]byte,
) (*split.RegionInfo, []*split.RegionInfo, error) {
c.mu.Lock()
@@ -234,24 +233,24 @@ func (c *testClient) BatchSplitRegionsWithOrigin(
return target, newRegions, err
}
-func (c *testClient) BatchSplitRegions(
+func (c *testSplitClient) BatchSplitRegions(
ctx context.Context, regionInfo *split.RegionInfo, keys [][]byte,
) ([]*split.RegionInfo, error) {
_, newRegions, err := c.BatchSplitRegionsWithOrigin(ctx, regionInfo, keys)
return newRegions, err
}
-func (c *testClient) ScatterRegion(ctx context.Context, regionInfo *split.RegionInfo) error {
+func (c *testSplitClient) ScatterRegion(ctx context.Context, regionInfo *split.RegionInfo) error {
return nil
}
-func (c *testClient) GetOperator(ctx context.Context, regionID uint64) (*pdpb.GetOperatorResponse, error) {
+func (c *testSplitClient) GetOperator(ctx context.Context, regionID uint64) (*pdpb.GetOperatorResponse, error) {
return &pdpb.GetOperatorResponse{
Header: new(pdpb.ResponseHeader),
}, nil
}
-func (c *testClient) ScanRegions(ctx context.Context, key, endKey []byte, limit int) ([]*split.RegionInfo, error) {
+func (c *testSplitClient) ScanRegions(ctx context.Context, key, endKey []byte, limit int) ([]*split.RegionInfo, error) {
if c.hook != nil {
key, endKey, limit = c.hook.BeforeScanRegions(ctx, key, endKey, limit)
}
@@ -272,19 +271,19 @@ func (c *testClient) ScanRegions(ctx context.Context, key, endKey []byte, limit
return regions, err
}
-func (c *testClient) GetPlacementRule(ctx context.Context, groupID, ruleID string) (r pdtypes.Rule, err error) {
+func (c *testSplitClient) GetPlacementRule(ctx context.Context, groupID, ruleID string) (r pdtypes.Rule, err error) {
return
}
-func (c *testClient) SetPlacementRule(ctx context.Context, rule pdtypes.Rule) error {
+func (c *testSplitClient) SetPlacementRule(ctx context.Context, rule pdtypes.Rule) error {
return nil
}
-func (c *testClient) DeletePlacementRule(ctx context.Context, groupID, ruleID string) error {
+func (c *testSplitClient) DeletePlacementRule(ctx context.Context, groupID, ruleID string) error {
return nil
}
-func (c *testClient) SetStoresLabel(ctx context.Context, stores []uint64, labelKey, labelValue string) error {
+func (c *testSplitClient) SetStoresLabel(ctx context.Context, stores []uint64, labelKey, labelValue string) error {
return nil
}
@@ -305,7 +304,7 @@ func cloneRegion(region *split.RegionInfo) *split.RegionInfo {
// For keys ["", "aay", "bba", "bbh", "cca", ""], the key ranges of
// regions are [, aay), [aay, bba), [bba, bbh), [bbh, cca), [cca, ).
-func initTestClient(keys [][]byte, hook clientHook) *testClient {
+func initTestSplitClient(keys [][]byte, hook clientHook) *testSplitClient {
peers := make([]*metapb.Peer, 1)
peers[0] = &metapb.Peer{
Id: 1,
@@ -329,13 +328,56 @@ func initTestClient(keys [][]byte, hook clientHook) *testClient {
EndKey: endKey,
RegionEpoch: &metapb.RegionEpoch{ConfVer: 1, Version: 1},
},
+ Leader: peers[0],
}
}
stores := make(map[uint64]*metapb.Store)
stores[1] = &metapb.Store{
Id: 1,
}
- return newTestClient(stores, regions, uint64(len(keys)), hook)
+ return newTestSplitClient(stores, regions, uint64(len(keys)), hook)
+}
+
+// initTestSplitClient3Replica will create a client that each region has 3 replicas, and their IDs and StoreIDs are
+// (1, 2, 3), (11, 12, 13), ...
+// For keys ["", "aay", "bba", "bbh", "cca", ""], the key ranges of
+// region ranges are [, aay), [aay, bba), [bba, bbh), [bbh, cca), [cca, ).
+func initTestSplitClient3Replica(keys [][]byte, hook clientHook) *testSplitClient {
+ regions := make(map[uint64]*split.RegionInfo)
+ stores := make(map[uint64]*metapb.Store)
+ for i := uint64(1); i < uint64(len(keys)); i++ {
+ startKey := keys[i-1]
+ if len(startKey) != 0 {
+ startKey = codec.EncodeBytes([]byte{}, startKey)
+ }
+ endKey := keys[i]
+ if len(endKey) != 0 {
+ endKey = codec.EncodeBytes([]byte{}, endKey)
+ }
+ baseID := (i-1)*10 + 1
+ peers := make([]*metapb.Peer, 3)
+ for j := 0; j < 3; j++ {
+ peers[j] = &metapb.Peer{
+ Id: baseID + uint64(j),
+ StoreId: baseID + uint64(j),
+ }
+ }
+
+ regions[baseID] = &split.RegionInfo{
+ Region: &metapb.Region{
+ Id: baseID,
+ Peers: peers,
+ StartKey: startKey,
+ EndKey: endKey,
+ RegionEpoch: &metapb.RegionEpoch{ConfVer: 1, Version: 1},
+ },
+ Leader: peers[0],
+ }
+ stores[baseID] = &metapb.Store{
+ Id: baseID,
+ }
+ }
+ return newTestSplitClient(stores, regions, uint64(len(keys)), hook)
}
func checkRegionRanges(t *testing.T, regions []*split.RegionInfo, keys [][]byte) {
@@ -376,7 +418,7 @@ func (h *noopHook) AfterScanRegions(res []*split.RegionInfo, err error) ([]*spli
type batchSplitHook interface {
setup(t *testing.T) func()
- check(t *testing.T, cli *testClient)
+ check(t *testing.T, cli *testSplitClient)
}
type defaultHook struct{}
@@ -392,7 +434,7 @@ func (d defaultHook) setup(t *testing.T) func() {
}
}
-func (d defaultHook) check(t *testing.T, cli *testClient) {
+func (d defaultHook) check(t *testing.T, cli *testSplitClient) {
// so with a batch split size of 4, there will be 7 time batch split
// 1. region: [aay, bba), keys: [b, ba, bb]
// 2. region: [bbh, cca), keys: [bc, bd, be, bf]
@@ -414,7 +456,7 @@ func doTestBatchSplitRegionByRanges(ctx context.Context, t *testing.T, hook clie
defer deferFunc()
keys := [][]byte{[]byte(""), []byte("aay"), []byte("bba"), []byte("bbh"), []byte("cca"), []byte("")}
- client := initTestClient(keys, hook)
+ client := initTestSplitClient(keys, hook)
local := &local{
splitCli: client,
g: glue.NewExternalTiDBGlue(nil, mysql.ModeNone),
@@ -479,7 +521,7 @@ func (h batchSizeHook) setup(t *testing.T) func() {
}
}
-func (h batchSizeHook) check(t *testing.T, cli *testClient) {
+func (h batchSizeHook) check(t *testing.T, cli *testSplitClient) {
// so with a batch split key size of 6, there will be 9 time batch split
// 1. region: [aay, bba), keys: [b, ba, bb]
// 2. region: [bbh, cca), keys: [bc, bd, be]
@@ -583,7 +625,7 @@ func TestSplitAndScatterRegionInBatches(t *testing.T) {
defer deferFunc()
keys := [][]byte{[]byte(""), []byte("a"), []byte("b"), []byte("")}
- client := initTestClient(keys, nil)
+ client := initTestSplitClient(keys, nil)
local := &local{
splitCli: client,
g: glue.NewExternalTiDBGlue(nil, mysql.ModeNone),
@@ -670,7 +712,7 @@ func doTestBatchSplitByRangesWithClusteredIndex(t *testing.T, hook clientHook) {
keys = append(keys, key)
}
keys = append(keys, tableEndKey, []byte(""))
- client := initTestClient(keys, hook)
+ client := initTestSplitClient(keys, hook)
local := &local{
splitCli: client,
g: glue.NewExternalTiDBGlue(nil, mysql.ModeNone),
diff --git a/br/pkg/lightning/checkpoints/checkpoints.go b/br/pkg/lightning/checkpoints/checkpoints.go
index 13817e28eb668..d20134660de9c 100644
--- a/br/pkg/lightning/checkpoints/checkpoints.go
+++ b/br/pkg/lightning/checkpoints/checkpoints.go
@@ -262,6 +262,29 @@ func (ccp *ChunkCheckpoint) DeepCopy() *ChunkCheckpoint {
}
}
+func (ccp *ChunkCheckpoint) UnfinishedSize() int64 {
+ if ccp.FileMeta.Compression == mydump.CompressionNone {
+ return ccp.Chunk.EndOffset - ccp.Chunk.Offset
+ }
+ return ccp.FileMeta.FileSize - ccp.Chunk.RealOffset
+}
+
+func (ccp *ChunkCheckpoint) TotalSize() int64 {
+ if ccp.FileMeta.Compression == mydump.CompressionNone {
+ return ccp.Chunk.EndOffset - ccp.Key.Offset
+ }
+ // TODO: compressed file won't be split into chunks, so using FileSize as TotalSize is ok
+ // change this when we support split compressed file into chunks
+ return ccp.FileMeta.FileSize
+}
+
+func (ccp *ChunkCheckpoint) FinishedSize() int64 {
+ if ccp.FileMeta.Compression == mydump.CompressionNone {
+ return ccp.Chunk.Offset - ccp.Key.Offset
+ }
+ return ccp.Chunk.RealOffset - ccp.Key.Offset
+}
+
type EngineCheckpoint struct {
Status CheckpointStatus
Chunks []*ChunkCheckpoint // a sorted array
diff --git a/br/pkg/lightning/common/errors.go b/br/pkg/lightning/common/errors.go
index c2fc3dbaa901f..1b23ff99fc1b4 100644
--- a/br/pkg/lightning/common/errors.go
+++ b/br/pkg/lightning/common/errors.go
@@ -51,6 +51,7 @@ var (
ErrCheckTableEmpty = errors.Normalize("check table empty error", errors.RFCCodeText("Lightning:PreCheck:ErrCheckTableEmpty"))
ErrCheckCSVHeader = errors.Normalize("check csv header error", errors.RFCCodeText("Lightning:PreCheck:ErrCheckCSVHeader"))
ErrCheckDataSource = errors.Normalize("check data source error", errors.RFCCodeText("Lightning:PreCheck:ErrCheckDataSource"))
+ ErrCheckCDCPiTR = errors.Normalize("check TiCDC/PiTR task error", errors.RFCCodeText("Lightning:PreCheck:ErrCheckCDCPiTR"))
ErrOpenCheckpoint = errors.Normalize("open checkpoint error", errors.RFCCodeText("Lightning:Checkpoint:ErrOpenCheckpoint"))
ErrReadCheckpoint = errors.Normalize("read checkpoint error", errors.RFCCodeText("Lightning:Checkpoint:ErrReadCheckpoint"))
diff --git a/br/pkg/lightning/common/util.go b/br/pkg/lightning/common/util.go
index 679ba6cc5d48b..b9bdf564403de 100644
--- a/br/pkg/lightning/common/util.go
+++ b/br/pkg/lightning/common/util.go
@@ -16,6 +16,7 @@ package common
import (
"context"
+ "crypto/tls"
"database/sql"
"encoding/base64"
"encoding/json"
@@ -47,14 +48,16 @@ const (
// MySQLConnectParam records the parameters needed to connect to a MySQL database.
type MySQLConnectParam struct {
- Host string
- Port int
- User string
- Password string
- SQLMode string
- MaxAllowedPacket uint64
- TLS string
- Vars map[string]string
+ Host string
+ Port int
+ User string
+ Password string
+ SQLMode string
+ MaxAllowedPacket uint64
+ TLSConfig *tls.Config
+ AllowFallbackToPlaintext bool
+ Net string
+ Vars map[string]string
}
func (param *MySQLConnectParam) ToDriverConfig() *mysql.Config {
@@ -64,11 +67,16 @@ func (param *MySQLConnectParam) ToDriverConfig() *mysql.Config {
cfg.User = param.User
cfg.Passwd = param.Password
cfg.Net = "tcp"
+ if param.Net != "" {
+ cfg.Net = param.Net
+ }
cfg.Addr = net.JoinHostPort(param.Host, strconv.Itoa(param.Port))
cfg.Params["charset"] = "utf8mb4"
cfg.Params["sql_mode"] = fmt.Sprintf("'%s'", param.SQLMode)
cfg.MaxAllowedPacket = int(param.MaxAllowedPacket)
- cfg.TLSConfig = param.TLS
+
+ cfg.TLS = param.TLSConfig
+ cfg.AllowFallbackToPlaintext = param.AllowFallbackToPlaintext
for k, v := range param.Vars {
cfg.Params[k] = fmt.Sprintf("'%s'", v)
diff --git a/br/pkg/lightning/config/BUILD.bazel b/br/pkg/lightning/config/BUILD.bazel
index 6d2cb32a9ccc7..b69d2fca0d310 100644
--- a/br/pkg/lightning/config/BUILD.bazel
+++ b/br/pkg/lightning/config/BUILD.bazel
@@ -24,7 +24,6 @@ go_library(
"@com_github_carlmjohnson_flagext//:flagext",
"@com_github_docker_go_units//:go-units",
"@com_github_go_sql_driver_mysql//:mysql",
- "@com_github_google_uuid//:uuid",
"@com_github_pingcap_errors//:errors",
"@org_uber_go_atomic//:atomic",
"@org_uber_go_zap//:zap",
diff --git a/br/pkg/lightning/config/config.go b/br/pkg/lightning/config/config.go
index fdbe962433806..7888cd315c357 100644
--- a/br/pkg/lightning/config/config.go
+++ b/br/pkg/lightning/config/config.go
@@ -16,6 +16,7 @@ package config
import (
"context"
+ "crypto/tls"
"encoding/json"
"fmt"
"math"
@@ -32,7 +33,6 @@ import (
"github.com/BurntSushi/toml"
"github.com/docker/go-units"
gomysql "github.com/go-sql-driver/mysql"
- "github.com/google/uuid"
"github.com/pingcap/errors"
"github.com/pingcap/tidb/br/pkg/lightning/common"
"github.com/pingcap/tidb/br/pkg/lightning/log"
@@ -135,6 +135,9 @@ type DBStore struct {
IndexSerialScanConcurrency int `toml:"index-serial-scan-concurrency" json:"index-serial-scan-concurrency"`
ChecksumTableConcurrency int `toml:"checksum-table-concurrency" json:"checksum-table-concurrency"`
Vars map[string]string `toml:"-" json:"vars"`
+
+ IOTotalBytes *atomic.Uint64 `toml:"-" json:"-"`
+ UUID string `toml:"-" json:"-"`
}
type Config struct {
@@ -575,9 +578,8 @@ type Security struct {
// RedactInfoLog indicates that whether enabling redact log
RedactInfoLog bool `toml:"redact-info-log" json:"redact-info-log"`
- // TLSConfigName is used to set tls config for lightning in DM, so we don't expose this field to user
- // DM may running many lightning instances at same time, so we need to set different tls config name for each lightning
- TLSConfigName string `toml:"-" json:"-"`
+ TLSConfig *tls.Config `toml:"-" json:"-"`
+ AllowFallbackToPlaintext bool `toml:"-" json:"-"`
// When DM/engine uses lightning as a library, it can directly pass in the content
CABytes []byte `toml:"-" json:"-"`
@@ -585,10 +587,9 @@ type Security struct {
KeyBytes []byte `toml:"-" json:"-"`
}
-// RegisterMySQL registers the TLS config with name "cluster" or security.TLSConfigName
-// for use in `sql.Open()`. This method is goroutine-safe.
-func (sec *Security) RegisterMySQL() error {
- if sec == nil {
+// BuildTLSConfig builds the tls config which is used by SQL drier later.
+func (sec *Security) BuildTLSConfig() error {
+ if sec == nil || sec.TLSConfig != nil {
return nil
}
@@ -601,21 +602,10 @@ func (sec *Security) RegisterMySQL() error {
if err != nil {
return errors.Trace(err)
}
- if tlsConfig != nil {
- // error happens only when the key coincides with the built-in names.
- _ = gomysql.RegisterTLSConfig(sec.TLSConfigName, tlsConfig)
- }
+ sec.TLSConfig = tlsConfig
return nil
}
-// DeregisterMySQL deregisters the TLS config with security.TLSConfigName
-func (sec *Security) DeregisterMySQL() {
- if sec == nil || len(sec.CAPath) == 0 {
- return
- }
- gomysql.DeregisterTLSConfig(sec.TLSConfigName)
-}
-
// A duration which can be deserialized from a TOML string.
// Implemented as https://github.com/BurntSushi/toml#using-the-encodingtextunmarshaler-interface
type Duration struct {
@@ -1136,18 +1126,27 @@ func (cfg *Config) AdjustCheckPoint() {
switch cfg.Checkpoint.Driver {
case CheckpointDriverMySQL:
param := common.MySQLConnectParam{
- Host: cfg.TiDB.Host,
- Port: cfg.TiDB.Port,
- User: cfg.TiDB.User,
- Password: cfg.TiDB.Psw,
- SQLMode: mysql.DefaultSQLMode,
- MaxAllowedPacket: defaultMaxAllowedPacket,
- TLS: cfg.TiDB.TLS,
+ Host: cfg.TiDB.Host,
+ Port: cfg.TiDB.Port,
+ User: cfg.TiDB.User,
+ Password: cfg.TiDB.Psw,
+ SQLMode: mysql.DefaultSQLMode,
+ MaxAllowedPacket: defaultMaxAllowedPacket,
+ TLSConfig: cfg.TiDB.Security.TLSConfig,
+ AllowFallbackToPlaintext: cfg.TiDB.Security.AllowFallbackToPlaintext,
}
cfg.Checkpoint.MySQLParam = ¶m
case CheckpointDriverFile:
cfg.Checkpoint.DSN = "/tmp/" + cfg.Checkpoint.Schema + ".pb"
}
+ } else {
+ // try to remove allowAllFiles
+ mysqlCfg, err := gomysql.ParseDSN(cfg.Checkpoint.DSN)
+ if err != nil {
+ return
+ }
+ mysqlCfg.AllowAllFiles = false
+ cfg.Checkpoint.DSN = mysqlCfg.FormatDSN()
}
}
@@ -1180,22 +1179,22 @@ func (cfg *Config) CheckAndAdjustSecurity() error {
}
switch cfg.TiDB.TLS {
- case "":
- if len(cfg.TiDB.Security.CAPath) > 0 || len(cfg.TiDB.Security.CABytes) > 0 ||
- len(cfg.TiDB.Security.CertPath) > 0 || len(cfg.TiDB.Security.CertBytes) > 0 ||
- len(cfg.TiDB.Security.KeyPath) > 0 || len(cfg.TiDB.Security.KeyBytes) > 0 {
- if cfg.TiDB.Security.TLSConfigName == "" {
- cfg.TiDB.Security.TLSConfigName = uuid.NewString() // adjust this the default value
+ case "skip-verify", "preferred":
+ if cfg.TiDB.Security.TLSConfig == nil {
+ /* #nosec G402 */
+ cfg.TiDB.Security.TLSConfig = &tls.Config{
+ MinVersion: tls.VersionTLS10,
+ InsecureSkipVerify: true,
+ NextProtos: []string{"h2", "http/1.1"}, // specify `h2` to let Go use HTTP/2.
}
- cfg.TiDB.TLS = cfg.TiDB.Security.TLSConfigName
- } else {
- cfg.TiDB.TLS = "false"
+ cfg.TiDB.Security.AllowFallbackToPlaintext = true
}
case "cluster":
if len(cfg.Security.CAPath) == 0 {
return common.ErrInvalidConfig.GenWithStack("cannot set `tidb.tls` to 'cluster' without a [security] section")
}
- case "false", "skip-verify", "preferred":
+ case "", "false":
+ cfg.TiDB.TLS = "false"
return nil
default:
return common.ErrInvalidConfig.GenWithStack("unsupported `tidb.tls` config %s", cfg.TiDB.TLS)
diff --git a/br/pkg/lightning/config/config_test.go b/br/pkg/lightning/config/config_test.go
index e74094a6b9066..ea0cff40a04c7 100644
--- a/br/pkg/lightning/config/config_test.go
+++ b/br/pkg/lightning/config/config_test.go
@@ -279,31 +279,34 @@ func TestAdjustWillBatchImportRatioInvalid(t *testing.T) {
}
func TestAdjustSecuritySection(t *testing.T) {
- uuidHolder := ""
testCases := []struct {
- input string
- expectedCA string
- expectedTLS string
+ input string
+ expectedCA string
+ hasTLS bool
+ fallback2NoTLS bool
}{
{
- input: ``,
- expectedCA: "",
- expectedTLS: "false",
+ input: ``,
+ expectedCA: "",
+ hasTLS: false,
+ fallback2NoTLS: false,
},
{
input: `
[security]
`,
- expectedCA: "",
- expectedTLS: "false",
+ expectedCA: "",
+ hasTLS: false,
+ fallback2NoTLS: false,
},
{
input: `
[security]
ca-path = "/path/to/ca.pem"
`,
- expectedCA: "/path/to/ca.pem",
- expectedTLS: uuidHolder,
+ expectedCA: "/path/to/ca.pem",
+ hasTLS: false,
+ fallback2NoTLS: false,
},
{
input: `
@@ -311,8 +314,9 @@ func TestAdjustSecuritySection(t *testing.T) {
ca-path = "/path/to/ca.pem"
[tidb.security]
`,
- expectedCA: "",
- expectedTLS: "false",
+ expectedCA: "",
+ hasTLS: false,
+ fallback2NoTLS: false,
},
{
input: `
@@ -321,8 +325,9 @@ func TestAdjustSecuritySection(t *testing.T) {
[tidb.security]
ca-path = "/path/to/ca2.pem"
`,
- expectedCA: "/path/to/ca2.pem",
- expectedTLS: uuidHolder,
+ expectedCA: "/path/to/ca2.pem",
+ hasTLS: false,
+ fallback2NoTLS: false,
},
{
input: `
@@ -330,8 +335,9 @@ func TestAdjustSecuritySection(t *testing.T) {
[tidb.security]
ca-path = "/path/to/ca2.pem"
`,
- expectedCA: "/path/to/ca2.pem",
- expectedTLS: uuidHolder,
+ expectedCA: "/path/to/ca2.pem",
+ hasTLS: false,
+ fallback2NoTLS: false,
},
{
input: `
@@ -340,8 +346,20 @@ func TestAdjustSecuritySection(t *testing.T) {
tls = "skip-verify"
[tidb.security]
`,
- expectedCA: "",
- expectedTLS: "skip-verify",
+ expectedCA: "",
+ hasTLS: true,
+ fallback2NoTLS: true,
+ },
+ {
+ input: `
+ [security]
+ [tidb]
+ tls = "false"
+ [tidb.security]
+ `,
+ expectedCA: "",
+ hasTLS: false,
+ fallback2NoTLS: false,
},
}
@@ -357,19 +375,18 @@ func TestAdjustSecuritySection(t *testing.T) {
err = cfg.Adjust(context.Background())
require.NoError(t, err, comment)
require.Equal(t, tc.expectedCA, cfg.TiDB.Security.CAPath, comment)
- if tc.expectedTLS == uuidHolder {
- require.NotEmpty(t, cfg.TiDB.TLS, comment)
+ if tc.hasTLS {
+ require.NotNil(t, cfg.TiDB.Security.TLSConfig, comment)
} else {
- require.Equal(t, tc.expectedTLS, cfg.TiDB.TLS, comment)
+ require.Nil(t, cfg.TiDB.Security.TLSConfig, comment)
}
+ require.Equal(t, tc.fallback2NoTLS, cfg.TiDB.Security.AllowFallbackToPlaintext, comment)
}
// test different tls config name
cfg := config.NewConfig()
assignMinimalLegalValue(cfg)
cfg.Security.CAPath = "/path/to/ca.pem"
- cfg.Security.TLSConfigName = "tidb-tls"
require.NoError(t, cfg.Adjust(context.Background()))
- require.Equal(t, cfg.TiDB.TLS, cfg.TiDB.Security.TLSConfigName)
}
func TestInvalidCSV(t *testing.T) {
@@ -626,7 +643,7 @@ func TestLoadConfig(t *testing.T) {
err = taskCfg.Adjust(context.Background())
require.NoError(t, err)
equivalentDSN := taskCfg.Checkpoint.MySQLParam.ToDriverConfig().FormatDSN()
- expectedDSN := "guest:12345@tcp(172.16.30.11:4001)/?tls=false&maxAllowedPacket=67108864&charset=utf8mb4&sql_mode=%27ONLY_FULL_GROUP_BY%2CSTRICT_TRANS_TABLES%2CNO_ZERO_IN_DATE%2CNO_ZERO_DATE%2CERROR_FOR_DIVISION_BY_ZERO%2CNO_AUTO_CREATE_USER%2CNO_ENGINE_SUBSTITUTION%27"
+ expectedDSN := "guest:12345@tcp(172.16.30.11:4001)/?maxAllowedPacket=67108864&charset=utf8mb4&sql_mode=%27ONLY_FULL_GROUP_BY%2CSTRICT_TRANS_TABLES%2CNO_ZERO_IN_DATE%2CNO_ZERO_DATE%2CERROR_FOR_DIVISION_BY_ZERO%2CNO_AUTO_CREATE_USER%2CNO_ENGINE_SUBSTITUTION%27"
require.Equal(t, expectedDSN, equivalentDSN)
result := taskCfg.String()
@@ -783,6 +800,17 @@ func TestAdjustDiskQuota(t *testing.T) {
require.Equal(t, int64(0), int64(cfg.TikvImporter.DiskQuota))
}
+func TestRemoveAllowAllFiles(t *testing.T) {
+ cfg := config.NewConfig()
+ assignMinimalLegalValue(cfg)
+ ctx := context.Background()
+
+ cfg.Checkpoint.Driver = config.CheckpointDriverMySQL
+ cfg.Checkpoint.DSN = "guest:12345@tcp(172.16.30.11:4001)/?tls=false&allowAllFiles=true&charset=utf8mb4"
+ require.NoError(t, cfg.Adjust(ctx))
+ require.Equal(t, "guest:12345@tcp(172.16.30.11:4001)/?tls=false&charset=utf8mb4", cfg.Checkpoint.DSN)
+}
+
func TestDataCharacterSet(t *testing.T) {
testCases := []struct {
input string
diff --git a/br/pkg/lightning/errormanager/errormanager.go b/br/pkg/lightning/errormanager/errormanager.go
index 43035716d729c..373ba572779d4 100644
--- a/br/pkg/lightning/errormanager/errormanager.go
+++ b/br/pkg/lightning/errormanager/errormanager.go
@@ -40,9 +40,10 @@ const (
CREATE SCHEMA IF NOT EXISTS %s;
`
- syntaxErrorTableName = "syntax_error_v1"
- typeErrorTableName = "type_error_v1"
- conflictErrorTableName = "conflict_error_v1"
+ syntaxErrorTableName = "syntax_error_v1"
+ typeErrorTableName = "type_error_v1"
+ // ConflictErrorTableName is the table name for duplicate detection.
+ ConflictErrorTableName = "conflict_error_v1"
createSyntaxErrorTable = `
CREATE TABLE IF NOT EXISTS %s.` + syntaxErrorTableName + ` (
@@ -69,7 +70,7 @@ const (
`
createConflictErrorTable = `
- CREATE TABLE IF NOT EXISTS %s.` + conflictErrorTableName + ` (
+ CREATE TABLE IF NOT EXISTS %s.` + ConflictErrorTableName + ` (
task_id bigint NOT NULL,
create_time datetime(6) NOT NULL DEFAULT now(6),
table_name varchar(261) NOT NULL,
@@ -91,7 +92,7 @@ const (
`
insertIntoConflictErrorData = `
- INSERT INTO %s.` + conflictErrorTableName + `
+ INSERT INTO %s.` + ConflictErrorTableName + `
(task_id, table_name, index_name, key_data, row_data, raw_key, raw_value, raw_handle, raw_row)
VALUES
`
@@ -99,7 +100,7 @@ const (
sqlValuesConflictErrorData = "(?,?,'PRIMARY',?,?,?,?,raw_key,raw_value)"
insertIntoConflictErrorIndex = `
- INSERT INTO %s.` + conflictErrorTableName + `
+ INSERT INTO %s.` + ConflictErrorTableName + `
(task_id, table_name, index_name, key_data, row_data, raw_key, raw_value, raw_handle, raw_row)
VALUES
`
@@ -108,7 +109,7 @@ const (
selectConflictKeys = `
SELECT _tidb_rowid, raw_handle, raw_row
- FROM %s.` + conflictErrorTableName + `
+ FROM %s.` + ConflictErrorTableName + `
WHERE table_name = ? AND _tidb_rowid >= ? and _tidb_rowid < ?
ORDER BY _tidb_rowid LIMIT ?;
`
@@ -468,7 +469,7 @@ func (em *ErrorManager) LogErrorDetails() {
em.logger.Warn(fmtErrMsg(errCnt, "data type", ""))
}
if errCnt := em.conflictError(); errCnt > 0 {
- em.logger.Warn(fmtErrMsg(errCnt, "data type", conflictErrorTableName))
+ em.logger.Warn(fmtErrMsg(errCnt, "data type", ConflictErrorTableName))
}
}
@@ -511,7 +512,7 @@ func (em *ErrorManager) Output() string {
}
if errCnt := em.conflictError(); errCnt > 0 {
count++
- t.AppendRow(table.Row{count, "Unique Key Conflict", errCnt, em.fmtTableName(conflictErrorTableName)})
+ t.AppendRow(table.Row{count, "Unique Key Conflict", errCnt, em.fmtTableName(ConflictErrorTableName)})
}
res := "\nImport Data Error Summary: \n"
diff --git a/br/pkg/lightning/lightning.go b/br/pkg/lightning/lightning.go
index 3770f7c8f07a4..46c38e112b57d 100644
--- a/br/pkg/lightning/lightning.go
+++ b/br/pkg/lightning/lightning.go
@@ -33,6 +33,8 @@ import (
"sync"
"time"
+ "github.com/go-sql-driver/mysql"
+ "github.com/google/uuid"
"github.com/pingcap/errors"
"github.com/pingcap/failpoint"
"github.com/pingcap/kvproto/pkg/import_sstpb"
@@ -53,11 +55,13 @@ import (
"github.com/pingcap/tidb/br/pkg/version/build"
_ "github.com/pingcap/tidb/expression" // get rid of `import cycle`: just init expression.RewriteAstExpr,and called at package `backend.kv`.
_ "github.com/pingcap/tidb/planner/core"
+ "github.com/pingcap/tidb/util"
"github.com/pingcap/tidb/util/promutil"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/collectors"
"github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/shurcooL/httpgzip"
+ "go.uber.org/atomic"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
"golang.org/x/exp/slices"
@@ -77,6 +81,7 @@ type Lightning struct {
promFactory promutil.Factory
promRegistry promutil.Registry
+ metrics *metric.Metrics
cancelLock sync.Mutex
curTask *config.Config
@@ -369,6 +374,36 @@ func (l *Lightning) RunOnceWithOptions(taskCtx context.Context, taskCfg *config.
taskCfg.TaskID = int64(val.(int))
})
+ failpoint.Inject("SetIOTotalBytes", func(_ failpoint.Value) {
+ o.logger.Info("set io total bytes")
+ taskCfg.TiDB.IOTotalBytes = atomic.NewUint64(0)
+ taskCfg.TiDB.UUID = uuid.New().String()
+ go func() {
+ for {
+ time.Sleep(time.Millisecond * 10)
+ log.L().Info("IOTotalBytes", zap.Uint64("IOTotalBytes", taskCfg.TiDB.IOTotalBytes.Load()))
+ }
+ }()
+ })
+ if taskCfg.TiDB.IOTotalBytes != nil {
+ o.logger.Info("found IO total bytes counter")
+ mysql.RegisterDialContext(taskCfg.TiDB.UUID, func(ctx context.Context, addr string) (net.Conn, error) {
+ o.logger.Debug("connection with IO bytes counter")
+ d := &net.Dialer{}
+ conn, err := d.DialContext(ctx, "tcp", addr)
+ if err != nil {
+ return nil, err
+ }
+ tcpConn := conn.(*net.TCPConn)
+ // try https://github.com/go-sql-driver/mysql/blob/bcc459a906419e2890a50fc2c99ea6dd927a88f2/connector.go#L56-L64
+ err = tcpConn.SetKeepAlive(true)
+ if err != nil {
+ o.logger.Warn("set TCP keep alive failed", zap.Error(err))
+ }
+ return util.NewTCPConnWithIOCounter(tcpConn, taskCfg.TiDB.IOTotalBytes), nil
+ })
+ }
+
return l.run(taskCtx, taskCfg, o)
}
@@ -388,6 +423,7 @@ func (l *Lightning) run(taskCtx context.Context, taskCfg *config.Config, o *opti
defer func() {
metrics.UnregisterFrom(o.promRegistry)
}()
+ l.metrics = metrics
ctx := metric.NewContext(taskCtx, metrics)
ctx = log.NewContext(ctx, o.logger)
@@ -433,18 +469,21 @@ func (l *Lightning) run(taskCtx context.Context, taskCfg *config.Config, o *opti
}
})
- if err := taskCfg.TiDB.Security.RegisterMySQL(); err != nil {
+ failpoint.Inject("PrintStatus", func() {
+ defer func() {
+ finished, total := l.Status()
+ o.logger.Warn("PrintStatus Failpoint",
+ zap.Int64("finished", finished),
+ zap.Int64("total", total),
+ zap.Bool("equal", finished == total))
+ }()
+ })
+
+ if err := taskCfg.TiDB.Security.BuildTLSConfig(); err != nil {
return common.ErrInvalidTLSConfig.Wrap(err)
}
- defer func() {
- // deregister TLS config with name "cluster"
- if taskCfg.TiDB.Security == nil {
- return
- }
- taskCfg.TiDB.Security.DeregisterMySQL()
- }()
- // initiation of default glue should be after RegisterMySQL, which is ready to be called after taskCfg.Adjust
+ // initiation of default glue should be after BuildTLSConfig, which is ready to be called after taskCfg.Adjust
// and also put it here could avoid injecting another two SkipRunTask failpoint to caller
g := o.glue
if g == nil {
@@ -502,8 +541,6 @@ func (l *Lightning) run(taskCtx context.Context, taskCfg *config.Config, o *opti
dbMetas := mdl.GetDatabases()
web.BroadcastInitProgress(dbMetas)
- var procedure *restore.Controller
-
param := &restore.ControllerParam{
DBMetas: dbMetas,
Status: &l.status,
@@ -512,8 +549,10 @@ func (l *Lightning) run(taskCtx context.Context, taskCfg *config.Config, o *opti
Glue: g,
CheckpointStorage: o.checkpointStorage,
CheckpointName: o.checkpointName,
+ DupIndicator: o.dupIndicator,
}
+ var procedure *restore.Controller
procedure, err = restore.NewRestoreController(ctx, taskCfg, param)
if err != nil {
o.logger.Error("restore failed", log.ShortError(err))
@@ -544,6 +583,12 @@ func (l *Lightning) Status() (finished int64, total int64) {
return
}
+// Metrics returns the metrics of lightning.
+// it's inited during `run`, so might return nil.
+func (l *Lightning) Metrics() *metric.Metrics {
+ return l.metrics
+}
+
func writeJSONError(w http.ResponseWriter, code int, prefix string, err error) {
type errorResponse struct {
Error string `json:"error"`
diff --git a/br/pkg/lightning/manual/BUILD.bazel b/br/pkg/lightning/manual/BUILD.bazel
index 6d1fc18dd2495..d54902a23c066 100644
--- a/br/pkg/lightning/manual/BUILD.bazel
+++ b/br/pkg/lightning/manual/BUILD.bazel
@@ -10,4 +10,5 @@ go_library(
cgo = True,
importpath = "github.com/pingcap/tidb/br/pkg/lightning/manual",
visibility = ["//visibility:public"],
+ deps = ["@org_uber_go_atomic//:atomic"],
)
diff --git a/br/pkg/lightning/manual/allocator.go b/br/pkg/lightning/manual/allocator.go
index 821eb750c5030..18aa8cc9353c4 100644
--- a/br/pkg/lightning/manual/allocator.go
+++ b/br/pkg/lightning/manual/allocator.go
@@ -14,8 +14,33 @@
package manual
-type Allocator struct{}
+import (
+ "fmt"
-func (Allocator) Alloc(n int) []byte { return New(n) }
+ "go.uber.org/atomic"
+)
-func (Allocator) Free(b []byte) { Free(b) }
+type Allocator struct {
+ RefCnt *atomic.Int64
+}
+
+func (a Allocator) Alloc(n int) []byte {
+ if a.RefCnt != nil {
+ a.RefCnt.Add(1)
+ }
+ return New(n)
+}
+
+func (a Allocator) Free(b []byte) {
+ if a.RefCnt != nil {
+ a.RefCnt.Add(-1)
+ }
+ Free(b)
+}
+
+func (a Allocator) CheckRefCnt() error {
+ if a.RefCnt != nil && a.RefCnt.Load() != 0 {
+ return fmt.Errorf("memory leak detected, refCnt: %d", a.RefCnt.Load())
+ }
+ return nil
+}
diff --git a/br/pkg/lightning/mydump/csv/split_large_file.csv.zst b/br/pkg/lightning/mydump/csv/split_large_file.csv.zst
new file mode 100644
index 0000000000000..9609230bf04a5
Binary files /dev/null and b/br/pkg/lightning/mydump/csv/split_large_file.csv.zst differ
diff --git a/br/pkg/lightning/mydump/loader.go b/br/pkg/lightning/mydump/loader.go
index 98661d3a46f8c..d55bce6f94fc5 100644
--- a/br/pkg/lightning/mydump/loader.go
+++ b/br/pkg/lightning/mydump/loader.go
@@ -16,6 +16,7 @@ package mydump
import (
"context"
+ "io"
"path/filepath"
"sort"
"strings"
@@ -30,6 +31,9 @@ import (
"go.uber.org/zap"
)
+// sampleCompressedFileSize represents how many bytes need to be sampled for compressed files
+const sampleCompressedFileSize = 4 * 1024
+
// MDDatabaseMeta contains some parsed metadata for a database in the source by MyDumper Loader.
type MDDatabaseMeta struct {
Name string
@@ -82,7 +86,9 @@ type SourceFileMeta struct {
Compression Compression
SortKey string
FileSize int64
- ExtendData ExtendColumnData
+ // WARNING: variables below are not persistent
+ ExtendData ExtendColumnData
+ RealSize int64
}
// NewMDTableMeta creates an Mydumper table meta with specified character set.
@@ -386,7 +392,7 @@ func (s *mdLoaderSetup) setup(ctx context.Context) error {
// set a dummy `FileInfo` here without file meta because we needn't restore the table schema
tableMeta, _, _ := s.insertTable(FileInfo{TableName: fileInfo.TableName})
tableMeta.DataFiles = append(tableMeta.DataFiles, fileInfo)
- tableMeta.TotalSize += fileInfo.FileMeta.FileSize
+ tableMeta.TotalSize += fileInfo.FileMeta.RealSize
}
for _, dbMeta := range s.loader.dbs {
@@ -453,7 +459,7 @@ func (s *mdLoaderSetup) constructFileInfo(ctx context.Context, path string, size
info := FileInfo{
TableName: filter.Table{Schema: res.Schema, Name: res.Name},
- FileMeta: SourceFileMeta{Path: path, Type: res.Type, Compression: res.Compression, SortKey: res.Key, FileSize: size},
+ FileMeta: SourceFileMeta{Path: path, Type: res.Type, Compression: res.Compression, SortKey: res.Key, FileSize: size, RealSize: size},
}
if s.loader.shouldSkip(&info.TableName) {
@@ -470,6 +476,15 @@ func (s *mdLoaderSetup) constructFileInfo(ctx context.Context, path string, size
case SourceTypeViewSchema:
s.viewSchemas = append(s.viewSchemas, info)
case SourceTypeSQL, SourceTypeCSV, SourceTypeParquet:
+ if info.FileMeta.Compression != CompressionNone {
+ compressRatio, err2 := SampleFileCompressRatio(ctx, info.FileMeta, s.loader.GetStore())
+ if err2 != nil {
+ logger.Error("[loader] fail to calculate data file compress ratio",
+ zap.String("schema", res.Schema), zap.String("table", res.Name), zap.Stringer("type", res.Type))
+ } else {
+ info.FileMeta.RealSize = int64(compressRatio * float64(info.FileMeta.FileSize))
+ }
+ }
s.tableDatas = append(s.tableDatas, info)
}
@@ -648,3 +663,81 @@ func (l *MDLoader) GetDatabases() []*MDDatabaseMeta {
func (l *MDLoader) GetStore() storage.ExternalStorage {
return l.store
}
+
+func calculateFileBytes(ctx context.Context,
+ dataFile string,
+ compressType storage.CompressType,
+ store storage.ExternalStorage,
+ offset int64) (tot int, pos int64, err error) {
+ bytes := make([]byte, sampleCompressedFileSize)
+ reader, err := store.Open(ctx, dataFile)
+ if err != nil {
+ return 0, 0, errors.Trace(err)
+ }
+ defer reader.Close()
+
+ compressReader, err := storage.NewLimitedInterceptReader(reader, compressType, offset)
+ if err != nil {
+ return 0, 0, errors.Trace(err)
+ }
+
+ readBytes := func() error {
+ n, err2 := compressReader.Read(bytes)
+ if err2 != nil && errors.Cause(err2) != io.EOF && errors.Cause(err) != io.ErrUnexpectedEOF {
+ return err2
+ }
+ tot += n
+ return err2
+ }
+
+ if offset == 0 {
+ err = readBytes()
+ if err != nil && errors.Cause(err) != io.EOF && errors.Cause(err) != io.ErrUnexpectedEOF {
+ return 0, 0, err
+ }
+ pos, err = compressReader.Seek(0, io.SeekCurrent)
+ if err != nil {
+ return 0, 0, errors.Trace(err)
+ }
+ return tot, pos, nil
+ }
+
+ for {
+ err = readBytes()
+ if err != nil {
+ break
+ }
+ }
+ if err != nil && errors.Cause(err) != io.EOF && errors.Cause(err) != io.ErrUnexpectedEOF {
+ return 0, 0, errors.Trace(err)
+ }
+ return tot, offset, nil
+}
+
+// SampleFileCompressRatio samples the compress ratio of the compressed file.
+func SampleFileCompressRatio(ctx context.Context, fileMeta SourceFileMeta, store storage.ExternalStorage) (float64, error) {
+ if fileMeta.Compression == CompressionNone {
+ return 1, nil
+ }
+ compressType, err := ToStorageCompressType(fileMeta.Compression)
+ if err != nil {
+ return 0, err
+ }
+ // We use the following method to sample the compress ratio of the first few bytes of the file.
+ // 1. read first time aiming to find a valid compressed file offset. If we continue read now, the compress reader will
+ // request more data from file reader buffer them in its memory. We can't compute an accurate compress ratio.
+ // 2. we use a second reading and limit the file reader only read n bytes(n is the valid position we find in the first reading).
+ // Then we read all the data out from the compress reader. The data length m we read out is the uncompressed data length.
+ // Use m/n to compute the compress ratio.
+ // read first time, aims to find a valid end pos in compressed file
+ _, pos, err := calculateFileBytes(ctx, fileMeta.Path, compressType, store, 0)
+ if err != nil {
+ return 0, err
+ }
+ // read second time, original reader ends at first time's valid pos, compute sample data compress ratio
+ tot, pos, err := calculateFileBytes(ctx, fileMeta.Path, compressType, store, pos)
+ if err != nil {
+ return 0, err
+ }
+ return float64(tot) / float64(pos), nil
+}
diff --git a/br/pkg/lightning/mydump/loader_test.go b/br/pkg/lightning/mydump/loader_test.go
index da910c70bedc0..58236d7b626f5 100644
--- a/br/pkg/lightning/mydump/loader_test.go
+++ b/br/pkg/lightning/mydump/loader_test.go
@@ -15,6 +15,8 @@
package mydump_test
import (
+ "bytes"
+ "compress/gzip"
"context"
"fmt"
"os"
@@ -1053,3 +1055,34 @@ func TestExternalDataRoutes(t *testing.T) {
require.Equal(t, expectedExtendVals[i], fileInfo.FileMeta.ExtendData.Values)
}
}
+
+func TestSampleFileCompressRatio(t *testing.T) {
+ s := newTestMydumpLoaderSuite(t)
+ store, err := storage.NewLocalStorage(s.sourceDir)
+ require.NoError(t, err)
+
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+
+ byteArray := make([]byte, 0, 4096)
+ bf := bytes.NewBuffer(byteArray)
+ compressWriter := gzip.NewWriter(bf)
+ csvData := []byte("aaaa\n")
+ for i := 0; i < 1000; i++ {
+ _, err = compressWriter.Write(csvData)
+ require.NoError(t, err)
+ }
+ err = compressWriter.Flush()
+ require.NoError(t, err)
+
+ fileName := "test_1.t1.csv.gz"
+ err = store.WriteFile(ctx, fileName, bf.Bytes())
+ require.NoError(t, err)
+
+ ratio, err := md.SampleFileCompressRatio(ctx, md.SourceFileMeta{
+ Path: fileName,
+ Compression: md.CompressionGZ,
+ }, store)
+ require.NoError(t, err)
+ require.InDelta(t, ratio, 5000.0/float64(bf.Len()), 1e-5)
+}
diff --git a/br/pkg/lightning/mydump/parquet_parser.go b/br/pkg/lightning/mydump/parquet_parser.go
index e7ac2baa6d80f..a1b612903c5e8 100644
--- a/br/pkg/lightning/mydump/parquet_parser.go
+++ b/br/pkg/lightning/mydump/parquet_parser.go
@@ -351,6 +351,12 @@ func (pp *ParquetParser) SetPos(pos int64, rowID int64) error {
return nil
}
+// RealPos implements the Parser interface.
+// For parquet it's equal to Pos().
+func (pp *ParquetParser) RealPos() (int64, error) {
+ return pp.curStart + int64(pp.curIndex), nil
+}
+
// Close closes the parquet file of the parser.
// It implements the Parser interface.
func (pp *ParquetParser) Close() error {
diff --git a/br/pkg/lightning/mydump/parser.go b/br/pkg/lightning/mydump/parser.go
index 73f84424bf5e3..512c3789cfa7f 100644
--- a/br/pkg/lightning/mydump/parser.go
+++ b/br/pkg/lightning/mydump/parser.go
@@ -94,6 +94,7 @@ type ChunkParser struct {
type Chunk struct {
Offset int64
EndOffset int64
+ RealOffset int64
PrevRowIDMax int64
RowIDMax int64
Columns []string
@@ -126,6 +127,7 @@ const (
type Parser interface {
Pos() (pos int64, rowID int64)
SetPos(pos int64, rowID int64) error
+ RealPos() (int64, error)
Close() error
ReadRow() error
LastRow() Row
@@ -175,6 +177,11 @@ func (parser *blockParser) SetPos(pos int64, rowID int64) error {
return nil
}
+// RealPos gets the read position of current reader.
+func (parser *blockParser) RealPos() (int64, error) {
+ return parser.reader.Seek(0, io.SeekCurrent)
+}
+
// Pos returns the current file offset.
// Attention: for compressed sql/csv files, pos is the position in uncompressed files
func (parser *blockParser) Pos() (pos int64, lastRowID int64) {
diff --git a/br/pkg/lightning/mydump/reader.go b/br/pkg/lightning/mydump/reader.go
index 2988c3675dfa9..4837b35aceab2 100644
--- a/br/pkg/lightning/mydump/reader.go
+++ b/br/pkg/lightning/mydump/reader.go
@@ -70,6 +70,13 @@ func decodeCharacterSet(data []byte, characterSet string) ([]byte, error) {
// ExportStatement exports the SQL statement in the schema file.
func ExportStatement(ctx context.Context, store storage.ExternalStorage, sqlFile FileInfo, characterSet string) ([]byte, error) {
+ if sqlFile.FileMeta.Compression != CompressionNone {
+ compressType, err := ToStorageCompressType(sqlFile.FileMeta.Compression)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ store = storage.WithCompression(store, compressType)
+ }
fd, err := store.Open(ctx, sqlFile.FileMeta.Path)
if err != nil {
return nil, errors.Trace(err)
diff --git a/br/pkg/lightning/mydump/reader_test.go b/br/pkg/lightning/mydump/reader_test.go
index e7506ea869782..1f67f2c31c43a 100644
--- a/br/pkg/lightning/mydump/reader_test.go
+++ b/br/pkg/lightning/mydump/reader_test.go
@@ -15,6 +15,7 @@
package mydump_test
import (
+ "compress/gzip"
"context"
"errors"
"os"
@@ -173,3 +174,28 @@ func TestExportStatementHandleNonEOFError(t *testing.T) {
_, err := ExportStatement(ctx, mockStorage, f, "auto")
require.Contains(t, err.Error(), "read error")
}
+
+func TestExportStatementCompressed(t *testing.T) {
+ dir := t.TempDir()
+ file, err := os.Create(filepath.Join(dir, "tidb_lightning_test_reader"))
+ require.NoError(t, err)
+ defer os.Remove(file.Name())
+
+ store, err := storage.NewLocalStorage(dir)
+ require.NoError(t, err)
+
+ gzipFile := gzip.NewWriter(file)
+ _, err = gzipFile.Write([]byte("CREATE DATABASE whatever;"))
+ require.NoError(t, err)
+ err = gzipFile.Close()
+ require.NoError(t, err)
+ stat, err := file.Stat()
+ require.NoError(t, err)
+ err = file.Close()
+ require.NoError(t, err)
+
+ f := FileInfo{FileMeta: SourceFileMeta{Path: stat.Name(), FileSize: stat.Size(), Compression: CompressionGZ}}
+ data, err := ExportStatement(context.TODO(), store, f, "auto")
+ require.NoError(t, err)
+ require.Equal(t, []byte("CREATE DATABASE whatever;"), data)
+}
diff --git a/br/pkg/lightning/mydump/region.go b/br/pkg/lightning/mydump/region.go
index 8562acc2867b3..da3b4d0af1a53 100644
--- a/br/pkg/lightning/mydump/region.go
+++ b/br/pkg/lightning/mydump/region.go
@@ -34,6 +34,11 @@ const (
tableRegionSizeWarningThreshold int64 = 1024 * 1024 * 1024
// the increment ratio of large CSV file size threshold by `region-split-size`
largeCSVLowerThresholdRation = 10
+ // TableFileSizeINF for compressed size, for lightning 10TB is a relatively big value and will strongly affect efficiency
+ // It's used to make sure compressed files can be read until EOF. Because we can't get the exact decompressed size of the compressed files.
+ TableFileSizeINF = 10 * 1024 * tableRegionSizeWarningThreshold
+ // CompressSizeFactor is used to adjust compressed data size
+ CompressSizeFactor = 5
)
// TableRegion contains information for a table region during import.
@@ -292,25 +297,41 @@ func MakeSourceFileRegion(
return regions, subFileSizes, err
}
+ fileSize := fi.FileMeta.FileSize
+ rowIDMax := fileSize / divisor
+ // for compressed files, suggest the compress ratio is 1% to calculate the rowIDMax.
+ // set fileSize to INF to make sure compressed files can be read until EOF. Because we can't get the exact size of the compressed files.
+ if fi.FileMeta.Compression != CompressionNone {
+ // RealSize the estimated file size. There are some cases that the first few bytes of this compressed file
+ // has smaller compress ratio than the whole compressed file. So we still need to multiply this factor to
+ // make sure the rowIDMax computation is correct.
+ rowIDMax = fi.FileMeta.RealSize * CompressSizeFactor / divisor
+ fileSize = TableFileSizeINF
+ }
tableRegion := &TableRegion{
DB: meta.DB,
Table: meta.Name,
FileMeta: fi.FileMeta,
Chunk: Chunk{
Offset: 0,
- EndOffset: fi.FileMeta.FileSize,
+ EndOffset: fileSize,
+ RealOffset: 0,
PrevRowIDMax: 0,
- RowIDMax: fi.FileMeta.FileSize / divisor,
+ RowIDMax: rowIDMax,
},
}
- if tableRegion.Size() > tableRegionSizeWarningThreshold {
+ regionSize := tableRegion.Size()
+ if fi.FileMeta.Compression != CompressionNone {
+ regionSize = fi.FileMeta.RealSize
+ }
+ if regionSize > tableRegionSizeWarningThreshold {
log.FromContext(ctx).Warn(
"file is too big to be processed efficiently; we suggest splitting it at 256 MB each",
zap.String("file", fi.FileMeta.Path),
- zap.Int64("size", dataFileSize))
+ zap.Int64("size", regionSize))
}
- return []*TableRegion{tableRegion}, []float64{float64(fi.FileMeta.FileSize)}, nil
+ return []*TableRegion{tableRegion}, []float64{float64(fi.FileMeta.RealSize)}, nil
}
// because parquet files can't seek efficiently, there is no benefit in split.
diff --git a/br/pkg/lightning/mydump/region_test.go b/br/pkg/lightning/mydump/region_test.go
index 0830d378f47ff..5aa2b3a85b752 100644
--- a/br/pkg/lightning/mydump/region_test.go
+++ b/br/pkg/lightning/mydump/region_test.go
@@ -199,7 +199,6 @@ func TestMakeSourceFileRegion(t *testing.T) {
store, err := storage.NewLocalStorage(".")
assert.NoError(t, err)
- // test - no compression
fileInfo.FileMeta.Compression = CompressionNone
regions, _, err := MakeSourceFileRegion(ctx, meta, fileInfo, colCnt, cfg, ioWorkers, store)
assert.NoError(t, err)
@@ -217,10 +216,65 @@ func TestMakeSourceFileRegion(t *testing.T) {
assert.NoError(t, err)
assert.Len(t, regions, 1)
assert.Equal(t, int64(0), regions[0].Chunk.Offset)
- assert.Equal(t, fileInfo.FileMeta.FileSize, regions[0].Chunk.EndOffset)
+ assert.Equal(t, TableFileSizeINF, regions[0].Chunk.EndOffset)
assert.Len(t, regions[0].Chunk.Columns, 0)
}
+func TestCompressedMakeSourceFileRegion(t *testing.T) {
+ meta := &MDTableMeta{
+ DB: "csv",
+ Name: "large_csv_file",
+ }
+ cfg := &config.Config{
+ Mydumper: config.MydumperRuntime{
+ ReadBlockSize: config.ReadBlockSize,
+ MaxRegionSize: 1,
+ CSV: config.CSVConfig{
+ Separator: ",",
+ Delimiter: "",
+ Header: true,
+ TrimLastSep: false,
+ NotNull: false,
+ Null: "NULL",
+ BackslashEscape: true,
+ },
+ StrictFormat: true,
+ Filter: []string{"*.*"},
+ },
+ }
+ filePath := "./csv/split_large_file.csv.zst"
+ dataFileInfo, err := os.Stat(filePath)
+ require.NoError(t, err)
+ fileSize := dataFileInfo.Size()
+
+ fileInfo := FileInfo{FileMeta: SourceFileMeta{
+ Path: filePath,
+ Type: SourceTypeCSV,
+ Compression: CompressionZStd,
+ FileSize: fileSize,
+ }}
+ colCnt := 3
+
+ ctx := context.Background()
+ ioWorkers := worker.NewPool(ctx, 4, "io")
+ store, err := storage.NewLocalStorage(".")
+ assert.NoError(t, err)
+ compressRatio, err := SampleFileCompressRatio(ctx, fileInfo.FileMeta, store)
+ require.NoError(t, err)
+ fileInfo.FileMeta.RealSize = int64(compressRatio * float64(fileInfo.FileMeta.FileSize))
+
+ regions, sizes, err := MakeSourceFileRegion(ctx, meta, fileInfo, colCnt, cfg, ioWorkers, store)
+ assert.NoError(t, err)
+ assert.Len(t, regions, 1)
+ assert.Equal(t, int64(0), regions[0].Chunk.Offset)
+ assert.Equal(t, int64(0), regions[0].Chunk.RealOffset)
+ assert.Equal(t, TableFileSizeINF, regions[0].Chunk.EndOffset)
+ rowIDMax := fileInfo.FileMeta.RealSize * CompressSizeFactor / int64(colCnt)
+ assert.Equal(t, rowIDMax, regions[0].Chunk.RowIDMax)
+ assert.Len(t, regions[0].Chunk.Columns, 0)
+ assert.Equal(t, fileInfo.FileMeta.RealSize, int64(sizes[0]))
+}
+
func TestSplitLargeFile(t *testing.T) {
meta := &MDTableMeta{
DB: "csv",
diff --git a/br/pkg/lightning/mydump/router.go b/br/pkg/lightning/mydump/router.go
index bdc2a922f12f7..bf0ccba834fe0 100644
--- a/br/pkg/lightning/mydump/router.go
+++ b/br/pkg/lightning/mydump/router.go
@@ -134,7 +134,7 @@ func parseCompressionType(t string) (Compression, error) {
return CompressionGZ, nil
case "lz4":
return CompressionLZ4, nil
- case "zstd":
+ case "zstd", "zst":
return CompressionZStd, nil
case "xz":
return CompressionXZ, nil
@@ -324,6 +324,9 @@ func (p regexRouterParser) Parse(r *config.FileRouteRule, logger log.Logger) (*R
if err != nil {
return err
}
+ if result.Type == SourceTypeParquet && compression != CompressionNone {
+ return errors.Errorf("can't support whole compressed parquet file, should compress parquet files by choosing correct parquet compress writer, path: %s", r.Path)
+ }
result.Compression = compression
return nil
})
diff --git a/br/pkg/lightning/mydump/router_test.go b/br/pkg/lightning/mydump/router_test.go
index 4e3d8a4215a0d..ab97769e30ce8 100644
--- a/br/pkg/lightning/mydump/router_test.go
+++ b/br/pkg/lightning/mydump/router_test.go
@@ -292,3 +292,21 @@ func TestRouteWithPath(t *testing.T) {
require.NoError(t, err)
require.Nil(t, res)
}
+
+func TestRouteWithCompressedParquet(t *testing.T) {
+ fileName := "myschema.my_table.000.parquet.gz"
+ rule := &config.FileRouteRule{
+ Pattern: `(?i)^(?:[^/]*/)*([^/.]+)\.(.*?)(?:\.([0-9]+))?\.(sql|csv|parquet)(?:\.(\w+))?$`,
+ Schema: "$1",
+ Table: "$2",
+ Type: "$4",
+ Key: "$3",
+ Compression: "$5",
+ Unescape: true,
+ }
+ r := *rule
+ router, err := NewFileRouter([]*config.FileRouteRule{&r}, log.L())
+ require.NoError(t, err)
+ _, err = router.Route(fileName)
+ require.Error(t, err)
+}
diff --git a/br/pkg/lightning/restore/BUILD.bazel b/br/pkg/lightning/restore/BUILD.bazel
index 175e69e22d02f..ef5aeb106585b 100644
--- a/br/pkg/lightning/restore/BUILD.bazel
+++ b/br/pkg/lightning/restore/BUILD.bazel
@@ -39,6 +39,7 @@ go_library(
"//br/pkg/pdutil",
"//br/pkg/redact",
"//br/pkg/storage",
+ "//br/pkg/streamhelper",
"//br/pkg/utils",
"//br/pkg/version",
"//br/pkg/version/build",
@@ -77,6 +78,9 @@ go_library(
"@com_github_pingcap_tipb//go-tipb",
"@com_github_tikv_client_go_v2//oracle",
"@com_github_tikv_pd_client//:client",
+ "@io_etcd_go_etcd_client_v3//:client",
+ "@org_golang_google_grpc//:grpc",
+ "@org_golang_google_grpc//keepalive",
"@org_golang_x_exp//maps",
"@org_golang_x_exp//slices",
"@org_golang_x_sync//errgroup",
@@ -124,6 +128,7 @@ go_test(
"//br/pkg/lightning/worker",
"//br/pkg/mock",
"//br/pkg/storage",
+ "//br/pkg/streamhelper",
"//br/pkg/version/build",
"//ddl",
"//errno",
@@ -158,6 +163,8 @@ go_test(
"@com_github_tikv_pd_client//:client",
"@com_github_xitongsys_parquet_go//writer",
"@com_github_xitongsys_parquet_go_source//buffer",
+ "@io_etcd_go_etcd_client_v3//:client",
+ "@io_etcd_go_etcd_tests_v3//integration",
"@org_uber_go_atomic//:atomic",
"@org_uber_go_zap//:zap",
],
diff --git a/br/pkg/lightning/restore/check_info.go b/br/pkg/lightning/restore/check_info.go
index cc4b3b734ebaa..aab9e5ebacef5 100644
--- a/br/pkg/lightning/restore/check_info.go
+++ b/br/pkg/lightning/restore/check_info.go
@@ -155,3 +155,10 @@ func (rc *Controller) checkSourceSchema(ctx context.Context) error {
}
return rc.doPreCheckOnItem(ctx, CheckSourceSchemaValid)
}
+
+func (rc *Controller) checkCDCPiTR(ctx context.Context) error {
+ if rc.cfg.TikvImporter.Backend == config.BackendTiDB {
+ return nil
+ }
+ return rc.doPreCheckOnItem(ctx, CheckTargetUsingCDCPITR)
+}
diff --git a/br/pkg/lightning/restore/check_info_test.go b/br/pkg/lightning/restore/check_info_test.go
index 3a8a666699164..36903ab93b22c 100644
--- a/br/pkg/lightning/restore/check_info_test.go
+++ b/br/pkg/lightning/restore/check_info_test.go
@@ -493,11 +493,11 @@ func TestCheckTableEmpty(t *testing.T) {
require.NoError(t, err)
mock.MatchExpectationsInOrder(false)
targetInfoGetter.targetDBGlue = glue.NewExternalTiDBGlue(db, mysql.ModeNone)
- mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl1` LIMIT 1").
+ mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl1` USE INDEX\\(\\) LIMIT 1").
WillReturnRows(sqlmock.NewRows([]string{""}).RowError(0, sql.ErrNoRows))
- mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl2` LIMIT 1").
+ mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl2` USE INDEX\\(\\) LIMIT 1").
WillReturnRows(sqlmock.NewRows([]string{""}).RowError(0, sql.ErrNoRows))
- mock.ExpectQuery("SELECT 1 FROM `test2`.`tbl1` LIMIT 1").
+ mock.ExpectQuery("SELECT 1 FROM `test2`.`tbl1` USE INDEX\\(\\) LIMIT 1").
WillReturnRows(sqlmock.NewRows([]string{""}).RowError(0, sql.ErrNoRows))
rc.checkTemplate = NewSimpleTemplate()
err = rc.checkTableEmpty(ctx)
@@ -510,13 +510,13 @@ func TestCheckTableEmpty(t *testing.T) {
targetInfoGetter.targetDBGlue = glue.NewExternalTiDBGlue(db, mysql.ModeNone)
mock.MatchExpectationsInOrder(false)
// test auto retry retryable error
- mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl1` LIMIT 1").
+ mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl1` USE INDEX\\(\\) LIMIT 1").
WillReturnError(&gmysql.MySQLError{Number: errno.ErrPDServerTimeout})
- mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl1` LIMIT 1").
+ mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl1` USE INDEX\\(\\) LIMIT 1").
WillReturnRows(sqlmock.NewRows([]string{""}).RowError(0, sql.ErrNoRows))
- mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl2` LIMIT 1").
+ mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl2` USE INDEX\\(\\) LIMIT 1").
WillReturnRows(sqlmock.NewRows([]string{""}).RowError(0, sql.ErrNoRows))
- mock.ExpectQuery("SELECT 1 FROM `test2`.`tbl1` LIMIT 1").
+ mock.ExpectQuery("SELECT 1 FROM `test2`.`tbl1` USE INDEX\\(\\) LIMIT 1").
WillReturnRows(sqlmock.NewRows([]string{""}).AddRow(1))
rc.checkTemplate = NewSimpleTemplate()
err = rc.checkTableEmpty(ctx)
@@ -532,11 +532,11 @@ func TestCheckTableEmpty(t *testing.T) {
require.NoError(t, err)
targetInfoGetter.targetDBGlue = glue.NewExternalTiDBGlue(db, mysql.ModeNone)
mock.MatchExpectationsInOrder(false)
- mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl1` LIMIT 1").
+ mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl1` USE INDEX\\(\\) LIMIT 1").
WillReturnRows(sqlmock.NewRows([]string{""}).AddRow(1))
- mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl2` LIMIT 1").
+ mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl2` USE INDEX\\(\\) LIMIT 1").
WillReturnRows(sqlmock.NewRows([]string{""}).RowError(0, sql.ErrNoRows))
- mock.ExpectQuery("SELECT 1 FROM `test2`.`tbl1` LIMIT 1").
+ mock.ExpectQuery("SELECT 1 FROM `test2`.`tbl1` USE INDEX\\(\\) LIMIT 1").
WillReturnRows(sqlmock.NewRows([]string{""}).AddRow(1))
rc.checkTemplate = NewSimpleTemplate()
err = rc.checkTableEmpty(ctx)
@@ -576,7 +576,7 @@ func TestCheckTableEmpty(t *testing.T) {
require.NoError(t, err)
targetInfoGetter.targetDBGlue = glue.NewExternalTiDBGlue(db, mysql.ModeNone)
// only need to check the one that is not in checkpoint
- mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl2` LIMIT 1").
+ mock.ExpectQuery("SELECT 1 FROM `test1`.`tbl2` USE INDEX\\(\\) LIMIT 1").
WillReturnRows(sqlmock.NewRows([]string{""}).RowError(0, sql.ErrNoRows))
err = rc.checkTableEmpty(ctx)
require.NoError(t, err)
diff --git a/br/pkg/lightning/restore/checksum.go b/br/pkg/lightning/restore/checksum.go
index 71b02801dc2dc..b30fe14e01fc1 100644
--- a/br/pkg/lightning/restore/checksum.go
+++ b/br/pkg/lightning/restore/checksum.go
@@ -374,7 +374,7 @@ func newGCTTLManager(pdClient pd.Client) gcTTLManager {
func (m *gcTTLManager) addOneJob(ctx context.Context, table string, ts uint64) error {
// start gc ttl loop if not started yet.
- if m.started.CAS(false, true) {
+ if m.started.CompareAndSwap(false, true) {
m.start(ctx)
}
m.lock.Lock()
diff --git a/br/pkg/lightning/restore/get_pre_info.go b/br/pkg/lightning/restore/get_pre_info.go
index 287d59c6145a4..4273ff708a89b 100644
--- a/br/pkg/lightning/restore/get_pre_info.go
+++ b/br/pkg/lightning/restore/get_pre_info.go
@@ -189,7 +189,12 @@ func (g *TargetInfoGetterImpl) IsTableEmpty(ctx context.Context, schemaName stri
}
var dump int
err = exec.QueryRow(ctx, "check table empty",
- fmt.Sprintf("SELECT 1 FROM %s LIMIT 1", common.UniqueTable(schemaName, tableName)),
+ // Here we use the `USE INDEX()` hint to skip fetch the record from index.
+ // In Lightning, if previous importing is halted half-way, it is possible that
+ // the data is partially imported, but the index data has not been imported.
+ // In this situation, if no hint is added, the SQL executor might fetch the record from index,
+ // which is empty. This will result in missing check.
+ fmt.Sprintf("SELECT 1 FROM %s USE INDEX() LIMIT 1", common.UniqueTable(schemaName, tableName)),
&dump,
)
@@ -444,15 +449,7 @@ func (p *PreRestoreInfoGetterImpl) ReadFirstNRowsByTableName(ctx context.Context
// ReadFirstNRowsByFileMeta reads the first N rows of an data file.
// It implements the PreRestoreInfoGetter interface.
func (p *PreRestoreInfoGetterImpl) ReadFirstNRowsByFileMeta(ctx context.Context, dataFileMeta mydump.SourceFileMeta, n int) ([]string, [][]types.Datum, error) {
- var (
- reader storage.ReadSeekCloser
- err error
- )
- if dataFileMeta.Type == mydump.SourceTypeParquet {
- reader, err = mydump.OpenParquetReader(ctx, p.srcStorage, dataFileMeta.Path, dataFileMeta.FileSize)
- } else {
- reader, err = p.srcStorage.Open(ctx, dataFileMeta.Path)
- }
+ reader, err := openReader(ctx, dataFileMeta, p.srcStorage)
if err != nil {
return nil, nil, errors.Trace(err)
}
@@ -590,13 +587,7 @@ func (p *PreRestoreInfoGetterImpl) sampleDataFromTable(
return resultIndexRatio, isRowOrdered, nil
}
sampleFile := tableMeta.DataFiles[0].FileMeta
- var reader storage.ReadSeekCloser
- var err error
- if sampleFile.Type == mydump.SourceTypeParquet {
- reader, err = mydump.OpenParquetReader(ctx, p.srcStorage, sampleFile.Path, sampleFile.FileSize)
- } else {
- reader, err = p.srcStorage.Open(ctx, sampleFile.Path)
- }
+ reader, err := openReader(ctx, sampleFile, p.srcStorage)
if err != nil {
return 0.0, false, errors.Trace(err)
}
diff --git a/br/pkg/lightning/restore/get_pre_info_test.go b/br/pkg/lightning/restore/get_pre_info_test.go
index 8ea57d023c679..71c2810d0b60e 100644
--- a/br/pkg/lightning/restore/get_pre_info_test.go
+++ b/br/pkg/lightning/restore/get_pre_info_test.go
@@ -14,6 +14,8 @@
package restore
import (
+ "bytes"
+ "compress/gzip"
"context"
"database/sql"
"fmt"
@@ -24,6 +26,7 @@ import (
mysql_sql_driver "github.com/go-sql-driver/mysql"
"github.com/pingcap/errors"
"github.com/pingcap/tidb/br/pkg/lightning/config"
+ "github.com/pingcap/tidb/br/pkg/lightning/mydump"
"github.com/pingcap/tidb/br/pkg/lightning/restore/mock"
ropts "github.com/pingcap/tidb/br/pkg/lightning/restore/opts"
"github.com/pingcap/tidb/errno"
@@ -412,6 +415,118 @@ INSERT INTO db01.tbl01 (ival, sval) VALUES (444, 'ddd');`
require.Equal(t, theDataInfo.ExpectFirstRowDatums, rowDatums)
}
+func compressGz(t *testing.T, data []byte) []byte {
+ t.Helper()
+ var buf bytes.Buffer
+ w := gzip.NewWriter(&buf)
+ _, err := w.Write(data)
+ require.NoError(t, err)
+ require.NoError(t, w.Close())
+ return buf.Bytes()
+}
+
+func TestGetPreInfoReadCompressedFirstRow(t *testing.T) {
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ var (
+ testCSVData01 = []byte(`ival,sval
+111,"aaa"
+222,"bbb"
+`)
+ testSQLData01 = []byte(`INSERT INTO db01.tbl01 (ival, sval) VALUES (333, 'ccc');
+INSERT INTO db01.tbl01 (ival, sval) VALUES (444, 'ddd');`)
+ )
+
+ test1CSVCompressed := compressGz(t, testCSVData01)
+ test1SQLCompressed := compressGz(t, testSQLData01)
+
+ testDataInfos := []struct {
+ FileName string
+ Data []byte
+ FirstN int
+ CSVConfig *config.CSVConfig
+ ExpectFirstRowDatums [][]types.Datum
+ ExpectColumns []string
+ }{
+ {
+ FileName: "/db01/tbl01/data.001.csv.gz",
+ Data: test1CSVCompressed,
+ FirstN: 1,
+ ExpectFirstRowDatums: [][]types.Datum{
+ {
+ types.NewStringDatum("111"),
+ types.NewStringDatum("aaa"),
+ },
+ },
+ ExpectColumns: []string{"ival", "sval"},
+ },
+ {
+ FileName: "/db01/tbl01/data.001.sql.gz",
+ Data: test1SQLCompressed,
+ FirstN: 1,
+ ExpectFirstRowDatums: [][]types.Datum{
+ {
+ types.NewUintDatum(333),
+ types.NewStringDatum("ccc"),
+ },
+ },
+ ExpectColumns: []string{"ival", "sval"},
+ },
+ }
+
+ tbl01SchemaBytes := []byte("CREATE TABLE db01.tbl01(id INTEGER PRIMARY KEY AUTO_INCREMENT, ival INTEGER, sval VARCHAR(64));")
+ tbl01SchemaBytesCompressed := compressGz(t, tbl01SchemaBytes)
+
+ tblMockSourceData := &mock.MockTableSourceData{
+ DBName: "db01",
+ TableName: "tbl01",
+ SchemaFile: &mock.MockSourceFile{
+ FileName: "/db01/tbl01/tbl01.schema.sql.gz",
+ Data: tbl01SchemaBytesCompressed,
+ },
+ DataFiles: []*mock.MockSourceFile{},
+ }
+ for _, testInfo := range testDataInfos {
+ tblMockSourceData.DataFiles = append(tblMockSourceData.DataFiles, &mock.MockSourceFile{
+ FileName: testInfo.FileName,
+ Data: testInfo.Data,
+ })
+ }
+ mockDataMap := map[string]*mock.MockDBSourceData{
+ "db01": {
+ Name: "db01",
+ Tables: map[string]*mock.MockTableSourceData{
+ "tbl01": tblMockSourceData,
+ },
+ },
+ }
+ mockSrc, err := mock.NewMockImportSource(mockDataMap)
+ require.Nil(t, err)
+ mockTarget := mock.NewMockTargetInfo()
+ cfg := config.NewConfig()
+ cfg.TikvImporter.Backend = config.BackendLocal
+ ig, err := NewPreRestoreInfoGetter(cfg, mockSrc.GetAllDBFileMetas(), mockSrc.GetStorage(), mockTarget, nil, nil)
+ require.NoError(t, err)
+
+ cfg.Mydumper.CSV.Header = true
+ tblMeta := mockSrc.GetDBMetaMap()["db01"].Tables[0]
+ for i, dataFile := range tblMeta.DataFiles {
+ theDataInfo := testDataInfos[i]
+ dataFile.FileMeta.Compression = mydump.CompressionGZ
+ cols, rowDatums, err := ig.ReadFirstNRowsByFileMeta(ctx, dataFile.FileMeta, theDataInfo.FirstN)
+ require.Nil(t, err)
+ t.Logf("%v, %v", cols, rowDatums)
+ require.Equal(t, theDataInfo.ExpectColumns, cols)
+ require.Equal(t, theDataInfo.ExpectFirstRowDatums, rowDatums)
+ }
+
+ theDataInfo := testDataInfos[0]
+ cols, rowDatums, err := ig.ReadFirstNRowsByTableName(ctx, "db01", "tbl01", theDataInfo.FirstN)
+ require.NoError(t, err)
+ require.Equal(t, theDataInfo.ExpectColumns, cols)
+ require.Equal(t, theDataInfo.ExpectFirstRowDatums, rowDatums)
+}
+
func TestGetPreInfoSampleSource(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
@@ -497,6 +612,100 @@ func TestGetPreInfoSampleSource(t *testing.T) {
}
}
+func TestGetPreInfoSampleSourceCompressed(t *testing.T) {
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ dataFileName := "/db01/tbl01/tbl01.data.001.csv.gz"
+ schemaFileData := []byte("CREATE TABLE db01.tbl01 (id INTEGER PRIMARY KEY AUTO_INCREMENT, ival INTEGER, sval VARCHAR(64));")
+ schemaFileDataCompressed := compressGz(t, schemaFileData)
+ mockDataMap := map[string]*mock.MockDBSourceData{
+ "db01": {
+ Name: "db01",
+ Tables: map[string]*mock.MockTableSourceData{
+ "tbl01": {
+ DBName: "db01",
+ TableName: "tbl01",
+ SchemaFile: &mock.MockSourceFile{
+ FileName: "/db01/tbl01/tbl01.schema.sql.gz",
+ Data: schemaFileDataCompressed,
+ },
+ DataFiles: []*mock.MockSourceFile{
+ {
+ FileName: dataFileName,
+ Data: []byte(nil),
+ },
+ },
+ },
+ },
+ },
+ }
+ mockSrc, err := mock.NewMockImportSource(mockDataMap)
+ require.Nil(t, err)
+ mockTarget := mock.NewMockTargetInfo()
+ cfg := config.NewConfig()
+ cfg.TikvImporter.Backend = config.BackendLocal
+ ig, err := NewPreRestoreInfoGetter(cfg, mockSrc.GetAllDBFileMetas(), mockSrc.GetStorage(), mockTarget, nil, nil, ropts.WithIgnoreDBNotExist(true))
+ require.NoError(t, err)
+
+ mdDBMeta := mockSrc.GetAllDBFileMetas()[0]
+ mdTblMeta := mdDBMeta.Tables[0]
+ dbInfos, err := ig.GetAllTableStructures(ctx)
+ require.NoError(t, err)
+
+ data := [][]byte{
+ []byte(`id,ival,sval
+1,111,"aaa"
+2,222,"bbb"
+`),
+ []byte(`sval,ival,id
+"aaa",111,1
+"bbb",222,2
+`),
+ []byte(`id,ival,sval
+2,222,"bbb"
+1,111,"aaa"
+`),
+ []byte(`sval,ival,id
+"aaa",111,2
+"bbb",222,1
+`),
+ }
+ compressedData := make([][]byte, 0, 4)
+ for _, d := range data {
+ compressedData = append(compressedData, compressGz(t, d))
+ }
+
+ subTests := []struct {
+ Data []byte
+ ExpectIsOrdered bool
+ }{
+ {
+ Data: compressedData[0],
+ ExpectIsOrdered: true,
+ },
+ {
+ Data: compressedData[1],
+ ExpectIsOrdered: true,
+ },
+ {
+ Data: compressedData[2],
+ ExpectIsOrdered: false,
+ },
+ {
+ Data: compressedData[3],
+ ExpectIsOrdered: false,
+ },
+ }
+ for _, subTest := range subTests {
+ require.NoError(t, mockSrc.GetStorage().WriteFile(ctx, dataFileName, subTest.Data))
+ sampledIndexRatio, isRowOrderedFromSample, err := ig.sampleDataFromTable(ctx, "db01", mdTblMeta, dbInfos["db01"].Tables["tbl01"].Core, nil, defaultImportantVariables)
+ require.NoError(t, err)
+ t.Logf("%v, %v", sampledIndexRatio, isRowOrderedFromSample)
+ require.Greater(t, sampledIndexRatio, 1.0)
+ require.Equal(t, subTest.ExpectIsOrdered, isRowOrderedFromSample)
+ }
+}
+
func TestGetPreInfoEstimateSourceSize(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
@@ -553,7 +762,7 @@ func TestGetPreInfoIsTableEmpty(t *testing.T) {
require.NoError(t, err)
require.Equal(t, lnConfig, targetGetter.cfg)
- mock.ExpectQuery("SELECT 1 FROM `test_db`.`test_tbl` LIMIT 1").
+ mock.ExpectQuery("SELECT 1 FROM `test_db`.`test_tbl` USE INDEX\\(\\) LIMIT 1").
WillReturnError(&mysql_sql_driver.MySQLError{
Number: errno.ErrNoSuchTable,
Message: "Table 'test_db.test_tbl' doesn't exist",
@@ -563,7 +772,7 @@ func TestGetPreInfoIsTableEmpty(t *testing.T) {
require.NotNil(t, pIsEmpty)
require.Equal(t, true, *pIsEmpty)
- mock.ExpectQuery("SELECT 1 FROM `test_db`.`test_tbl` LIMIT 1").
+ mock.ExpectQuery("SELECT 1 FROM `test_db`.`test_tbl` USE INDEX\\(\\) LIMIT 1").
WillReturnRows(
sqlmock.NewRows([]string{"1"}).
RowError(0, sql.ErrNoRows),
@@ -573,7 +782,7 @@ func TestGetPreInfoIsTableEmpty(t *testing.T) {
require.NotNil(t, pIsEmpty)
require.Equal(t, true, *pIsEmpty)
- mock.ExpectQuery("SELECT 1 FROM `test_db`.`test_tbl` LIMIT 1").
+ mock.ExpectQuery("SELECT 1 FROM `test_db`.`test_tbl` USE INDEX\\(\\) LIMIT 1").
WillReturnRows(
sqlmock.NewRows([]string{"1"}).AddRow(1),
)
@@ -582,7 +791,7 @@ func TestGetPreInfoIsTableEmpty(t *testing.T) {
require.NotNil(t, pIsEmpty)
require.Equal(t, false, *pIsEmpty)
- mock.ExpectQuery("SELECT 1 FROM `test_db`.`test_tbl` LIMIT 1").
+ mock.ExpectQuery("SELECT 1 FROM `test_db`.`test_tbl` USE INDEX\\(\\) LIMIT 1").
WillReturnError(errors.New("some dummy error"))
_, err = targetGetter.IsTableEmpty(ctx, "test_db", "test_tbl")
require.Error(t, err)
diff --git a/br/pkg/lightning/restore/mock/mock.go b/br/pkg/lightning/restore/mock/mock.go
index f43e6c022673e..24e287f11c5f0 100644
--- a/br/pkg/lightning/restore/mock/mock.go
+++ b/br/pkg/lightning/restore/mock/mock.go
@@ -77,14 +77,19 @@ func NewMockImportSource(dbSrcDataMap map[string]*MockDBSourceData) (*MockImport
tblMeta := mydump.NewMDTableMeta("binary")
tblMeta.DB = dbName
tblMeta.Name = tblName
+ compression := mydump.CompressionNone
+ if strings.HasSuffix(tblData.SchemaFile.FileName, ".gz") {
+ compression = mydump.CompressionGZ
+ }
tblMeta.SchemaFile = mydump.FileInfo{
TableName: filter.Table{
Schema: dbName,
Name: tblName,
},
FileMeta: mydump.SourceFileMeta{
- Path: tblData.SchemaFile.FileName,
- Type: mydump.SourceTypeTableSchema,
+ Path: tblData.SchemaFile.FileName,
+ Type: mydump.SourceTypeTableSchema,
+ Compression: compression,
},
}
tblMeta.DataFiles = []mydump.FileInfo{}
@@ -106,14 +111,20 @@ func NewMockImportSource(dbSrcDataMap map[string]*MockDBSourceData) (*MockImport
FileMeta: mydump.SourceFileMeta{
Path: tblDataFile.FileName,
FileSize: int64(fileSize),
+ RealSize: int64(fileSize),
},
}
+ fileName := tblDataFile.FileName
+ if strings.HasSuffix(fileName, ".gz") {
+ fileName = strings.TrimSuffix(tblDataFile.FileName, ".gz")
+ fileInfo.FileMeta.Compression = mydump.CompressionGZ
+ }
switch {
- case strings.HasSuffix(tblDataFile.FileName, ".csv"):
+ case strings.HasSuffix(fileName, ".csv"):
fileInfo.FileMeta.Type = mydump.SourceTypeCSV
- case strings.HasSuffix(tblDataFile.FileName, ".sql"):
+ case strings.HasSuffix(fileName, ".sql"):
fileInfo.FileMeta.Type = mydump.SourceTypeSQL
- case strings.HasSuffix(tblDataFile.FileName, ".parquet"):
+ case strings.HasSuffix(fileName, ".parquet"):
fileInfo.FileMeta.Type = mydump.SourceTypeParquet
default:
return nil, errors.Errorf("unsupported file type: %s", tblDataFile.FileName)
diff --git a/br/pkg/lightning/restore/precheck.go b/br/pkg/lightning/restore/precheck.go
index 7dc578053492d..f078fe50f473c 100644
--- a/br/pkg/lightning/restore/precheck.go
+++ b/br/pkg/lightning/restore/precheck.go
@@ -25,6 +25,7 @@ const (
CheckTargetClusterVersion CheckItemID = "CHECK_TARGET_CLUSTER_VERSION"
CheckLocalDiskPlacement CheckItemID = "CHECK_LOCAL_DISK_PLACEMENT"
CheckLocalTempKVDir CheckItemID = "CHECK_LOCAL_TEMP_KV_DIR"
+ CheckTargetUsingCDCPITR CheckItemID = "CHECK_TARGET_USING_CDC_PITR"
)
type CheckResult struct {
@@ -138,7 +139,9 @@ func (b *PrecheckItemBuilder) BuildPrecheckItem(checkID CheckItemID) (PrecheckIt
case CheckLocalDiskPlacement:
return NewLocalDiskPlacementCheckItem(b.cfg), nil
case CheckLocalTempKVDir:
- return NewLocalTempKVDirCheckItem(b.cfg, b.preInfoGetter), nil
+ return NewLocalTempKVDirCheckItem(b.cfg, b.preInfoGetter, b.dbMetas), nil
+ case CheckTargetUsingCDCPITR:
+ return NewCDCPITRCheckItem(b.cfg), nil
default:
return nil, errors.Errorf("unsupported check item: %v", checkID)
}
diff --git a/br/pkg/lightning/restore/precheck_impl.go b/br/pkg/lightning/restore/precheck_impl.go
index 64e15d5aa828a..f412b101ff08b 100644
--- a/br/pkg/lightning/restore/precheck_impl.go
+++ b/br/pkg/lightning/restore/precheck_impl.go
@@ -14,6 +14,7 @@
package restore
import (
+ "bytes"
"context"
"fmt"
"path/filepath"
@@ -21,6 +22,7 @@ import (
"strconv"
"strings"
"sync"
+ "time"
"github.com/docker/go-units"
"github.com/pingcap/errors"
@@ -32,6 +34,7 @@ import (
"github.com/pingcap/tidb/br/pkg/lightning/log"
"github.com/pingcap/tidb/br/pkg/lightning/mydump"
"github.com/pingcap/tidb/br/pkg/storage"
+ "github.com/pingcap/tidb/br/pkg/streamhelper"
"github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/store/pdtypes"
@@ -40,9 +43,12 @@ import (
"github.com/pingcap/tidb/util/engine"
"github.com/pingcap/tidb/util/mathutil"
"github.com/pingcap/tidb/util/set"
+ clientv3 "go.etcd.io/etcd/client/v3"
"go.uber.org/zap"
"golang.org/x/exp/slices"
"golang.org/x/sync/errgroup"
+ "google.golang.org/grpc"
+ "google.golang.org/grpc/keepalive"
)
type clusterResourceCheckItem struct {
@@ -428,7 +434,7 @@ func (ci *largeFileCheckItem) Check(ctx context.Context) (*CheckResult, error) {
for _, db := range ci.dbMetas {
for _, t := range db.Tables {
for _, f := range t.DataFiles {
- if f.FileMeta.FileSize > defaultCSVSize {
+ if f.FileMeta.RealSize > defaultCSVSize {
theResult.Message = fmt.Sprintf("large csv: %s file exists and it will slow down import performance", f.FileMeta.Path)
theResult.Passed = false
}
@@ -478,12 +484,14 @@ func (ci *localDiskPlacementCheckItem) Check(ctx context.Context) (*CheckResult,
type localTempKVDirCheckItem struct {
cfg *config.Config
preInfoGetter PreRestoreInfoGetter
+ dbMetas []*mydump.MDDatabaseMeta
}
-func NewLocalTempKVDirCheckItem(cfg *config.Config, preInfoGetter PreRestoreInfoGetter) PrecheckItem {
+func NewLocalTempKVDirCheckItem(cfg *config.Config, preInfoGetter PreRestoreInfoGetter, dbMetas []*mydump.MDDatabaseMeta) PrecheckItem {
return &localTempKVDirCheckItem{
cfg: cfg,
preInfoGetter: preInfoGetter,
+ dbMetas: dbMetas,
}
}
@@ -491,10 +499,28 @@ func (ci *localTempKVDirCheckItem) GetCheckItemID() CheckItemID {
return CheckLocalTempKVDir
}
+func (ci *localTempKVDirCheckItem) hasCompressedFiles() bool {
+ for _, dbMeta := range ci.dbMetas {
+ for _, tbMeta := range dbMeta.Tables {
+ for _, file := range tbMeta.DataFiles {
+ if file.FileMeta.Compression != mydump.CompressionNone {
+ return true
+ }
+ }
+ }
+ }
+ return false
+}
+
func (ci *localTempKVDirCheckItem) Check(ctx context.Context) (*CheckResult, error) {
+ severity := Critical
+ // for cases that have compressed files, the estimated size may not be accurate, set severity to Warn to avoid failure
+ if ci.hasCompressedFiles() {
+ severity = Warn
+ }
theResult := &CheckResult{
Item: ci.GetCheckItemID(),
- Severity: Critical,
+ Severity: severity,
}
storageSize, err := common.GetStorageSize(ci.cfg.TikvImporter.SortedKVDir)
if err != nil {
@@ -672,6 +698,154 @@ func (ci *checkpointCheckItem) checkpointIsValid(ctx context.Context, tableInfo
return msgs, nil
}
+// CDCPITRCheckItem check downstream has enabled CDC or PiTR. It's exposed to let
+// caller override the Instruction message.
+type CDCPITRCheckItem struct {
+ cfg *config.Config
+ Instruction string
+ // used in test
+ etcdCli *clientv3.Client
+}
+
+// NewCDCPITRCheckItem creates a checker to check downstream has enabled CDC or PiTR.
+func NewCDCPITRCheckItem(cfg *config.Config) PrecheckItem {
+ return &CDCPITRCheckItem{
+ cfg: cfg,
+ Instruction: "local backend is not compatible with them. Please switch to tidb backend then try again.",
+ }
+}
+
+// GetCheckItemID implements PrecheckItem interface.
+func (ci *CDCPITRCheckItem) GetCheckItemID() CheckItemID {
+ return CheckTargetUsingCDCPITR
+}
+
+func dialEtcdWithCfg(ctx context.Context, cfg *config.Config) (*clientv3.Client, error) {
+ cfg2, err := cfg.ToTLS()
+ if err != nil {
+ return nil, err
+ }
+ tlsConfig := cfg2.TLSConfig()
+
+ return clientv3.New(clientv3.Config{
+ TLS: tlsConfig,
+ Endpoints: []string{cfg.TiDB.PdAddr},
+ AutoSyncInterval: 30 * time.Second,
+ DialTimeout: 5 * time.Second,
+ DialOptions: []grpc.DialOption{
+ grpc.WithKeepaliveParams(keepalive.ClientParameters{
+ Time: 10 * time.Second,
+ Timeout: 3 * time.Second,
+ PermitWithoutStream: false,
+ }),
+ grpc.WithBlock(),
+ grpc.WithReturnConnectionError(),
+ },
+ Context: ctx,
+ })
+}
+
+// Check implements PrecheckItem interface.
+func (ci *CDCPITRCheckItem) Check(ctx context.Context) (*CheckResult, error) {
+ theResult := &CheckResult{
+ Item: ci.GetCheckItemID(),
+ Severity: Critical,
+ }
+
+ if ci.cfg.TikvImporter.Backend != config.BackendLocal {
+ theResult.Passed = true
+ theResult.Message = "TiDB Lightning is not using local backend, skip this check"
+ return theResult, nil
+ }
+
+ if ci.etcdCli == nil {
+ var err error
+ ci.etcdCli, err = dialEtcdWithCfg(ctx, ci.cfg)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ //nolint: errcheck
+ defer ci.etcdCli.Close()
+ }
+
+ errorMsg := make([]string, 0, 2)
+
+ pitrCli := streamhelper.NewMetaDataClient(ci.etcdCli)
+ tasks, err := pitrCli.GetAllTasks(ctx)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ if len(tasks) > 0 {
+ names := make([]string, 0, len(tasks))
+ for _, task := range tasks {
+ names = append(names, task.Info.GetName())
+ }
+ errorMsg = append(errorMsg, fmt.Sprintf("found PiTR log streaming task(s): %v,", names))
+ }
+
+ // check etcd KV of CDC >= v6.2
+ cdcPrefix := "/tidb/cdc/"
+ capturePath := []byte("/__cdc_meta__/capture/")
+ nameSet := make(map[string][]string, 1)
+ resp, err := ci.etcdCli.Get(ctx, cdcPrefix, clientv3.WithPrefix(), clientv3.WithKeysOnly())
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ for _, kv := range resp.Kvs {
+ // example: /tidb/cdc//__cdc_meta__/capture/
+ k := kv.Key[len(cdcPrefix):]
+ clusterID, captureID, found := bytes.Cut(k, capturePath)
+ if found {
+ nameSet[string(clusterID)] = append(nameSet[string(clusterID)], string(captureID))
+ }
+ }
+ if len(nameSet) == 0 {
+ // check etcd KV of CDC <= v6.1
+ cdcPrefixV61 := "/tidb/cdc/capture/"
+ resp, err = ci.etcdCli.Get(ctx, cdcPrefixV61, clientv3.WithPrefix(), clientv3.WithKeysOnly())
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ for _, kv := range resp.Kvs {
+ // example: /tidb/cdc/capture/
+ k := kv.Key[len(cdcPrefixV61):]
+ if len(k) == 0 {
+ continue
+ }
+ nameSet[""] = append(nameSet[""], string(k))
+ }
+ }
+
+ if len(nameSet) > 0 {
+ var captureMsgBuf strings.Builder
+ captureMsgBuf.WriteString("found CDC capture(s): ")
+ isFirst := true
+ for clusterID, captureIDs := range nameSet {
+ if !isFirst {
+ captureMsgBuf.WriteString(", ")
+ }
+ isFirst = false
+ captureMsgBuf.WriteString("clusterID: ")
+ captureMsgBuf.WriteString(clusterID)
+ captureMsgBuf.WriteString(" captureID(s): ")
+ captureMsgBuf.WriteString(fmt.Sprintf("%v", captureIDs))
+ }
+ captureMsgBuf.WriteString(",")
+ errorMsg = append(errorMsg, captureMsgBuf.String())
+ }
+
+ if len(errorMsg) > 0 {
+ errorMsg = append(errorMsg, ci.Instruction)
+ theResult.Passed = false
+ theResult.Message = strings.Join(errorMsg, "\n")
+ } else {
+ theResult.Passed = true
+ theResult.Message = "no CDC or PiTR task found"
+ }
+
+ return theResult, nil
+}
+
type schemaCheckItem struct {
cfg *config.Config
preInfoGetter PreRestoreInfoGetter
diff --git a/br/pkg/lightning/restore/precheck_impl_test.go b/br/pkg/lightning/restore/precheck_impl_test.go
index 88f3cf8f9a30b..7842bd1fd75e7 100644
--- a/br/pkg/lightning/restore/precheck_impl_test.go
+++ b/br/pkg/lightning/restore/precheck_impl_test.go
@@ -24,7 +24,11 @@ import (
"github.com/pingcap/tidb/br/pkg/lightning/log"
"github.com/pingcap/tidb/br/pkg/lightning/restore/mock"
ropts "github.com/pingcap/tidb/br/pkg/lightning/restore/opts"
+ "github.com/pingcap/tidb/br/pkg/storage"
+ "github.com/pingcap/tidb/br/pkg/streamhelper"
"github.com/stretchr/testify/suite"
+ clientv3 "go.etcd.io/etcd/client/v3"
+ "go.etcd.io/etcd/tests/v3/integration"
)
type precheckImplSuite struct {
@@ -377,7 +381,7 @@ func (s *precheckImplSuite) TestLocalTempKVDirCheckBasic() {
defer cancel()
s.cfg.TikvImporter.SortedKVDir = "/tmp/"
- ci = NewLocalTempKVDirCheckItem(s.cfg, s.preInfoGetter)
+ ci = NewLocalTempKVDirCheckItem(s.cfg, s.preInfoGetter, s.mockSrc.GetAllDBFileMetas())
s.Require().Equal(CheckLocalTempKVDir, ci.GetCheckItemID())
result, err = ci.Check(ctx)
s.Require().NoError(err)
@@ -396,7 +400,7 @@ func (s *precheckImplSuite) TestLocalTempKVDirCheckBasic() {
},
)
s.Require().NoError(s.setMockImportData(testMockSrcData))
- ci = NewLocalTempKVDirCheckItem(s.cfg, s.preInfoGetter)
+ ci = NewLocalTempKVDirCheckItem(s.cfg, s.preInfoGetter, s.mockSrc.GetAllDBFileMetas())
s.Require().Equal(CheckLocalTempKVDir, ci.GetCheckItemID())
result, err = ci.Check(ctx)
s.Require().NoError(err)
@@ -581,3 +585,86 @@ func (s *precheckImplSuite) TestTableEmptyCheckBasic() {
s.T().Logf("check result message: %s", result.Message)
s.Require().False(result.Passed)
}
+
+func (s *precheckImplSuite) TestCDCPITRCheckItem() {
+ integration.BeforeTestExternal(s.T())
+ testEtcdCluster := integration.NewClusterV3(s.T(), &integration.ClusterConfig{Size: 1})
+ defer testEtcdCluster.Terminate(s.T())
+
+ ctx := context.Background()
+ cfg := &config.Config{
+ TikvImporter: config.TikvImporter{
+ Backend: config.BackendLocal,
+ },
+ }
+ ci := NewCDCPITRCheckItem(cfg)
+ checker := ci.(*CDCPITRCheckItem)
+ checker.etcdCli = testEtcdCluster.RandClient()
+ result, err := ci.Check(ctx)
+ s.Require().NoError(err)
+ s.Require().NotNil(result)
+ s.Require().Equal(ci.GetCheckItemID(), result.Item)
+ s.Require().Equal(Critical, result.Severity)
+ s.Require().True(result.Passed)
+ s.Require().Equal("no CDC or PiTR task found", result.Message)
+
+ cli := testEtcdCluster.RandClient()
+ brCli := streamhelper.NewMetaDataClient(cli)
+ backend, _ := storage.ParseBackend("noop://", nil)
+ taskInfo, err := streamhelper.NewTaskInfo("br_name").
+ FromTS(1).
+ UntilTS(1000).
+ WithTableFilter("*.*", "!mysql").
+ ToStorage(backend).
+ Check()
+ s.Require().NoError(err)
+ err = brCli.PutTask(ctx, *taskInfo)
+ s.Require().NoError(err)
+ checkEtcdPut := func(key string) {
+ _, err := cli.Put(ctx, key, "")
+ s.Require().NoError(err)
+ }
+ // TiCDC >= v6.2
+ checkEtcdPut("/tidb/cdc/default/__cdc_meta__/capture/3ecd5c98-0148-4086-adfd-17641995e71f")
+ checkEtcdPut("/tidb/cdc/default/__cdc_meta__/meta/meta-version")
+ checkEtcdPut("/tidb/cdc/default/__cdc_meta__/meta/ticdc-delete-etcd-key-count")
+ checkEtcdPut("/tidb/cdc/default/__cdc_meta__/owner/22318498f4dd6639")
+ checkEtcdPut("/tidb/cdc/default/default/changefeed/info/test")
+ checkEtcdPut("/tidb/cdc/default/default/changefeed/info/test-1")
+ checkEtcdPut("/tidb/cdc/default/default/changefeed/status/test")
+ checkEtcdPut("/tidb/cdc/default/default/changefeed/status/test-1")
+ checkEtcdPut("/tidb/cdc/default/default/task/position/3ecd5c98-0148-4086-adfd-17641995e71f/test-1")
+ checkEtcdPut("/tidb/cdc/default/default/upstream/7168358383033671922")
+
+ result, err = ci.Check(ctx)
+ s.Require().NoError(err)
+ s.Require().False(result.Passed)
+ s.Require().Equal("found PiTR log streaming task(s): [br_name],\n"+
+ "found CDC capture(s): clusterID: default captureID(s): [3ecd5c98-0148-4086-adfd-17641995e71f],\n"+
+ "local backend is not compatible with them. Please switch to tidb backend then try again.",
+ result.Message)
+
+ _, err = cli.Delete(ctx, "/tidb/cdc/", clientv3.WithPrefix())
+ s.Require().NoError(err)
+
+ // TiCDC <= v6.1
+ checkEtcdPut("/tidb/cdc/capture/f14cb04d-5ba1-410e-a59b-ccd796920e9d")
+ checkEtcdPut("/tidb/cdc/changefeed/info/test")
+ checkEtcdPut("/tidb/cdc/job/test")
+ checkEtcdPut("/tidb/cdc/owner/223184ad80a88b0b")
+ checkEtcdPut("/tidb/cdc/task/position/f14cb04d-5ba1-410e-a59b-ccd796920e9d/test")
+
+ result, err = ci.Check(ctx)
+ s.Require().NoError(err)
+ s.Require().False(result.Passed)
+ s.Require().Equal("found PiTR log streaming task(s): [br_name],\n"+
+ "found CDC capture(s): clusterID: captureID(s): [f14cb04d-5ba1-410e-a59b-ccd796920e9d],\n"+
+ "local backend is not compatible with them. Please switch to tidb backend then try again.",
+ result.Message)
+
+ checker.cfg.TikvImporter.Backend = config.BackendTiDB
+ result, err = ci.Check(ctx)
+ s.Require().NoError(err)
+ s.Require().True(result.Passed)
+ s.Require().Equal("TiDB Lightning is not using local backend, skip this check", result.Message)
+}
diff --git a/br/pkg/lightning/restore/restore.go b/br/pkg/lightning/restore/restore.go
index 0a0e05b45ac5d..543eddc3435fd 100644
--- a/br/pkg/lightning/restore/restore.go
+++ b/br/pkg/lightning/restore/restore.go
@@ -227,12 +227,21 @@ type Controller struct {
diskQuotaState atomic.Int32
compactState atomic.Int32
status *LightningStatus
+ dupIndicator *atomic.Bool
preInfoGetter PreRestoreInfoGetter
precheckItemBuilder *PrecheckItemBuilder
}
+// LightningStatus provides the finished bytes and total bytes of the current task.
+// It should keep the value after restart from checkpoint.
+// When it is tidb backend, FinishedFileSize can be counted after chunk data is
+// restored to tidb. When it is local backend it's counted after whole engine is
+// imported.
+// TotalFileSize may be an estimated value, so when the task is finished, it may
+// not equal to FinishedFileSize.
type LightningStatus struct {
+ backend string
FinishedFileSize atomic.Int64
TotalFileSize atomic.Int64
}
@@ -255,6 +264,8 @@ type ControllerParam struct {
CheckpointStorage storage.ExternalStorage
// when CheckpointStorage is not nil, save file checkpoint to it with this name
CheckpointName string
+ // DupIndicator can expose the duplicate detection result to the caller
+ DupIndicator *atomic.Bool
}
func NewRestoreController(
@@ -353,6 +364,7 @@ func NewRestoreControllerWithPauser(
default:
return nil, common.ErrUnknownBackend.GenWithStackByArgs(cfg.TikvImporter.Backend)
}
+ p.Status.backend = cfg.TikvImporter.Backend
var metaBuilder metaMgrBuilder
isSSTImport := cfg.TikvImporter.Backend == config.BackendLocal
@@ -421,6 +433,7 @@ func NewRestoreControllerWithPauser(
errorMgr: errorMgr,
status: p.Status,
taskMgr: nil,
+ dupIndicator: p.DupIndicator,
preInfoGetter: preInfoGetter,
precheckItemBuilder: preCheckBuilder,
@@ -925,7 +938,7 @@ func (rc *Controller) estimateChunkCountIntoMetrics(ctx context.Context) error {
if _, ok := fileChunks[c.Key.Path]; !ok {
fileChunks[c.Key.Path] = 0.0
}
- remainChunkCnt := float64(c.Chunk.EndOffset-c.Chunk.Offset) / float64(c.Chunk.EndOffset-c.Key.Offset)
+ remainChunkCnt := float64(c.UnfinishedSize()) / float64(c.TotalSize())
fileChunks[c.Key.Path] += remainChunkCnt
}
}
@@ -940,7 +953,8 @@ func (rc *Controller) estimateChunkCountIntoMetrics(ctx context.Context) error {
}
if fileMeta.FileMeta.Type == mydump.SourceTypeCSV {
cfg := rc.cfg.Mydumper
- if fileMeta.FileMeta.FileSize > int64(cfg.MaxRegionSize) && cfg.StrictFormat && !cfg.CSV.Header {
+ if fileMeta.FileMeta.FileSize > int64(cfg.MaxRegionSize) && cfg.StrictFormat &&
+ !cfg.CSV.Header && fileMeta.FileMeta.Compression == mydump.CompressionNone {
estimatedChunkCount += math.Round(float64(fileMeta.FileMeta.FileSize) / float64(cfg.MaxRegionSize))
} else {
estimatedChunkCount++
@@ -1606,7 +1620,7 @@ func (rc *Controller) restoreTables(ctx context.Context) (finalErr error) {
} else {
for _, eng := range cp.Engines {
for _, chunk := range eng.Chunks {
- totalDataSizeToRestore += chunk.Chunk.EndOffset - chunk.Chunk.Offset
+ totalDataSizeToRestore += chunk.UnfinishedSize()
}
}
}
@@ -1832,7 +1846,7 @@ func (rc *Controller) fullCompact(ctx context.Context) error {
// wait until any existing level-1 compact to complete first.
task := log.FromContext(ctx).Begin(zap.InfoLevel, "wait for completion of existing level 1 compaction")
- for !rc.compactState.CAS(compactStateIdle, compactStateDoing) {
+ for !rc.compactState.CompareAndSwap(compactStateIdle, compactStateDoing) {
time.Sleep(100 * time.Millisecond)
}
task.End(zap.ErrorLevel, nil)
@@ -1892,7 +1906,7 @@ func (rc *Controller) switchTiKVMode(ctx context.Context, mode sstpb.SwitchMode)
}
func (rc *Controller) enforceDiskQuota(ctx context.Context) {
- if !rc.diskQuotaState.CAS(diskQuotaStateIdle, diskQuotaStateChecking) {
+ if !rc.diskQuotaState.CompareAndSwap(diskQuotaStateIdle, diskQuotaStateChecking) {
// do not run multiple the disk quota check / import simultaneously.
// (we execute the lock check in background to avoid blocking the cron thread)
return
@@ -2127,6 +2141,10 @@ func (rc *Controller) preCheckRequirements(ctx context.Context) error {
return common.ErrCheckClusterRegion.Wrap(err).GenWithStackByArgs()
}
}
+ // even if checkpoint exists, we still need to make sure CDC/PiTR task is not running.
+ if err := rc.checkCDCPiTR(ctx); err != nil {
+ return common.ErrCheckCDCPiTR.Wrap(err).GenWithStackByArgs()
+ }
}
}
@@ -2190,23 +2208,7 @@ func newChunkRestore(
) (*chunkRestore, error) {
blockBufSize := int64(cfg.Mydumper.ReadBlockSize)
- var (
- reader storage.ReadSeekCloser
- compressType storage.CompressType
- err error
- )
- switch {
- case chunk.FileMeta.Type == mydump.SourceTypeParquet:
- reader, err = mydump.OpenParquetReader(ctx, store, chunk.FileMeta.Path, chunk.FileMeta.FileSize)
- case chunk.FileMeta.Compression != mydump.CompressionNone:
- compressType, err = mydump.ToStorageCompressType(chunk.FileMeta.Compression)
- if err != nil {
- break
- }
- reader, err = storage.WithCompression(store, compressType).Open(ctx, chunk.FileMeta.Path)
- default:
- reader, err = store.Open(ctx, chunk.FileMeta.Path)
- }
+ reader, err := openReader(ctx, chunk.FileMeta, store)
if err != nil {
return nil, errors.Trace(err)
}
@@ -2298,6 +2300,8 @@ type deliveredKVs struct {
columns []string
offset int64
rowID int64
+
+ realOffset int64 // indicates file reader's current position, only used for compressed files
}
type deliverResult struct {
@@ -2326,6 +2330,8 @@ func (cr *chunkRestore) deliverLoop(
dataSynced := true
hasMoreKVs := true
+ var startRealOffset, currRealOffset int64 // save to 0 at first
+
for hasMoreKVs {
var dataChecksum, indexChecksum verify.KVChecksum
var columns []string
@@ -2334,6 +2340,8 @@ func (cr *chunkRestore) deliverLoop(
// chunk checkpoint should stay the same
startOffset := cr.chunk.Chunk.Offset
currOffset := startOffset
+ startRealOffset = cr.chunk.Chunk.RealOffset
+ currRealOffset = startRealOffset
rowID := cr.chunk.Chunk.PrevRowIDMax
populate:
@@ -2348,12 +2356,14 @@ func (cr *chunkRestore) deliverLoop(
if p.kvs == nil {
// This is the last message.
currOffset = p.offset
+ currRealOffset = p.realOffset
hasMoreKVs = false
break populate
}
p.kvs.ClassifyAndAppend(&dataKVs, &dataChecksum, &indexKVs, &indexChecksum)
columns = p.columns
currOffset = p.offset
+ currRealOffset = p.realOffset
rowID = p.rowID
}
case <-ctx.Done():
@@ -2420,6 +2430,7 @@ func (cr *chunkRestore) deliverLoop(
cr.chunk.Checksum.Add(&dataChecksum)
cr.chunk.Checksum.Add(&indexChecksum)
cr.chunk.Chunk.Offset = currOffset
+ cr.chunk.Chunk.RealOffset = currRealOffset
cr.chunk.Chunk.PrevRowIDMax = rowID
if m, ok := metric.FromContext(ctx); ok {
@@ -2427,11 +2438,21 @@ func (cr *chunkRestore) deliverLoop(
// comes from chunk.Chunk.Offset. so it shouldn't happen that currOffset - startOffset < 0.
// but we met it one time, but cannot reproduce it now, we add this check to make code more robust
// TODO: reproduce and find the root cause and fix it completely
- if currOffset >= startOffset {
- m.BytesCounter.WithLabelValues(metric.BytesStateRestored).Add(float64(currOffset - startOffset))
+ var lowOffset, highOffset int64
+ if cr.chunk.FileMeta.Compression != mydump.CompressionNone {
+ lowOffset, highOffset = startRealOffset, currRealOffset
} else {
- deliverLogger.Warn("offset go back", zap.Int64("curr", currOffset),
- zap.Int64("start", startOffset))
+ lowOffset, highOffset = startOffset, currOffset
+ }
+ delta := highOffset - lowOffset
+ if delta >= 0 {
+ m.BytesCounter.WithLabelValues(metric.BytesStateRestored).Add(float64(delta))
+ if rc.status != nil && rc.status.backend == config.BackendTiDB {
+ rc.status.FinishedFileSize.Add(delta)
+ }
+ } else {
+ deliverLogger.Warn("offset go back", zap.Int64("curr", highOffset),
+ zap.Int64("start", lowOffset))
}
}
@@ -2441,6 +2462,11 @@ func (cr *chunkRestore) deliverLoop(
}
failpoint.Inject("SlowDownWriteRows", func() {
deliverLogger.Warn("Slowed down write rows")
+ finished := rc.status.FinishedFileSize.Load()
+ total := rc.status.TotalFileSize.Load()
+ deliverLogger.Warn("PrintStatus Failpoint",
+ zap.Int64("finished", finished),
+ zap.Int64("total", total))
})
failpoint.Inject("FailAfterWriteRows", nil)
// TODO: for local backend, we may save checkpoint more frequently, e.g. after written
@@ -2607,14 +2633,22 @@ func (cr *chunkRestore) encodeLoop(
canDeliver := false
kvPacket := make([]deliveredKVs, 0, maxKvPairsCnt)
curOffset := offset
- var newOffset, rowID int64
+ var newOffset, rowID, realOffset int64
var kvSize uint64
+ var realOffsetErr error
outLoop:
for !canDeliver {
readDurStart := time.Now()
err = cr.parser.ReadRow()
columnNames := cr.parser.Columns()
newOffset, rowID = cr.parser.Pos()
+ if cr.chunk.FileMeta.Compression != mydump.CompressionNone {
+ realOffset, realOffsetErr = cr.parser.RealPos()
+ if realOffsetErr != nil {
+ logger.Warn("fail to get data engine RealPos, progress may not be accurate",
+ log.ShortError(realOffsetErr), zap.String("file", cr.chunk.FileMeta.Path))
+ }
+ }
switch errors.Cause(err) {
case nil:
@@ -2676,7 +2710,8 @@ func (cr *chunkRestore) encodeLoop(
continue
}
- kvPacket = append(kvPacket, deliveredKVs{kvs: kvs, columns: filteredColumns, offset: newOffset, rowID: rowID})
+ kvPacket = append(kvPacket, deliveredKVs{kvs: kvs, columns: filteredColumns, offset: newOffset,
+ rowID: rowID, realOffset: realOffset})
kvSize += kvs.Size()
failpoint.Inject("mock-kv-size", func(val failpoint.Value) {
kvSize += uint64(val.(int))
@@ -2708,7 +2743,7 @@ func (cr *chunkRestore) encodeLoop(
}
}
- err = send([]deliveredKVs{{offset: cr.chunk.Chunk.EndOffset}})
+ err = send([]deliveredKVs{{offset: cr.chunk.Chunk.EndOffset, realOffset: cr.chunk.FileMeta.FileSize}})
return
}
@@ -2771,3 +2806,20 @@ func (cr *chunkRestore) restore(
}
return errors.Trace(firstErr(encodeErr, deliverErr))
}
+
+func openReader(ctx context.Context, fileMeta mydump.SourceFileMeta, store storage.ExternalStorage) (
+ reader storage.ReadSeekCloser, err error) {
+ switch {
+ case fileMeta.Type == mydump.SourceTypeParquet:
+ reader, err = mydump.OpenParquetReader(ctx, store, fileMeta.Path, fileMeta.FileSize)
+ case fileMeta.Compression != mydump.CompressionNone:
+ compressType, err2 := mydump.ToStorageCompressType(fileMeta.Compression)
+ if err2 != nil {
+ return nil, err2
+ }
+ reader, err = storage.WithCompression(store, compressType).Open(ctx, fileMeta.Path)
+ default:
+ reader, err = store.Open(ctx, fileMeta.Path)
+ }
+ return
+}
diff --git a/br/pkg/lightning/restore/table_restore.go b/br/pkg/lightning/restore/table_restore.go
index 11038d62195ea..37ba113c82eed 100644
--- a/br/pkg/lightning/restore/table_restore.go
+++ b/br/pkg/lightning/restore/table_restore.go
@@ -235,10 +235,12 @@ func (tr *TableRestore) restoreEngines(pCtx context.Context, rc *Controller, cp
// data-engines that need to be restore or import. Otherwise, all data-engines should
// be finished already.
+ handleDataEngineThisRun := false
idxEngineCfg := &backend.EngineConfig{
TableInfo: tr.tableInfo,
}
if indexEngineCp.Status < checkpoints.CheckpointStatusClosed {
+ handleDataEngineThisRun = true
indexWorker := rc.indexWorkers.Apply()
defer rc.indexWorkers.Recycle(indexWorker)
@@ -248,7 +250,7 @@ func (tr *TableRestore) restoreEngines(pCtx context.Context, rc *Controller, cp
if !common.TableHasAutoRowID(tr.tableInfo.Core) {
idxCnt--
}
- threshold := estimateCompactionThreshold(cp, int64(idxCnt))
+ threshold := estimateCompactionThreshold(tr.tableMeta.DataFiles, cp, int64(idxCnt))
idxEngineCfg.Local = &backend.LocalEngineConfig{
Compact: threshold > 0,
CompactConcurrency: 4,
@@ -327,9 +329,9 @@ func (tr *TableRestore) restoreEngines(pCtx context.Context, rc *Controller, cp
dataWorker := rc.closedEngineLimit.Apply()
defer rc.closedEngineLimit.Recycle(dataWorker)
err = tr.importEngine(ctx, dataClosedEngine, rc, eid, ecp)
- if rc.status != nil {
+ if rc.status != nil && rc.status.backend == config.BackendLocal {
for _, chunk := range ecp.Chunks {
- rc.status.FinishedFileSize.Add(chunk.Chunk.EndOffset - chunk.Key.Offset)
+ rc.status.FinishedFileSize.Add(chunk.TotalSize())
}
}
}
@@ -339,7 +341,7 @@ func (tr *TableRestore) restoreEngines(pCtx context.Context, rc *Controller, cp
}(restoreWorker, engineID, engine)
} else {
for _, chunk := range engine.Chunks {
- rc.status.FinishedFileSize.Add(chunk.Chunk.EndOffset - chunk.Key.Offset)
+ rc.status.FinishedFileSize.Add(chunk.TotalSize())
}
}
}
@@ -370,11 +372,31 @@ func (tr *TableRestore) restoreEngines(pCtx context.Context, rc *Controller, cp
return errors.Trace(restoreErr)
}
+ // if data engine is handled in previous run and we continue importing from checkpoint
+ if !handleDataEngineThisRun {
+ for _, engine := range cp.Engines {
+ for _, chunk := range engine.Chunks {
+ rc.status.FinishedFileSize.Add(chunk.Chunk.EndOffset - chunk.Key.Offset)
+ }
+ }
+ }
+
if cp.Status < checkpoints.CheckpointStatusIndexImported {
var err error
if indexEngineCp.Status < checkpoints.CheckpointStatusImported {
+ failpoint.Inject("FailBeforeStartImportingIndexEngine", func() {
+ errMsg := "fail before importing index KV data"
+ tr.logger.Warn(errMsg)
+ failpoint.Return(errors.New(errMsg))
+ })
err = tr.importKV(ctx, closedIndexEngine, rc, indexEngineID)
failpoint.Inject("FailBeforeIndexEngineImported", func() {
+ finished := rc.status.FinishedFileSize.Load()
+ total := rc.status.TotalFileSize.Load()
+ tr.logger.Warn("print lightning status",
+ zap.Int64("finished", finished),
+ zap.Int64("total", total),
+ zap.Bool("equal", finished == total))
panic("forcing failure due to FailBeforeIndexEngineImported")
})
}
@@ -406,6 +428,11 @@ func (tr *TableRestore) restoreEngine(
if err != nil {
return closedEngine, errors.Trace(err)
}
+ if rc.status != nil && rc.status.backend == config.BackendTiDB {
+ for _, chunk := range cp.Chunks {
+ rc.status.FinishedFileSize.Add(chunk.Chunk.EndOffset - chunk.Key.Offset)
+ }
+ }
return closedEngine, nil
}
@@ -475,6 +502,9 @@ func (tr *TableRestore) restoreEngine(
// Restore table data
for chunkIndex, chunk := range cp.Chunks {
+ if rc.status != nil && rc.status.backend == config.BackendTiDB {
+ rc.status.FinishedFileSize.Add(chunk.Chunk.Offset - chunk.Key.Offset)
+ }
if chunk.Chunk.Offset >= chunk.Chunk.EndOffset {
continue
}
@@ -516,7 +546,7 @@ func (tr *TableRestore) restoreEngine(
}
var remainChunkCnt float64
if chunk.Chunk.Offset < chunk.Chunk.EndOffset {
- remainChunkCnt = float64(chunk.Chunk.EndOffset-chunk.Chunk.Offset) / float64(chunk.Chunk.EndOffset-chunk.Key.Offset)
+ remainChunkCnt = float64(chunk.UnfinishedSize()) / float64(chunk.TotalSize())
if metrics != nil {
metrics.ChunkCounter.WithLabelValues(metric.ChunkStatePending).Add(remainChunkCnt)
}
@@ -591,7 +621,7 @@ func (tr *TableRestore) restoreEngine(
totalSQLSize := int64(0)
for _, chunk := range cp.Chunks {
totalKVSize += chunk.Checksum.SumSize()
- totalSQLSize += chunk.Chunk.EndOffset - chunk.Chunk.Offset
+ totalSQLSize += chunk.UnfinishedSize()
}
err = chunkErr.Get()
@@ -675,7 +705,7 @@ func (tr *TableRestore) importEngine(
}
// 2. perform a level-1 compact if idling.
- if rc.cfg.PostRestore.Level1Compact && rc.compactState.CAS(compactStateIdle, compactStateDoing) {
+ if rc.cfg.PostRestore.Level1Compact && rc.compactState.CompareAndSwap(compactStateIdle, compactStateDoing) {
go func() {
// we ignore level-1 compact failure since it is not fatal.
// no need log the error, it is done in (*Importer).Compact already.
@@ -788,6 +818,11 @@ func (tr *TableRestore) postProcess(
}
}
+ if rc.dupIndicator != nil {
+ tr.logger.Debug("set dupIndicator", zap.Bool("has-duplicate", hasDupe))
+ rc.dupIndicator.CompareAndSwap(false, hasDupe)
+ }
+
nextStage := checkpoints.CheckpointStatusChecksummed
if rc.cfg.PostRestore.Checksum != config.OpLevelOff && !hasDupe && needChecksum {
if cp.Checksum.SumKVS() > 0 || baseTotalChecksum.SumKVS() > 0 {
@@ -1015,15 +1050,23 @@ func (tr *TableRestore) analyzeTable(ctx context.Context, g glue.SQLExecutor) er
// Try to limit the total SST files number under 500. But size compress 32GB SST files cost about 20min,
// we set the upper bound to 32GB to avoid too long compression time.
// factor is the non-clustered(1 for data engine and number of non-clustered index count for index engine).
-func estimateCompactionThreshold(cp *checkpoints.TableCheckpoint, factor int64) int64 {
+func estimateCompactionThreshold(files []mydump.FileInfo, cp *checkpoints.TableCheckpoint, factor int64) int64 {
totalRawFileSize := int64(0)
var lastFile string
+ fileSizeMap := make(map[string]int64, len(files))
+ for _, file := range files {
+ fileSizeMap[file.FileMeta.Path] = file.FileMeta.RealSize
+ }
+
for _, engineCp := range cp.Engines {
for _, chunk := range engineCp.Chunks {
if chunk.FileMeta.Path == lastFile {
continue
}
- size := chunk.FileMeta.FileSize
+ size, ok := fileSizeMap[chunk.FileMeta.Path]
+ if !ok {
+ size = chunk.FileMeta.FileSize
+ }
if chunk.FileMeta.Type == mydump.SourceTypeParquet {
// parquet file is compressed, thus estimates with a factor of 2
size *= 2
diff --git a/br/pkg/lightning/restore/table_restore_test.go b/br/pkg/lightning/restore/table_restore_test.go
index 17fb97e346e36..5cfaeabc804d9 100644
--- a/br/pkg/lightning/restore/table_restore_test.go
+++ b/br/pkg/lightning/restore/table_restore_test.go
@@ -129,6 +129,7 @@ func (s *tableRestoreSuiteBase) setupSuite(t *testing.T) {
Type: mydump.SourceTypeSQL,
SortKey: strconv.Itoa(i),
FileSize: 37,
+ RealSize: 37,
},
})
}
@@ -144,6 +145,7 @@ func (s *tableRestoreSuiteBase) setupSuite(t *testing.T) {
Type: mydump.SourceTypeCSV,
SortKey: "99",
FileSize: 14,
+ RealSize: 14,
},
})
@@ -427,7 +429,7 @@ func (s *tableRestoreSuite) TestPopulateChunksCSVHeader() {
require.NoError(s.T(), err)
fakeDataFiles = append(fakeDataFiles, mydump.FileInfo{
TableName: filter.Table{Schema: "db", Name: "table"},
- FileMeta: mydump.SourceFileMeta{Path: csvName, Type: mydump.SourceTypeCSV, SortKey: fmt.Sprintf("%02d", i), FileSize: int64(len(str))},
+ FileMeta: mydump.SourceFileMeta{Path: csvName, Type: mydump.SourceTypeCSV, SortKey: fmt.Sprintf("%02d", i), FileSize: int64(len(str)), RealSize: int64(len(str))},
})
total += len(str)
}
@@ -1349,6 +1351,7 @@ func (s *tableRestoreSuite) TestCheckHasLargeCSV() {
{
FileMeta: mydump.SourceFileMeta{
FileSize: 1 * units.TiB,
+ RealSize: 1 * units.TiB,
Path: "/testPath",
},
},
diff --git a/br/pkg/lightning/restore/tidb.go b/br/pkg/lightning/restore/tidb.go
index 0e114bc035a56..98c780e65dc98 100644
--- a/br/pkg/lightning/restore/tidb.go
+++ b/br/pkg/lightning/restore/tidb.go
@@ -66,13 +66,15 @@ type TiDBManager struct {
func DBFromConfig(ctx context.Context, dsn config.DBStore) (*sql.DB, error) {
param := common.MySQLConnectParam{
- Host: dsn.Host,
- Port: dsn.Port,
- User: dsn.User,
- Password: dsn.Psw,
- SQLMode: dsn.StrSQLMode,
- MaxAllowedPacket: dsn.MaxAllowedPacket,
- TLS: dsn.TLS,
+ Host: dsn.Host,
+ Port: dsn.Port,
+ User: dsn.User,
+ Password: dsn.Psw,
+ SQLMode: dsn.StrSQLMode,
+ MaxAllowedPacket: dsn.MaxAllowedPacket,
+ TLSConfig: dsn.Security.TLSConfig,
+ AllowFallbackToPlaintext: dsn.Security.AllowFallbackToPlaintext,
+ Net: dsn.UUID,
}
db, err := param.Connect()
@@ -93,8 +95,10 @@ func DBFromConfig(ctx context.Context, dsn config.DBStore) (*sql.DB, error) {
"tidb_opt_write_row_id": "1",
// always set auto-commit to ON
"autocommit": "1",
- // alway set transaction mode to optimistic
+ // always set transaction mode to optimistic
"tidb_txn_mode": "optimistic",
+ // disable foreign key checks
+ "foreign_key_checks": "0",
}
if dsn.Vars != nil {
@@ -141,47 +145,6 @@ func (timgr *TiDBManager) Close() {
timgr.db.Close()
}
-func InitSchema(ctx context.Context, g glue.Glue, database string, tablesSchema map[string]string) error {
- logger := log.FromContext(ctx).With(zap.String("db", database))
- sqlExecutor := g.GetSQLExecutor()
-
- var createDatabase strings.Builder
- createDatabase.WriteString("CREATE DATABASE IF NOT EXISTS ")
- common.WriteMySQLIdentifier(&createDatabase, database)
- err := sqlExecutor.ExecuteWithLog(ctx, createDatabase.String(), "create database", logger)
- if err != nil {
- return errors.Trace(err)
- }
-
- task := logger.Begin(zap.InfoLevel, "create tables")
- var sqlCreateStmts []string
-loopCreate:
- for tbl, sqlCreateTable := range tablesSchema {
- task.Debug("create table", zap.String("schema", sqlCreateTable))
-
- sqlCreateStmts, err = createIfNotExistsStmt(g.GetParser(), sqlCreateTable, database, tbl)
- if err != nil {
- break
- }
-
- // TODO: maybe we should put these createStems into a transaction
- for _, s := range sqlCreateStmts {
- err = sqlExecutor.ExecuteWithLog(
- ctx,
- s,
- "create table",
- logger.With(zap.String("table", common.UniqueTable(database, tbl))),
- )
- if err != nil {
- break loopCreate
- }
- }
- }
- task.End(zap.ErrorLevel, err)
-
- return errors.Trace(err)
-}
-
func createIfNotExistsStmt(p *parser.Parser, createTable, dbName, tblName string) ([]string, error) {
stmts, _, err := p.ParseSQL(createTable)
if err != nil {
@@ -189,7 +152,7 @@ func createIfNotExistsStmt(p *parser.Parser, createTable, dbName, tblName string
}
var res strings.Builder
- ctx := format.NewRestoreCtx(format.DefaultRestoreFlags|format.RestoreTiDBSpecialComment, &res)
+ ctx := format.NewRestoreCtx(format.DefaultRestoreFlags|format.RestoreTiDBSpecialComment|format.RestoreWithTTLEnableOff, &res)
retStmts := make([]string, 0, len(stmts))
for _, stmt := range stmts {
@@ -197,6 +160,9 @@ func createIfNotExistsStmt(p *parser.Parser, createTable, dbName, tblName string
case *ast.CreateDatabaseStmt:
node.Name = model.NewCIStr(dbName)
node.IfNotExists = true
+ case *ast.DropDatabaseStmt:
+ node.Name = model.NewCIStr(dbName)
+ node.IfExists = true
case *ast.CreateTableStmt:
node.Table.Schema = model.NewCIStr(dbName)
node.Table.Name = model.NewCIStr(tblName)
diff --git a/br/pkg/lightning/restore/tidb_test.go b/br/pkg/lightning/restore/tidb_test.go
index 9b204b2da22b1..a3710d822d2dd 100644
--- a/br/pkg/lightning/restore/tidb_test.go
+++ b/br/pkg/lightning/restore/tidb_test.go
@@ -165,97 +165,6 @@ func TestCreateTableIfNotExistsStmt(t *testing.T) {
`, "m"))
}
-func TestInitSchema(t *testing.T) {
- s := newTiDBSuite(t)
- ctx := context.Background()
-
- s.mockDB.
- ExpectExec("CREATE DATABASE IF NOT EXISTS `db`").
- WillReturnResult(sqlmock.NewResult(1, 1))
- s.mockDB.
- ExpectExec("\\QCREATE TABLE IF NOT EXISTS `db`.`t1` (`a` INT PRIMARY KEY,`b` VARCHAR(200));\\E").
- WillReturnResult(sqlmock.NewResult(2, 1))
- s.mockDB.
- ExpectExec("\\QSET @@SESSION.`FOREIGN_KEY_CHECKS`=0;\\E").
- WillReturnResult(sqlmock.NewResult(0, 0))
- s.mockDB.
- ExpectExec("\\QCREATE TABLE IF NOT EXISTS `db`.`t2` (`xx` TEXT) AUTO_INCREMENT = 11203;\\E").
- WillReturnResult(sqlmock.NewResult(2, 1))
- s.mockDB.
- ExpectClose()
-
- s.mockDB.MatchExpectationsInOrder(false) // maps are unordered.
- err := InitSchema(ctx, s.tiGlue, "db", map[string]string{
- "t1": "create table t1 (a int primary key, b varchar(200));",
- "t2": "/*!40014 SET FOREIGN_KEY_CHECKS=0*/;CREATE TABLE `db`.`t2` (xx TEXT) AUTO_INCREMENT=11203;",
- })
- s.mockDB.MatchExpectationsInOrder(true)
- require.NoError(t, err)
-}
-
-func TestInitSchemaSyntaxError(t *testing.T) {
- s := newTiDBSuite(t)
- ctx := context.Background()
-
- s.mockDB.
- ExpectExec("CREATE DATABASE IF NOT EXISTS `db`").
- WillReturnResult(sqlmock.NewResult(1, 1))
- s.mockDB.
- ExpectClose()
-
- err := InitSchema(ctx, s.tiGlue, "db", map[string]string{
- "t1": "create table `t1` with invalid syntax;",
- })
- require.Error(t, err)
-}
-
-func TestInitSchemaErrorLost(t *testing.T) {
- s := newTiDBSuite(t)
- ctx := context.Background()
-
- s.mockDB.
- ExpectExec("CREATE DATABASE IF NOT EXISTS `db`").
- WillReturnResult(sqlmock.NewResult(1, 1))
-
- s.mockDB.
- ExpectExec("CREATE TABLE IF NOT EXISTS.*").
- WillReturnError(&mysql.MySQLError{
- Number: tmysql.ErrTooBigFieldlength,
- Message: "Column length too big",
- })
-
- s.mockDB.
- ExpectClose()
-
- err := InitSchema(ctx, s.tiGlue, "db", map[string]string{
- "t1": "create table `t1` (a int);",
- "t2": "create table t2 (a int primary key, b varchar(200));",
- })
- require.Regexp(t, ".*Column length too big.*", err.Error())
-}
-
-func TestInitSchemaUnsupportedSchemaError(t *testing.T) {
- s := newTiDBSuite(t)
- ctx := context.Background()
-
- s.mockDB.
- ExpectExec("CREATE DATABASE IF NOT EXISTS `db`").
- WillReturnResult(sqlmock.NewResult(1, 1))
- s.mockDB.
- ExpectExec("CREATE TABLE IF NOT EXISTS `db`.`t1`.*").
- WillReturnError(&mysql.MySQLError{
- Number: tmysql.ErrTooBigFieldlength,
- Message: "Column length too big",
- })
- s.mockDB.
- ExpectClose()
-
- err := InitSchema(ctx, s.tiGlue, "db", map[string]string{
- "t1": "create table `t1` (a VARCHAR(999999999));",
- })
- require.Regexp(t, ".*Column length too big.*", err.Error())
-}
-
func TestDropTable(t *testing.T) {
s := newTiDBSuite(t)
ctx := context.Background()
diff --git a/br/pkg/lightning/run_options.go b/br/pkg/lightning/run_options.go
index a7b5b90770c02..169c2e47088dd 100644
--- a/br/pkg/lightning/run_options.go
+++ b/br/pkg/lightning/run_options.go
@@ -19,6 +19,7 @@ import (
"github.com/pingcap/tidb/br/pkg/lightning/log"
"github.com/pingcap/tidb/br/pkg/storage"
"github.com/pingcap/tidb/util/promutil"
+ "go.uber.org/atomic"
"go.uber.org/zap"
)
@@ -30,6 +31,7 @@ type options struct {
promFactory promutil.Factory
promRegistry promutil.Registry
logger log.Logger
+ dupIndicator *atomic.Bool
}
type Option func(*options)
@@ -81,3 +83,10 @@ func WithLogger(logger *zap.Logger) Option {
o.logger = log.Logger{Logger: logger}
}
}
+
+// WithDupIndicator sets a *bool to indicate duplicate detection has found duplicate data.
+func WithDupIndicator(b *atomic.Bool) Option {
+ return func(o *options) {
+ o.dupIndicator = b
+ }
+}
diff --git a/br/pkg/lightning/web/progress.go b/br/pkg/lightning/web/progress.go
index 8a3412087b94f..d5f3494a14040 100644
--- a/br/pkg/lightning/web/progress.go
+++ b/br/pkg/lightning/web/progress.go
@@ -64,7 +64,7 @@ func (cpm *checkpointsMap) update(diffs map[string]*checkpoints.TableCheckpointD
for _, engine := range cp.Engines {
for _, chunk := range engine.Chunks {
if engine.Status >= checkpoints.CheckpointStatusAllWritten {
- tw += chunk.Chunk.EndOffset - chunk.Key.Offset
+ tw += chunk.TotalSize()
} else {
tw += chunk.Chunk.Offset - chunk.Key.Offset
}
diff --git a/br/pkg/logutil/logging.go b/br/pkg/logutil/logging.go
index 028cfc00e5f43..41b8e135c220f 100644
--- a/br/pkg/logutil/logging.go
+++ b/br/pkg/logutil/logging.go
@@ -306,3 +306,13 @@ func (rng StringifyRange) String() string {
sb.WriteString(")")
return sb.String()
}
+
+// StringifyMany returns an array marshaler for a slice of stringers.
+func StringifyMany[T fmt.Stringer](items []T) zapcore.ArrayMarshaler {
+ return zapcore.ArrayMarshalerFunc(func(ae zapcore.ArrayEncoder) error {
+ for _, item := range items {
+ ae.AppendString(item.String())
+ }
+ return nil
+ })
+}
diff --git a/br/pkg/restore/BUILD.bazel b/br/pkg/restore/BUILD.bazel
index 2c42717bafe36..7d0071047d8e8 100644
--- a/br/pkg/restore/BUILD.bazel
+++ b/br/pkg/restore/BUILD.bazel
@@ -43,6 +43,7 @@ go_library(
"//br/pkg/summary",
"//br/pkg/utils",
"//br/pkg/utils/iter",
+ "//br/pkg/version",
"//config",
"//ddl",
"//ddl/util",
@@ -57,6 +58,7 @@ go_library(
"//tablecodec",
"//util",
"//util/codec",
+ "//util/collate",
"//util/hack",
"//util/mathutil",
"//util/table-filter",
@@ -113,12 +115,13 @@ go_test(
"search_test.go",
"split_test.go",
"stream_metas_test.go",
+ "systable_restore_test.go",
"util_test.go",
],
embed = [":restore"],
flaky = True,
race = "on",
- shard_count = 20,
+ shard_count = 50,
deps = [
"//br/pkg/backup",
"//br/pkg/conn",
diff --git a/br/pkg/restore/client.go b/br/pkg/restore/client.go
index 81215e675c8c0..6f91a3b4deffc 100644
--- a/br/pkg/restore/client.go
+++ b/br/pkg/restore/client.go
@@ -39,6 +39,7 @@ import (
"github.com/pingcap/tidb/br/pkg/stream"
"github.com/pingcap/tidb/br/pkg/summary"
"github.com/pingcap/tidb/br/pkg/utils"
+ "github.com/pingcap/tidb/br/pkg/version"
"github.com/pingcap/tidb/config"
ddlutil "github.com/pingcap/tidb/ddl/util"
"github.com/pingcap/tidb/domain"
@@ -50,6 +51,7 @@ import (
"github.com/pingcap/tidb/store/pdtypes"
"github.com/pingcap/tidb/tablecodec"
"github.com/pingcap/tidb/util/codec"
+ "github.com/pingcap/tidb/util/collate"
"github.com/pingcap/tidb/util/mathutil"
filter "github.com/pingcap/tidb/util/table-filter"
"github.com/tikv/client-go/v2/oracle"
@@ -446,7 +448,7 @@ func (rc *Client) GetFilesInRawRange(startKey []byte, endKey []byte, cf string)
// SetConcurrency sets the concurrency of dbs tables files.
func (rc *Client) SetConcurrency(c uint) {
- log.Debug("new worker pool", zap.Uint("currency-count", c))
+ log.Info("new worker pool", zap.Uint("currency-count", c))
rc.workerPool = utils.NewWorkerPool(c, "file")
}
@@ -938,7 +940,9 @@ func (rc *Client) CheckSysTableCompatibility(dom *domain.Domain, tables []*metau
return errors.Annotate(berrors.ErrRestoreIncompatibleSys, "missed system table: "+table.Info.Name.O)
}
backupTi := table.Info
- if len(ti.Columns) != len(backupTi.Columns) {
+ // skip checking the number of columns in mysql.user table,
+ // because higher versions of TiDB may add new columns.
+ if len(ti.Columns) != len(backupTi.Columns) && backupTi.Name.L != sysUserTableName {
log.Error("column count mismatch",
zap.Stringer("table", table.Info.Name),
zap.Int("col in cluster", len(ti.Columns)),
@@ -957,6 +961,13 @@ func (rc *Client) CheckSysTableCompatibility(dom *domain.Domain, tables []*metau
col := ti.Columns[i]
backupCol := backupColMap[col.Name.L]
if backupCol == nil {
+ // skip when the backed up mysql.user table is missing columns.
+ if backupTi.Name.L == sysUserTableName {
+ log.Warn("missing column in backup data",
+ zap.Stringer("table", table.Info.Name),
+ zap.String("col", fmt.Sprintf("%s %s", col.Name, col.FieldType.String())))
+ continue
+ }
log.Error("missing column in backup data",
zap.Stringer("table", table.Info.Name),
zap.String("col", fmt.Sprintf("%s %s", col.Name, col.FieldType.String())))
@@ -977,6 +988,29 @@ func (rc *Client) CheckSysTableCompatibility(dom *domain.Domain, tables []*metau
backupCol.Name, backupCol.FieldType.String())
}
}
+
+ if backupTi.Name.L == sysUserTableName {
+ // check whether the columns of table in cluster are less than the backup data
+ clusterColMap := make(map[string]*model.ColumnInfo)
+ for i := range ti.Columns {
+ col := ti.Columns[i]
+ clusterColMap[col.Name.L] = col
+ }
+ // order can be different
+ for i := range backupTi.Columns {
+ col := backupTi.Columns[i]
+ clusterCol := clusterColMap[col.Name.L]
+ if clusterCol == nil {
+ log.Error("missing column in cluster data",
+ zap.Stringer("table", table.Info.Name),
+ zap.String("col", fmt.Sprintf("%s %s", col.Name, col.FieldType.String())))
+ return errors.Annotatef(berrors.ErrRestoreIncompatibleSys,
+ "missing column in cluster data, table: %s, col: %s %s",
+ table.Info.Name.O,
+ col.Name, col.FieldType.String())
+ }
+ }
+ }
}
return nil
}
@@ -1427,7 +1461,7 @@ func (rc *Client) updateMetaAndLoadStats(ctx context.Context, input <-chan *Crea
}
// Not need to return err when failed because of update analysis-meta
- restoreTS, err := rc.GetTS(ctx)
+ restoreTS, err := rc.GetTSWithRetry(ctx)
if err != nil {
log.Error("getTS failed", zap.Error(err))
} else {
@@ -1807,19 +1841,179 @@ func (rc *Client) FixIndicesOfTable(ctx context.Context, schema string, table *m
return nil
}
+type FilesInRegion struct {
+ defaultSize uint64
+ defaultKVCount int64
+ writeSize uint64
+ writeKVCount int64
+
+ defaultFiles []*backuppb.DataFileInfo
+ writeFiles []*backuppb.DataFileInfo
+ deleteFiles []*backuppb.DataFileInfo
+}
+
+type FilesInTable struct {
+ regionMapFiles map[int64]*FilesInRegion
+}
+
+func ApplyKVFilesWithBatchMethod(
+ ctx context.Context,
+ iter LogIter,
+ batchCount int,
+ batchSize uint64,
+ applyFunc func(files []*backuppb.DataFileInfo, kvCount int64, size uint64),
+) error {
+ var (
+ tableMapFiles = make(map[int64]*FilesInTable)
+ tmpFiles = make([]*backuppb.DataFileInfo, 0, batchCount)
+ tmpSize uint64 = 0
+ tmpKVCount int64 = 0
+ )
+ for r := iter.TryNext(ctx); !r.Finished; r = iter.TryNext(ctx) {
+ if r.Err != nil {
+ return r.Err
+ }
+
+ f := r.Item
+ if f.GetType() == backuppb.FileType_Put && f.GetLength() >= batchSize {
+ applyFunc([]*backuppb.DataFileInfo{f}, f.GetNumberOfEntries(), f.GetLength())
+ continue
+ }
+
+ fit, exist := tableMapFiles[f.TableId]
+ if !exist {
+ fit = &FilesInTable{
+ regionMapFiles: make(map[int64]*FilesInRegion),
+ }
+ tableMapFiles[f.TableId] = fit
+ }
+ fs, exist := fit.regionMapFiles[f.RegionId]
+ if !exist {
+ fs = &FilesInRegion{}
+ fit.regionMapFiles[f.RegionId] = fs
+ }
+
+ if f.GetType() == backuppb.FileType_Delete {
+ if fs.defaultFiles == nil {
+ fs.deleteFiles = make([]*backuppb.DataFileInfo, 0)
+ }
+ fs.deleteFiles = append(fs.deleteFiles, f)
+ } else {
+ if f.GetCf() == stream.DefaultCF {
+ if fs.defaultFiles == nil {
+ fs.defaultFiles = make([]*backuppb.DataFileInfo, 0, batchCount)
+ }
+ fs.defaultFiles = append(fs.defaultFiles, f)
+ fs.defaultSize += f.Length
+ fs.defaultKVCount += f.GetNumberOfEntries()
+ if len(fs.defaultFiles) >= batchCount || fs.defaultSize >= batchSize {
+ applyFunc(fs.defaultFiles, fs.defaultKVCount, fs.defaultSize)
+ fs.defaultFiles = nil
+ fs.defaultSize = 0
+ fs.defaultKVCount = 0
+ }
+ } else {
+ if fs.writeFiles == nil {
+ fs.writeFiles = make([]*backuppb.DataFileInfo, 0, batchCount)
+ }
+ fs.writeFiles = append(fs.writeFiles, f)
+ fs.writeSize += f.GetLength()
+ fs.writeKVCount += f.GetNumberOfEntries()
+ if len(fs.writeFiles) >= batchCount || fs.writeSize >= batchSize {
+ applyFunc(fs.writeFiles, fs.writeKVCount, fs.writeSize)
+ fs.writeFiles = nil
+ fs.writeSize = 0
+ fs.writeKVCount = 0
+ }
+ }
+ }
+ }
+
+ for _, fwt := range tableMapFiles {
+ for _, fs := range fwt.regionMapFiles {
+ if len(fs.defaultFiles) > 0 {
+ applyFunc(fs.defaultFiles, fs.defaultKVCount, fs.defaultSize)
+ }
+ if len(fs.writeFiles) > 0 {
+ applyFunc(fs.writeFiles, fs.writeKVCount, fs.writeSize)
+ }
+ }
+ }
+
+ for _, fwt := range tableMapFiles {
+ for _, fs := range fwt.regionMapFiles {
+ for _, d := range fs.deleteFiles {
+ tmpFiles = append(tmpFiles, d)
+ tmpSize += d.GetLength()
+ tmpKVCount += d.GetNumberOfEntries()
+
+ if len(tmpFiles) >= batchCount || tmpSize >= batchSize {
+ applyFunc(tmpFiles, tmpKVCount, tmpSize)
+ tmpFiles = make([]*backuppb.DataFileInfo, 0, batchCount)
+ tmpSize = 0
+ tmpKVCount = 0
+ }
+ }
+ if len(tmpFiles) > 0 {
+ applyFunc(tmpFiles, tmpKVCount, tmpSize)
+ tmpFiles = make([]*backuppb.DataFileInfo, 0, batchCount)
+ tmpSize = 0
+ tmpKVCount = 0
+ }
+ }
+ }
+
+ return nil
+}
+
+func ApplyKVFilesWithSingelMethod(
+ ctx context.Context,
+ files LogIter,
+ applyFunc func(file []*backuppb.DataFileInfo, kvCount int64, size uint64),
+) error {
+ deleteKVFiles := make([]*backuppb.DataFileInfo, 0)
+
+ for r := files.TryNext(ctx); !r.Finished; r = files.TryNext(ctx) {
+ if r.Err != nil {
+ return r.Err
+ }
+
+ f := r.Item
+ if f.GetType() == backuppb.FileType_Delete {
+ deleteKVFiles = append(deleteKVFiles, f)
+ continue
+ }
+ applyFunc([]*backuppb.DataFileInfo{f}, f.GetNumberOfEntries(), f.GetLength())
+ }
+
+ log.Info("restore delete files", zap.Int("count", len(deleteKVFiles)))
+ for _, file := range deleteKVFiles {
+ f := file
+ applyFunc([]*backuppb.DataFileInfo{f}, f.GetNumberOfEntries(), f.GetLength())
+ }
+
+ return nil
+}
+
func (rc *Client) RestoreKVFiles(
ctx context.Context,
rules map[int64]*RewriteRules,
- files LogIter,
+ iter LogIter,
+ pitrBatchCount uint32,
+ pitrBatchSize uint32,
updateStats func(kvCount uint64, size uint64),
- onProgress func(),
+ onProgress func(cnt int64),
) error {
- var err error
- fileCount := 0
- start := time.Now()
+ var (
+ err error
+ fileCount = 0
+ start = time.Now()
+ supportBatch = version.CheckPITRSupportBatchKVFiles()
+ skipFile = 0
+ )
defer func() {
- elapsed := time.Since(start)
if err == nil {
+ elapsed := time.Since(start)
log.Info("Restore KV files", zap.Duration("take", elapsed))
summary.CollectSuccessUnit("files", fileCount, elapsed)
}
@@ -1832,60 +2026,52 @@ func (rc *Client) RestoreKVFiles(
}
eg, ectx := errgroup.WithContext(ctx)
- skipFile := 0
- deleteFiles := make([]*backuppb.DataFileInfo, 0)
-
- applyFunc := func(file *backuppb.DataFileInfo) {
- // get rewrite rule from table id
- rule, ok := rules[file.TableId]
+ applyFunc := func(files []*backuppb.DataFileInfo, kvCount int64, size uint64) {
+ if len(files) == 0 {
+ return
+ }
+ // get rewrite rule from table id.
+ // because the tableID of files is the same.
+ rule, ok := rules[files[0].TableId]
if !ok {
// TODO handle new created table
// For this version we do not handle new created table after full backup.
// in next version we will perform rewrite and restore meta key to restore new created tables.
// so we can simply skip the file that doesn't have the rule here.
- onProgress()
- summary.CollectInt("FileSkip", 1)
- log.Debug("skip file due to table id not matched", zap.String("file", file.Path), zap.Int64("tableId", file.TableId))
- skipFile++
+ onProgress(int64(len(files)))
+ summary.CollectInt("FileSkip", len(files))
+ log.Debug("skip file due to table id not matched", zap.Int64("table-id", files[0].TableId))
+ skipFile += len(files)
} else {
rc.workerPool.ApplyOnErrorGroup(eg, func() error {
fileStart := time.Now()
defer func() {
- onProgress()
- updateStats(uint64(file.NumberOfEntries), file.Length)
- summary.CollectInt("File", 1)
- log.Info("import files done", zap.String("name", file.Path), zap.Duration("take", time.Since(fileStart)))
+ onProgress(int64(len(files)))
+ updateStats(uint64(kvCount), size)
+ summary.CollectInt("File", len(files))
+
+ filenames := make([]string, 0, len(files))
+ for _, f := range files {
+ filenames = append(filenames, f.Path+", ")
+ }
+ log.Info("import files done", zap.Int("batch-count", len(files)), zap.Uint64("batch-size", size),
+ zap.Duration("take", time.Since(fileStart)), zap.Strings("files", filenames))
}()
- startTS := rc.startTS
- if file.Cf == stream.DefaultCF {
- startTS = rc.shiftStartTS
- }
- return rc.fileImporter.ImportKVFiles(ectx, file, rule, startTS, rc.restoreTS)
+
+ return rc.fileImporter.ImportKVFiles(ectx, files, rule, rc.shiftStartTS, rc.startTS, rc.restoreTS, supportBatch)
})
}
}
- for r := files.TryNext(ctx); !r.Finished; r = files.TryNext(ctx) {
- if r.Err != nil {
- return err
- }
- file := r.Item
- if file.Type == backuppb.FileType_Delete {
- // collect delete type file and apply it later.
- deleteFiles = append(deleteFiles, file)
- continue
- }
- fileReplica := file
- // applyFunc blocks once there aren't enough workers.
- // this would help us don't load too many DML file info.
- applyFunc(fileReplica)
- }
- if len(deleteFiles) > 0 {
- log.Info("restore delete files", zap.Int("count", len(deleteFiles)))
+
+ if supportBatch {
+ err = ApplyKVFilesWithBatchMethod(ectx, iter, int(pitrBatchCount), uint64(pitrBatchSize), applyFunc)
+ } else {
+ err = ApplyKVFilesWithSingelMethod(ectx, iter, applyFunc)
}
- for _, file := range deleteFiles {
- fileReplica := file
- applyFunc(fileReplica)
+ if err != nil {
+ return errors.Trace(err)
}
+
log.Info("total skip files due to table id not matched", zap.Int("count", skipFile))
if skipFile > 0 {
log.Debug("table id in full backup storage", zap.Any("tables", rules))
@@ -1893,13 +2079,9 @@ func (rc *Client) RestoreKVFiles(
if err = eg.Wait(); err != nil {
summary.CollectFailureUnit("file", err)
- log.Error(
- "restore files failed",
- zap.Error(err),
- )
- return errors.Trace(err)
+ log.Error("restore files failed", zap.Error(err))
}
- return nil
+ return errors.Trace(err)
}
func (rc *Client) CleanUpKVFiles(
@@ -2399,7 +2581,7 @@ func (rc *Client) RunGCRowsLoader(ctx context.Context) {
func (rc *Client) InsertGCRows(ctx context.Context) error {
close(rc.deleteRangeQueryCh)
rc.deleteRangeQueryWaitGroup.Wait()
- ts, err := rc.GetTS(ctx)
+ ts, err := rc.GetTSWithRetry(ctx)
if err != nil {
return errors.Trace(err)
}
@@ -2433,7 +2615,7 @@ func (rc *Client) SaveSchemas(
schemas := TidyOldSchemas(sr)
schemasConcurrency := uint(mathutil.Min(64, schemas.Len()))
- err := schemas.BackupSchemas(ctx, metaWriter, nil, nil, rc.restoreTS, schemasConcurrency, 0, true, nil)
+ err := schemas.BackupSchemas(ctx, metaWriter, nil, nil, nil, rc.restoreTS, schemasConcurrency, 0, true, nil)
if err != nil {
return errors.Trace(err)
}
@@ -2464,6 +2646,74 @@ func (rc *Client) SetWithSysTable(withSysTable bool) {
rc.withSysTable = withSysTable
}
+func (rc *Client) ResetTiFlashReplicas(ctx context.Context, g glue.Glue, storage kv.Storage) error {
+ dom, err := g.GetDomain(storage)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ info := dom.InfoSchema()
+ allSchema := info.AllSchemas()
+ recorder := tiflashrec.New()
+
+ expectTiFlashStoreCount := uint64(0)
+ needTiFlash := false
+ for _, s := range allSchema {
+ for _, t := range s.Tables {
+ if t.TiFlashReplica != nil {
+ expectTiFlashStoreCount = mathutil.Max(expectTiFlashStoreCount, t.TiFlashReplica.Count)
+ recorder.AddTable(t.ID, *t.TiFlashReplica)
+ needTiFlash = true
+ }
+ }
+ }
+ if !needTiFlash {
+ log.Info("no need to set tiflash replica, since there is no tables enable tiflash replica")
+ return nil
+ }
+ // we wait for ten minutes to wait tiflash starts.
+ // since tiflash only starts when set unmark recovery mode finished.
+ timeoutCtx, cancel := context.WithTimeout(ctx, 10*time.Minute)
+ defer cancel()
+ err = utils.WithRetry(timeoutCtx, func() error {
+ tiFlashStoreCount, err := rc.getTiFlashNodeCount(ctx)
+ log.Info("get tiflash store count for resetting TiFlash Replica",
+ zap.Uint64("count", tiFlashStoreCount))
+ if err != nil {
+ return errors.Trace(err)
+ }
+ if tiFlashStoreCount < expectTiFlashStoreCount {
+ log.Info("still waiting for enough tiflash store start",
+ zap.Uint64("expect", expectTiFlashStoreCount),
+ zap.Uint64("actual", tiFlashStoreCount),
+ )
+ return errors.New("tiflash store count is less than expected")
+ }
+ return nil
+ }, &waitTiFlashBackoffer{
+ Attempts: 30,
+ BaseBackoff: 4 * time.Second,
+ })
+ if err != nil {
+ return err
+ }
+
+ sqls := recorder.GenerateResetAlterTableDDLs(info)
+ log.Info("Generating SQLs for resetting tiflash replica",
+ zap.Strings("sqls", sqls))
+
+ return g.UseOneShotSession(storage, false, func(se glue.Session) error {
+ for _, sql := range sqls {
+ if errExec := se.ExecuteInternal(ctx, sql); errExec != nil {
+ logutil.WarnTerm("Failed to restore tiflash replica config, you may execute the sql restore it manually.",
+ logutil.ShortError(errExec),
+ zap.String("sql", sql),
+ )
+ }
+ }
+ return nil
+ })
+}
+
// MockClient create a fake client used to test.
func MockClient(dbs map[string]*utils.Database) *Client {
return &Client{databases: dbs}
@@ -2495,3 +2745,71 @@ func TidyOldSchemas(sr *stream.SchemasReplace) *backup.Schemas {
}
return schemas
}
+
+func CheckNewCollationEnable(
+ backupNewCollationEnable string,
+ g glue.Glue,
+ storage kv.Storage,
+ CheckRequirements bool,
+) error {
+ if backupNewCollationEnable == "" {
+ if CheckRequirements {
+ return errors.Annotatef(berrors.ErrUnknown,
+ "the config 'new_collations_enabled_on_first_bootstrap' not found in backupmeta. "+
+ "you can use \"show config WHERE name='new_collations_enabled_on_first_bootstrap';\" to manually check the config. "+
+ "if you ensure the config 'new_collations_enabled_on_first_bootstrap' in backup cluster is as same as restore cluster, "+
+ "use --check-requirements=false to skip this check")
+ }
+ log.Warn("the config 'new_collations_enabled_on_first_bootstrap' is not in backupmeta")
+ return nil
+ }
+
+ se, err := g.CreateSession(storage)
+ if err != nil {
+ return errors.Trace(err)
+ }
+
+ newCollationEnable, err := se.GetGlobalVariable(utils.GetTidbNewCollationEnabled())
+ if err != nil {
+ return errors.Trace(err)
+ }
+
+ if !strings.EqualFold(backupNewCollationEnable, newCollationEnable) {
+ return errors.Annotatef(berrors.ErrUnknown,
+ "the config 'new_collations_enabled_on_first_bootstrap' not match, upstream:%v, downstream: %v",
+ backupNewCollationEnable, newCollationEnable)
+ }
+
+ // collate.newCollationEnabled is set to 1 when the collate package is initialized,
+ // so we need to modify this value according to the config of the cluster
+ // before using the collate package.
+ enabled := newCollationEnable == "True"
+ // modify collate.newCollationEnabled according to the config of the cluster
+ collate.SetNewCollationEnabledForTest(enabled)
+ log.Info("set new_collation_enabled", zap.Bool("new_collation_enabled", enabled))
+ return nil
+}
+
+type waitTiFlashBackoffer struct {
+ Attempts int
+ BaseBackoff time.Duration
+}
+
+// NextBackoff returns a duration to wait before retrying again
+func (b *waitTiFlashBackoffer) NextBackoff(error) time.Duration {
+ bo := b.BaseBackoff
+ b.Attempts--
+ if b.Attempts == 0 {
+ return 0
+ }
+ b.BaseBackoff *= 2
+ if b.BaseBackoff > 32*time.Second {
+ b.BaseBackoff = 32 * time.Second
+ }
+ return bo
+}
+
+// Attempt returns the remain attempt times
+func (b *waitTiFlashBackoffer) Attempt() int {
+ return b.Attempts
+}
diff --git a/br/pkg/restore/client_test.go b/br/pkg/restore/client_test.go
index c43c3c80c2452..ae943a96f276b 100644
--- a/br/pkg/restore/client_test.go
+++ b/br/pkg/restore/client_test.go
@@ -25,6 +25,7 @@ import (
"github.com/pingcap/tidb/br/pkg/restore/tiflashrec"
"github.com/pingcap/tidb/br/pkg/stream"
"github.com/pingcap/tidb/br/pkg/utils"
+ "github.com/pingcap/tidb/br/pkg/utils/iter"
"github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/parser/types"
@@ -194,32 +195,33 @@ func TestCheckSysTableCompatibility(t *testing.T) {
userTI, err := client.GetTableSchema(cluster.Domain, sysDB, model.NewCIStr("user"))
require.NoError(t, err)
- // column count mismatch
+ // user table in cluster have more columns(success)
mockedUserTI := userTI.Clone()
- mockedUserTI.Columns = mockedUserTI.Columns[:len(mockedUserTI.Columns)-1]
+ userTI.Columns = append(userTI.Columns, &model.ColumnInfo{Name: model.NewCIStr("new-name")})
err = client.CheckSysTableCompatibility(cluster.Domain, []*metautil.Table{{
DB: tmpSysDB,
Info: mockedUserTI,
}})
- require.True(t, berrors.ErrRestoreIncompatibleSys.Equal(err))
+ require.NoError(t, err)
+ userTI.Columns = userTI.Columns[:len(userTI.Columns)-1]
- // column order mismatch(success)
+ // user table in cluster have less columns(failed)
mockedUserTI = userTI.Clone()
- mockedUserTI.Columns[4], mockedUserTI.Columns[5] = mockedUserTI.Columns[5], mockedUserTI.Columns[4]
+ mockedUserTI.Columns = append(mockedUserTI.Columns, &model.ColumnInfo{Name: model.NewCIStr("new-name")})
err = client.CheckSysTableCompatibility(cluster.Domain, []*metautil.Table{{
DB: tmpSysDB,
Info: mockedUserTI,
}})
- require.NoError(t, err)
+ require.True(t, berrors.ErrRestoreIncompatibleSys.Equal(err))
- // missing column
+ // column order mismatch(success)
mockedUserTI = userTI.Clone()
- mockedUserTI.Columns[0].Name = model.NewCIStr("new-name")
+ mockedUserTI.Columns[4], mockedUserTI.Columns[5] = mockedUserTI.Columns[5], mockedUserTI.Columns[4]
err = client.CheckSysTableCompatibility(cluster.Domain, []*metautil.Table{{
DB: tmpSysDB,
Info: mockedUserTI,
}})
- require.True(t, berrors.ErrRestoreIncompatibleSys.Equal(err))
+ require.NoError(t, err)
// incompatible column type
mockedUserTI = userTI.Clone()
@@ -237,6 +239,19 @@ func TestCheckSysTableCompatibility(t *testing.T) {
Info: mockedUserTI,
}})
require.NoError(t, err)
+
+ // use the mysql.db table to test for column count mismatch.
+ dbTI, err := client.GetTableSchema(cluster.Domain, sysDB, model.NewCIStr("db"))
+ require.NoError(t, err)
+
+ // other system tables in cluster have more columns(failed)
+ mockedDBTI := dbTI.Clone()
+ dbTI.Columns = append(dbTI.Columns, &model.ColumnInfo{Name: model.NewCIStr("new-name")})
+ err = client.CheckSysTableCompatibility(cluster.Domain, []*metautil.Table{{
+ DB: tmpSysDB,
+ Info: mockedDBTI,
+ }})
+ require.True(t, berrors.ErrRestoreIncompatibleSys.Equal(err))
}
func TestInitFullClusterRestore(t *testing.T) {
@@ -332,18 +347,17 @@ type fakePDClient struct {
pd.Client
stores []*metapb.Store
- notLeader bool
+ notLeader bool
+ retryTimes *int
}
-var retryTimes int
-
func (fpdc fakePDClient) GetAllStores(context.Context, ...pd.GetStoreOption) ([]*metapb.Store, error) {
return append([]*metapb.Store{}, fpdc.stores...), nil
}
func (fpdc fakePDClient) GetTS(ctx context.Context) (int64, int64, error) {
- retryTimes++
- if retryTimes >= 3 { // the mock PD leader switched successfully
+ (*fpdc.retryTimes)++
+ if *fpdc.retryTimes >= 3 { // the mock PD leader switched successfully
fpdc.notLeader = false
}
@@ -355,24 +369,24 @@ func (fpdc fakePDClient) GetTS(ctx context.Context) (int64, int64, error) {
func TestGetTSWithRetry(t *testing.T) {
t.Run("PD leader is healthy:", func(t *testing.T) {
- retryTimes = -1000
- pDClient := fakePDClient{notLeader: false}
+ retryTimes := -1000
+ pDClient := fakePDClient{notLeader: false, retryTimes: &retryTimes}
client := restore.NewRestoreClient(pDClient, nil, defaultKeepaliveCfg, false)
_, err := client.GetTSWithRetry(context.Background())
require.NoError(t, err)
})
t.Run("PD leader failure:", func(t *testing.T) {
- retryTimes = -1000
- pDClient := fakePDClient{notLeader: true}
+ retryTimes := -1000
+ pDClient := fakePDClient{notLeader: true, retryTimes: &retryTimes}
client := restore.NewRestoreClient(pDClient, nil, defaultKeepaliveCfg, false)
_, err := client.GetTSWithRetry(context.Background())
require.Error(t, err)
})
t.Run("PD leader switch successfully", func(t *testing.T) {
- retryTimes = 0
- pDClient := fakePDClient{notLeader: true}
+ retryTimes := 0
+ pDClient := fakePDClient{notLeader: true, retryTimes: &retryTimes}
client := restore.NewRestoreClient(pDClient, nil, defaultKeepaliveCfg, false)
_, err := client.GetTSWithRetry(context.Background())
require.NoError(t, err)
@@ -1096,3 +1110,458 @@ func TestSortMetaKVFiles(t *testing.T) {
require.Equal(t, files[3].Path, "f4")
require.Equal(t, files[4].Path, "f5")
}
+
+func TestApplyKVFilesWithSingelMethod(t *testing.T) {
+ var (
+ totalKVCount int64 = 0
+ totalSize uint64 = 0
+ logs = make([]string, 0)
+ )
+ ds := []*backuppb.DataFileInfo{
+ {
+ Path: "log3",
+ NumberOfEntries: 5,
+ Length: 100,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Delete,
+ },
+ {
+ Path: "log1",
+ NumberOfEntries: 5,
+ Length: 100,
+ Cf: stream.DefaultCF,
+ Type: backuppb.FileType_Put,
+ }, {
+ Path: "log2",
+ NumberOfEntries: 5,
+ Length: 100,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Put,
+ },
+ }
+ applyFunc := func(
+ files []*backuppb.DataFileInfo,
+ kvCount int64,
+ size uint64,
+ ) {
+ totalKVCount += kvCount
+ totalSize += size
+ for _, f := range files {
+ logs = append(logs, f.GetPath())
+ }
+ }
+
+ restore.ApplyKVFilesWithSingelMethod(
+ context.TODO(),
+ iter.FromSlice(ds),
+ applyFunc,
+ )
+
+ require.Equal(t, totalKVCount, int64(15))
+ require.Equal(t, totalSize, uint64(300))
+ require.Equal(t, logs, []string{"log1", "log2", "log3"})
+}
+
+func TestApplyKVFilesWithBatchMethod1(t *testing.T) {
+ var (
+ runCount = 0
+ batchCount int = 3
+ batchSize uint64 = 1000
+ totalKVCount int64 = 0
+ logs = make([][]string, 0)
+ )
+ ds := []*backuppb.DataFileInfo{
+ {
+ Path: "log5",
+ NumberOfEntries: 5,
+ Length: 100,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Delete,
+ RegionId: 1,
+ }, {
+ Path: "log3",
+ NumberOfEntries: 5,
+ Length: 100,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Put,
+ RegionId: 1,
+ }, {
+ Path: "log4",
+ NumberOfEntries: 5,
+ Length: 100,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Put,
+ RegionId: 1,
+ }, {
+ Path: "log1",
+ NumberOfEntries: 5,
+ Length: 800,
+ Cf: stream.DefaultCF,
+ Type: backuppb.FileType_Put,
+ RegionId: 1,
+ },
+ {
+ Path: "log2",
+ NumberOfEntries: 5,
+ Length: 200,
+ Cf: stream.DefaultCF,
+ Type: backuppb.FileType_Put,
+ RegionId: 1,
+ },
+ }
+ applyFunc := func(
+ files []*backuppb.DataFileInfo,
+ kvCount int64,
+ size uint64,
+ ) {
+ runCount += 1
+ totalKVCount += kvCount
+ log := make([]string, 0, len(files))
+ for _, f := range files {
+ log = append(log, f.GetPath())
+ }
+ logs = append(logs, log)
+ }
+
+ restore.ApplyKVFilesWithBatchMethod(
+ context.TODO(),
+ iter.FromSlice(ds),
+ batchCount,
+ batchSize,
+ applyFunc,
+ )
+
+ require.Equal(t, runCount, 3)
+ require.Equal(t, totalKVCount, int64(25))
+ require.Equal(t,
+ logs,
+ [][]string{
+ {"log1", "log2"},
+ {"log3", "log4"},
+ {"log5"},
+ },
+ )
+}
+
+func TestApplyKVFilesWithBatchMethod2(t *testing.T) {
+ var (
+ runCount = 0
+ batchCount int = 2
+ batchSize uint64 = 1500
+ totalKVCount int64 = 0
+ logs = make([][]string, 0)
+ )
+ ds := []*backuppb.DataFileInfo{
+ {
+ Path: "log1",
+ NumberOfEntries: 5,
+ Length: 100,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Delete,
+ RegionId: 1,
+ }, {
+ Path: "log2",
+ NumberOfEntries: 5,
+ Length: 100,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Put,
+ RegionId: 1,
+ }, {
+ Path: "log3",
+ NumberOfEntries: 5,
+ Length: 100,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Put,
+ RegionId: 1,
+ }, {
+ Path: "log4",
+ NumberOfEntries: 5,
+ Length: 100,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Put,
+ RegionId: 1,
+ }, {
+ Path: "log5",
+ NumberOfEntries: 5,
+ Length: 800,
+ Cf: stream.DefaultCF,
+ Type: backuppb.FileType_Put,
+ RegionId: 1,
+ },
+ {
+ Path: "log6",
+ NumberOfEntries: 5,
+ Length: 200,
+ Cf: stream.DefaultCF,
+ Type: backuppb.FileType_Put,
+ RegionId: 1,
+ },
+ }
+ applyFunc := func(
+ files []*backuppb.DataFileInfo,
+ kvCount int64,
+ size uint64,
+ ) {
+ runCount += 1
+ totalKVCount += kvCount
+ log := make([]string, 0, len(files))
+ for _, f := range files {
+ log = append(log, f.GetPath())
+ }
+ logs = append(logs, log)
+ }
+
+ restore.ApplyKVFilesWithBatchMethod(
+ context.TODO(),
+ iter.FromSlice(ds),
+ batchCount,
+ batchSize,
+ applyFunc,
+ )
+
+ require.Equal(t, runCount, 4)
+ require.Equal(t, totalKVCount, int64(30))
+ require.Equal(t,
+ logs,
+ [][]string{
+ {"log2", "log3"},
+ {"log5", "log6"},
+ {"log4"},
+ {"log1"},
+ },
+ )
+}
+
+func TestApplyKVFilesWithBatchMethod3(t *testing.T) {
+ var (
+ runCount = 0
+ batchCount int = 2
+ batchSize uint64 = 1500
+ totalKVCount int64 = 0
+ logs = make([][]string, 0)
+ )
+ ds := []*backuppb.DataFileInfo{
+ {
+ Path: "log1",
+ NumberOfEntries: 5,
+ Length: 2000,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Delete,
+ RegionId: 1,
+ }, {
+ Path: "log2",
+ NumberOfEntries: 5,
+ Length: 2000,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Put,
+ RegionId: 1,
+ }, {
+ Path: "log3",
+ NumberOfEntries: 5,
+ Length: 100,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Put,
+ RegionId: 1,
+ }, {
+ Path: "log5",
+ NumberOfEntries: 5,
+ Length: 800,
+ Cf: stream.DefaultCF,
+ Type: backuppb.FileType_Put,
+ RegionId: 3,
+ },
+ {
+ Path: "log6",
+ NumberOfEntries: 5,
+ Length: 200,
+ Cf: stream.DefaultCF,
+ Type: backuppb.FileType_Put,
+ RegionId: 3,
+ },
+ }
+ applyFunc := func(
+ files []*backuppb.DataFileInfo,
+ kvCount int64,
+ size uint64,
+ ) {
+ runCount += 1
+ totalKVCount += kvCount
+ log := make([]string, 0, len(files))
+ for _, f := range files {
+ log = append(log, f.GetPath())
+ }
+ logs = append(logs, log)
+ }
+
+ restore.ApplyKVFilesWithBatchMethod(
+ context.TODO(),
+ iter.FromSlice(ds),
+ batchCount,
+ batchSize,
+ applyFunc,
+ )
+
+ require.Equal(t, totalKVCount, int64(25))
+ require.Equal(t,
+ logs,
+ [][]string{
+ {"log2"},
+ {"log5", "log6"},
+ {"log3"},
+ {"log1"},
+ },
+ )
+}
+
+func TestApplyKVFilesWithBatchMethod4(t *testing.T) {
+ var (
+ runCount = 0
+ batchCount int = 2
+ batchSize uint64 = 1500
+ totalKVCount int64 = 0
+ logs = make([][]string, 0)
+ )
+ ds := []*backuppb.DataFileInfo{
+ {
+ Path: "log1",
+ NumberOfEntries: 5,
+ Length: 2000,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Delete,
+ TableId: 1,
+ }, {
+ Path: "log2",
+ NumberOfEntries: 5,
+ Length: 100,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Put,
+ TableId: 1,
+ }, {
+ Path: "log3",
+ NumberOfEntries: 5,
+ Length: 100,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Put,
+ TableId: 2,
+ }, {
+ Path: "log4",
+ NumberOfEntries: 5,
+ Length: 100,
+ Cf: stream.WriteCF,
+ Type: backuppb.FileType_Put,
+ TableId: 1,
+ }, {
+ Path: "log5",
+ NumberOfEntries: 5,
+ Length: 100,
+ Cf: stream.DefaultCF,
+ Type: backuppb.FileType_Put,
+ TableId: 2,
+ },
+ }
+ applyFunc := func(
+ files []*backuppb.DataFileInfo,
+ kvCount int64,
+ size uint64,
+ ) {
+ runCount += 1
+ totalKVCount += kvCount
+ log := make([]string, 0, len(files))
+ for _, f := range files {
+ log = append(log, f.GetPath())
+ }
+ logs = append(logs, log)
+ }
+
+ restore.ApplyKVFilesWithBatchMethod(
+ context.TODO(),
+ iter.FromSlice(ds),
+ batchCount,
+ batchSize,
+ applyFunc,
+ )
+
+ require.Equal(t, runCount, 4)
+ require.Equal(t, totalKVCount, int64(25))
+ require.Equal(t,
+ logs,
+ [][]string{
+ {"log2", "log4"},
+ {"log5"},
+ {"log3"},
+ {"log1"},
+ },
+ )
+}
+
+func TestCheckNewCollationEnable(t *testing.T) {
+ caseList := []struct {
+ backupMeta *backuppb.BackupMeta
+ newCollationEnableInCluster string
+ CheckRequirements bool
+ isErr bool
+ }{
+ {
+ backupMeta: &backuppb.BackupMeta{NewCollationsEnabled: "True"},
+ newCollationEnableInCluster: "True",
+ CheckRequirements: true,
+ isErr: false,
+ },
+ {
+ backupMeta: &backuppb.BackupMeta{NewCollationsEnabled: "True"},
+ newCollationEnableInCluster: "False",
+ CheckRequirements: true,
+ isErr: true,
+ },
+ {
+ backupMeta: &backuppb.BackupMeta{NewCollationsEnabled: "False"},
+ newCollationEnableInCluster: "True",
+ CheckRequirements: true,
+ isErr: true,
+ },
+ {
+ backupMeta: &backuppb.BackupMeta{NewCollationsEnabled: "False"},
+ newCollationEnableInCluster: "false",
+ CheckRequirements: true,
+ isErr: false,
+ },
+ {
+ backupMeta: &backuppb.BackupMeta{NewCollationsEnabled: "False"},
+ newCollationEnableInCluster: "True",
+ CheckRequirements: false,
+ isErr: true,
+ },
+ {
+ backupMeta: &backuppb.BackupMeta{NewCollationsEnabled: "True"},
+ newCollationEnableInCluster: "False",
+ CheckRequirements: false,
+ isErr: true,
+ },
+ {
+ backupMeta: &backuppb.BackupMeta{NewCollationsEnabled: ""},
+ newCollationEnableInCluster: "True",
+ CheckRequirements: false,
+ isErr: false,
+ },
+ {
+ backupMeta: &backuppb.BackupMeta{NewCollationsEnabled: ""},
+ newCollationEnableInCluster: "True",
+ CheckRequirements: true,
+ isErr: true,
+ },
+ }
+
+ for i, ca := range caseList {
+ g := &gluetidb.MockGlue{
+ GlobalVars: map[string]string{"new_collation_enabled": ca.newCollationEnableInCluster},
+ }
+ err := restore.CheckNewCollationEnable(ca.backupMeta.GetNewCollationsEnabled(), g, nil, ca.CheckRequirements)
+
+ t.Logf("[%d] Got Error: %v\n", i, err)
+ if ca.isErr {
+ require.Error(t, err)
+ } else {
+ require.NoError(t, err)
+ }
+ }
+}
diff --git a/br/pkg/restore/data.go b/br/pkg/restore/data.go
index f7efce83362f5..b4ed1c1144dd8 100644
--- a/br/pkg/restore/data.go
+++ b/br/pkg/restore/data.go
@@ -57,7 +57,7 @@ func RecoverData(ctx context.Context, resolveTS uint64, allStores []*metapb.Stor
return totalRegions, errors.Trace(err)
}
- if err := recovery.PrepareFlashbackToVersion(ctx); err != nil {
+ if err := recovery.PrepareFlashbackToVersion(ctx, resolveTS, restoreTS-1); err != nil {
return totalRegions, errors.Trace(err)
}
@@ -304,12 +304,12 @@ func (recovery *Recovery) WaitApply(ctx context.Context) (err error) {
}
// prepare the region for flashback the data, the purpose is to stop region service, put region in flashback state
-func (recovery *Recovery) PrepareFlashbackToVersion(ctx context.Context) (err error) {
+func (recovery *Recovery) PrepareFlashbackToVersion(ctx context.Context, resolveTS uint64, startTS uint64) (err error) {
var totalRegions atomic.Uint64
totalRegions.Store(0)
handler := func(ctx context.Context, r tikvstore.KeyRange) (rangetask.TaskStat, error) {
- stats, err := ddl.SendPrepareFlashbackToVersionRPC(ctx, recovery.mgr.GetStorage().(tikv.Storage), r)
+ stats, err := ddl.SendPrepareFlashbackToVersionRPC(ctx, recovery.mgr.GetStorage().(tikv.Storage), resolveTS, startTS, r)
totalRegions.Add(uint64(stats.CompletedRegions))
return stats, err
}
@@ -372,6 +372,7 @@ type RecoverRegion struct {
// 2. build a leader list for all region during the tikv startup
// 3. get max allocate id
func (recovery *Recovery) MakeRecoveryPlan() error {
+ storeBalanceScore := make(map[uint64]int, len(recovery.allStores))
// Group region peer info by region id. find the max allocateId
// region [id] [peer[0-n]]
var regions = make(map[uint64][]*RecoverRegion, 0)
@@ -410,16 +411,20 @@ func (recovery *Recovery) MakeRecoveryPlan() error {
}
} else {
// Generate normal commands.
- log.Debug("detected valid peer", zap.Uint64("region id", regionId))
- for i, peer := range peers {
- log.Debug("make plan", zap.Uint64("store id", peer.StoreId), zap.Uint64("region id", peer.RegionId))
- plan := &recovpb.RecoverRegionRequest{RegionId: peer.RegionId, AsLeader: i == 0}
- // sorted by log term -> last index -> commit index in a region
- if plan.AsLeader {
- log.Debug("as leader peer", zap.Uint64("store id", peer.StoreId), zap.Uint64("region id", peer.RegionId))
- recovery.RecoveryPlan[peer.StoreId] = append(recovery.RecoveryPlan[peer.StoreId], plan)
- }
+ log.Debug("detected valid region", zap.Uint64("region id", regionId))
+ // calc the leader candidates
+ leaderCandidates, err := LeaderCandidates(peers)
+ if err != nil {
+ log.Warn("region without peer", zap.Uint64("region id", regionId))
+ return errors.Trace(err)
}
+
+ // select the leader base on tikv storeBalanceScore
+ leader := SelectRegionLeader(storeBalanceScore, leaderCandidates)
+ log.Debug("as leader peer", zap.Uint64("store id", leader.StoreId), zap.Uint64("region id", leader.RegionId))
+ plan := &recovpb.RecoverRegionRequest{RegionId: leader.RegionId, AsLeader: true}
+ recovery.RecoveryPlan[leader.StoreId] = append(recovery.RecoveryPlan[leader.StoreId], plan)
+ storeBalanceScore[leader.StoreId] += 1
}
}
return nil
diff --git a/br/pkg/restore/db.go b/br/pkg/restore/db.go
index ae62162c3e890..1f3f5d949e26e 100644
--- a/br/pkg/restore/db.go
+++ b/br/pkg/restore/db.go
@@ -284,7 +284,7 @@ func (db *DB) tableIDAllocFilter() ddl.AllocTableIDIf {
if db.preallocedIDs == nil {
return true
}
- prealloced := db.preallocedIDs.Prealloced(ti.ID)
+ prealloced := db.preallocedIDs.PreallocedFor(ti)
if prealloced {
log.Info("reusing table ID", zap.Stringer("table", ti.Name))
}
@@ -308,6 +308,10 @@ func (db *DB) CreateTables(ctx context.Context, tables []*metautil.Table,
return errors.Trace(err)
}
}
+
+ if ttlInfo := table.Info.TTLInfo; ttlInfo != nil {
+ ttlInfo.Enable = false
+ }
}
if err := batchSession.CreateTables(ctx, m, db.tableIDAllocFilter()); err != nil {
return err
@@ -336,6 +340,10 @@ func (db *DB) CreateTable(ctx context.Context, table *metautil.Table,
}
}
+ if ttlInfo := table.Info.TTLInfo; ttlInfo != nil {
+ ttlInfo.Enable = false
+ }
+
err := db.se.CreateTable(ctx, table.DB.Name, table.Info, db.tableIDAllocFilter())
if err != nil {
log.Error("create table failed",
diff --git a/br/pkg/restore/db_test.go b/br/pkg/restore/db_test.go
index 8801a6af34727..3a5416501e4df 100644
--- a/br/pkg/restore/db_test.go
+++ b/br/pkg/restore/db_test.go
@@ -381,7 +381,7 @@ func TestGetExistedUserDBs(t *testing.T) {
{Name: model.NewCIStr("mysql")},
{Name: model.NewCIStr("test")},
},
- nil, 1)
+ nil, nil, 1)
require.Nil(t, err)
dom.MockInfoCacheAndLoadInfoSchema(builder.Build())
dbs = restore.GetExistedUserDBs(dom)
@@ -393,7 +393,7 @@ func TestGetExistedUserDBs(t *testing.T) {
{Name: model.NewCIStr("test")},
{Name: model.NewCIStr("d1")},
},
- nil, 1)
+ nil, nil, 1)
require.Nil(t, err)
dom.MockInfoCacheAndLoadInfoSchema(builder.Build())
dbs = restore.GetExistedUserDBs(dom)
@@ -409,7 +409,7 @@ func TestGetExistedUserDBs(t *testing.T) {
State: model.StatePublic,
},
},
- nil, 1)
+ nil, nil, 1)
require.Nil(t, err)
dom.MockInfoCacheAndLoadInfoSchema(builder.Build())
dbs = restore.GetExistedUserDBs(dom)
diff --git a/br/pkg/restore/import.go b/br/pkg/restore/import.go
index 0245add57554b..5004639c1a00d 100644
--- a/br/pkg/restore/import.go
+++ b/br/pkg/restore/import.go
@@ -6,6 +6,8 @@ import (
"bytes"
"context"
"crypto/tls"
+ "fmt"
+ "math/rand"
"strings"
"sync"
"sync/atomic"
@@ -24,8 +26,10 @@ import (
berrors "github.com/pingcap/tidb/br/pkg/errors"
"github.com/pingcap/tidb/br/pkg/logutil"
"github.com/pingcap/tidb/br/pkg/restore/split"
+ "github.com/pingcap/tidb/br/pkg/stream"
"github.com/pingcap/tidb/br/pkg/summary"
"github.com/pingcap/tidb/br/pkg/utils"
+ "github.com/pingcap/tidb/kv"
pd "github.com/tikv/pd/client"
"go.uber.org/multierr"
"go.uber.org/zap"
@@ -245,6 +249,8 @@ type FileImporter struct {
rawStartKey []byte
rawEndKey []byte
supportMultiIngest bool
+
+ cacheKey string
}
// NewFileImporter returns a new file importClient.
@@ -259,6 +265,7 @@ func NewFileImporter(
backend: backend,
importClient: importClient,
isRawKvMode: isRawKvMode,
+ cacheKey: fmt.Sprintf("BR-%s-%d", time.Now().Format("20060102150405"), rand.Int63()),
}
}
@@ -332,14 +339,16 @@ func (importer *FileImporter) getKeyRangeForFiles(
// Import tries to import a file.
func (importer *FileImporter) ImportKVFileForRegion(
ctx context.Context,
- file *backuppb.DataFileInfo,
+ files []*backuppb.DataFileInfo,
rule *RewriteRules,
+ shiftStartTS uint64,
startTS uint64,
restoreTS uint64,
info *split.RegionInfo,
+ supportBatch bool,
) RPCResult {
// Try to download file.
- result := importer.downloadAndApplyKVFile(ctx, file, rule, info, startTS, restoreTS)
+ result := importer.downloadAndApplyKVFile(ctx, files, rule, info, shiftStartTS, startTS, restoreTS, supportBatch)
if !result.OK() {
errDownload := result.Err
for _, e := range multierr.Errors(errDownload) {
@@ -380,39 +389,85 @@ func (importer *FileImporter) ClearFiles(ctx context.Context, pdClient pd.Client
return nil
}
+func FilterFilesByRegion(
+ files []*backuppb.DataFileInfo,
+ ranges []kv.KeyRange,
+ r *split.RegionInfo,
+) ([]*backuppb.DataFileInfo, error) {
+ if len(files) != len(ranges) {
+ return nil, errors.Annotatef(berrors.ErrInvalidArgument,
+ "count of files no equals count of ranges, file-count:%v, ranges-count:%v",
+ len(files), len(ranges))
+ }
+
+ output := make([]*backuppb.DataFileInfo, 0, len(files))
+ if r != nil && r.Region != nil {
+ for i, f := range files {
+ if bytes.Compare(r.Region.StartKey, ranges[i].EndKey) <= 0 &&
+ (len(r.Region.EndKey) == 0 || bytes.Compare(r.Region.EndKey, ranges[i].StartKey) >= 0) {
+ output = append(output, f)
+ }
+ }
+ } else {
+ output = files
+ }
+
+ return output, nil
+}
+
// ImportKVFiles restores the kv events.
func (importer *FileImporter) ImportKVFiles(
ctx context.Context,
- file *backuppb.DataFileInfo,
+ files []*backuppb.DataFileInfo,
rule *RewriteRules,
+ shiftStartTS uint64,
startTS uint64,
restoreTS uint64,
+ supportBatch bool,
) error {
- startTime := time.Now()
- log.Debug("import kv files", zap.String("file", file.Path))
- startKey, endKey, err := GetRewriteEncodedKeys(file, rule)
- if err != nil {
- return errors.Trace(err)
+ var (
+ startKey []byte
+ endKey []byte
+ ranges = make([]kv.KeyRange, len(files))
+ err error
+ )
+
+ if !supportBatch && len(files) > 1 {
+ return errors.Annotatef(berrors.ErrInvalidArgument,
+ "do not support batch apply but files count:%v > 1", len(files))
+ }
+ log.Debug("import kv files", zap.Int("batch file count", len(files)))
+
+ for i, f := range files {
+ ranges[i].StartKey, ranges[i].EndKey, err = GetRewriteEncodedKeys(f, rule)
+ if err != nil {
+ return errors.Trace(err)
+ }
+
+ if len(startKey) == 0 || bytes.Compare(ranges[i].StartKey, startKey) < 0 {
+ startKey = ranges[i].StartKey
+ }
+ if len(endKey) == 0 || bytes.Compare(ranges[i].EndKey, endKey) > 0 {
+ endKey = ranges[i].EndKey
+ }
}
log.Debug("rewrite file keys",
- zap.String("name", file.Path),
- logutil.Key("startKey", startKey),
- logutil.Key("endKey", endKey))
+ logutil.Key("startKey", startKey), logutil.Key("endKey", endKey))
- // This RetryState will retry 48 time, for 5 min - 6 min.
- rs := utils.InitialRetryState(48, 100*time.Millisecond, 8*time.Second)
+ // This RetryState will retry 45 time, about 10 min.
+ rs := utils.InitialRetryState(45, 100*time.Millisecond, 15*time.Second)
ctl := OverRegionsInRange(startKey, endKey, importer.metaClient, &rs)
err = ctl.Run(ctx, func(ctx context.Context, r *split.RegionInfo) RPCResult {
- return importer.ImportKVFileForRegion(ctx, file, rule, startTS, restoreTS, r)
+ subfiles, errFilter := FilterFilesByRegion(files, ranges, r)
+ if errFilter != nil {
+ return RPCResultFromError(errFilter)
+ }
+ if len(subfiles) == 0 {
+ return RPCResultOK()
+ }
+ return importer.ImportKVFileForRegion(ctx, subfiles, rule, shiftStartTS, startTS, restoreTS, r, supportBatch)
})
-
- log.Debug("download and apply file done",
- zap.String("file", file.Path),
- zap.Stringer("take", time.Since(startTime)),
- logutil.Key("fileStart", file.StartKey),
- logutil.Key("fileEnd", file.EndKey),
- )
return errors.Trace(err)
}
@@ -586,6 +641,7 @@ func (importer *FileImporter) downloadSST(
Name: file.GetName(),
RewriteRule: rule,
CipherInfo: cipher,
+ StorageCacheId: importer.cacheKey,
}
log.Debug("download SST",
logutil.SSTMeta(&sstMeta),
@@ -665,6 +721,7 @@ func (importer *FileImporter) downloadRawKVSST(
RewriteRule: rule,
IsRawKv: true,
CipherInfo: cipher,
+ StorageCacheId: importer.cacheKey,
}
log.Debug("download SST", logutil.SSTMeta(&sstMeta), logutil.Region(regionInfo.Region))
@@ -801,41 +858,57 @@ func (importer *FileImporter) ingestSSTs(
func (importer *FileImporter) downloadAndApplyKVFile(
ctx context.Context,
- file *backuppb.DataFileInfo,
+ files []*backuppb.DataFileInfo,
rules *RewriteRules,
regionInfo *split.RegionInfo,
+ shiftStartTS uint64,
startTS uint64,
restoreTS uint64,
+ supportBatch bool,
) RPCResult {
leader := regionInfo.Leader
if leader == nil {
return RPCResultFromError(errors.Annotatef(berrors.ErrPDLeaderNotFound,
"region id %d has no leader", regionInfo.Region.Id))
}
- // Get the rewrite rule for the file.
- fileRule := findMatchedRewriteRule(file, rules)
- if fileRule == nil {
- return RPCResultFromError(errors.Annotatef(berrors.ErrKVRewriteRuleNotFound,
- "rewrite rule for file %+v not find (in %+v)", file, rules))
- }
- rule := import_sstpb.RewriteRule{
- OldKeyPrefix: encodeKeyPrefix(fileRule.GetOldKeyPrefix()),
- NewKeyPrefix: encodeKeyPrefix(fileRule.GetNewKeyPrefix()),
- }
- meta := &import_sstpb.KVMeta{
- Name: file.Path,
- Cf: file.Cf,
- RangeOffset: file.RangeOffset,
- Length: file.Length,
- RangeLength: file.RangeLength,
- IsDelete: file.Type == backuppb.FileType_Delete,
- StartSnapshotTs: startTS,
- RestoreTs: restoreTS,
- StartKey: regionInfo.Region.GetStartKey(),
- EndKey: regionInfo.Region.GetEndKey(),
- Sha256: file.GetSha256(),
- CompressionType: file.CompressionType,
+ metas := make([]*import_sstpb.KVMeta, 0, len(files))
+ rewriteRules := make([]*import_sstpb.RewriteRule, 0, len(files))
+
+ for _, file := range files {
+ // Get the rewrite rule for the file.
+ fileRule := findMatchedRewriteRule(file, rules)
+ if fileRule == nil {
+ return RPCResultFromError(errors.Annotatef(berrors.ErrKVRewriteRuleNotFound,
+ "rewrite rule for file %+v not find (in %+v)", file, rules))
+ }
+ rule := import_sstpb.RewriteRule{
+ OldKeyPrefix: encodeKeyPrefix(fileRule.GetOldKeyPrefix()),
+ NewKeyPrefix: encodeKeyPrefix(fileRule.GetNewKeyPrefix()),
+ }
+
+ meta := &import_sstpb.KVMeta{
+ Name: file.Path,
+ Cf: file.Cf,
+ RangeOffset: file.RangeOffset,
+ Length: file.Length,
+ RangeLength: file.RangeLength,
+ IsDelete: file.Type == backuppb.FileType_Delete,
+ StartTs: func() uint64 {
+ if file.Cf == stream.DefaultCF {
+ return shiftStartTS
+ }
+ return startTS
+ }(),
+ RestoreTs: restoreTS,
+ StartKey: regionInfo.Region.GetStartKey(),
+ EndKey: regionInfo.Region.GetEndKey(),
+ Sha256: file.GetSha256(),
+ CompressionType: file.CompressionType,
+ }
+
+ metas = append(metas, meta)
+ rewriteRules = append(rewriteRules, &rule)
}
reqCtx := &kvrpcpb.Context{
@@ -844,12 +917,23 @@ func (importer *FileImporter) downloadAndApplyKVFile(
Peer: leader,
}
- req := &import_sstpb.ApplyRequest{
- Meta: meta,
- StorageBackend: importer.backend,
- RewriteRule: rule,
- Context: reqCtx,
+ var req *import_sstpb.ApplyRequest
+ if supportBatch {
+ req = &import_sstpb.ApplyRequest{
+ Metas: metas,
+ StorageBackend: importer.backend,
+ RewriteRules: rewriteRules,
+ Context: reqCtx,
+ }
+ } else {
+ req = &import_sstpb.ApplyRequest{
+ Meta: metas[0],
+ StorageBackend: importer.backend,
+ RewriteRule: *rewriteRules[0],
+ Context: reqCtx,
+ }
}
+
log.Debug("apply kv file", logutil.Leader(leader))
resp, err := importer.importClient.ApplyKVFile(ctx, leader.GetStoreId(), req)
if err != nil {
diff --git a/br/pkg/restore/import_retry.go b/br/pkg/restore/import_retry.go
index 7dcdb01a6c765..6f3b9fc1cca53 100644
--- a/br/pkg/restore/import_retry.go
+++ b/br/pkg/restore/import_retry.go
@@ -224,7 +224,8 @@ func (r *RPCResult) StrategyForRetryStoreError() RetryStrategy {
if r.StoreError.GetServerIsBusy() != nil ||
r.StoreError.GetRegionNotInitialized() != nil ||
- r.StoreError.GetNotLeader() != nil {
+ r.StoreError.GetNotLeader() != nil ||
+ r.StoreError.GetServerIsBusy() != nil {
return StrategyFromThisRegion
}
diff --git a/br/pkg/restore/import_retry_test.go b/br/pkg/restore/import_retry_test.go
index d79e2a317a4c0..6f3d8f490ef13 100644
--- a/br/pkg/restore/import_retry_test.go
+++ b/br/pkg/restore/import_retry_test.go
@@ -12,12 +12,15 @@ import (
"time"
"github.com/pingcap/errors"
+ backuppb "github.com/pingcap/kvproto/pkg/brpb"
"github.com/pingcap/kvproto/pkg/errorpb"
"github.com/pingcap/kvproto/pkg/import_sstpb"
"github.com/pingcap/kvproto/pkg/metapb"
+ berrors "github.com/pingcap/tidb/br/pkg/errors"
"github.com/pingcap/tidb/br/pkg/restore"
"github.com/pingcap/tidb/br/pkg/restore/split"
"github.com/pingcap/tidb/br/pkg/utils"
+ "github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/store/pdtypes"
"github.com/pingcap/tidb/util/codec"
"github.com/stretchr/testify/require"
@@ -127,6 +130,41 @@ func TestNotLeader(t *testing.T) {
assertRegions(t, meetRegions, "", "aay", "bba", "bbh", "cca", "")
}
+func TestServerIsBusy(t *testing.T) {
+ // region: [, aay), [aay, bba), [bba, bbh), [bbh, cca), [cca, )
+ cli := initTestClient(false)
+ rs := utils.InitialRetryState(2, 0, 0)
+ ctl := restore.OverRegionsInRange([]byte(""), []byte(""), cli, &rs)
+ ctx := context.Background()
+
+ serverIsBusy := errorpb.Error{
+ Message: "server is busy",
+ ServerIsBusy: &errorpb.ServerIsBusy{
+ Reason: "memory is out",
+ },
+ }
+ // record the regions we didn't touch.
+ meetRegions := []*split.RegionInfo{}
+ // record all regions we meet with id == 2.
+ idEqualsTo2Regions := []*split.RegionInfo{}
+ theFirstRun := true
+ err := ctl.Run(ctx, func(ctx context.Context, r *split.RegionInfo) restore.RPCResult {
+ if theFirstRun && r.Region.Id == 2 {
+ idEqualsTo2Regions = append(idEqualsTo2Regions, r)
+ theFirstRun = false
+ return restore.RPCResult{
+ StoreError: &serverIsBusy,
+ }
+ }
+ meetRegions = append(meetRegions, r)
+ return restore.RPCResultOK()
+ })
+
+ require.NoError(t, err)
+ assertRegions(t, idEqualsTo2Regions, "aay", "bba")
+ assertRegions(t, meetRegions, "", "aay", "bba", "bbh", "cca", "")
+}
+
func printRegion(name string, infos []*split.RegionInfo) {
fmt.Printf(">>>>> %s <<<<<\n", name)
for _, info := range infos {
@@ -345,3 +383,166 @@ func TestPaginateScanLeader(t *testing.T) {
})
assertRegions(t, collectedRegions, "", "aay", "bba")
}
+
+func TestImportKVFiles(t *testing.T) {
+ var (
+ importer = restore.FileImporter{}
+ ctx = context.Background()
+ shiftStartTS uint64 = 100
+ startTS uint64 = 200
+ restoreTS uint64 = 300
+ )
+
+ err := importer.ImportKVFiles(
+ ctx,
+ []*backuppb.DataFileInfo{
+ {
+ Path: "log3",
+ },
+ {
+ Path: "log1",
+ },
+ },
+ nil,
+ shiftStartTS,
+ startTS,
+ restoreTS,
+ false,
+ )
+ require.True(t, berrors.ErrInvalidArgument.Equal(err))
+}
+
+func TestFilterFilesByRegion(t *testing.T) {
+ files := []*backuppb.DataFileInfo{
+ {
+ Path: "log1",
+ },
+ {
+ Path: "log2",
+ },
+ }
+ ranges := []kv.KeyRange{
+ {
+ StartKey: []byte("1111"),
+ EndKey: []byte("2222"),
+ }, {
+ StartKey: []byte("3333"),
+ EndKey: []byte("4444"),
+ },
+ }
+
+ testCases := []struct {
+ r split.RegionInfo
+ subfiles []*backuppb.DataFileInfo
+ err error
+ }{
+ {
+ r: split.RegionInfo{
+ Region: &metapb.Region{
+ StartKey: []byte("0000"),
+ EndKey: []byte("1110"),
+ },
+ },
+ subfiles: []*backuppb.DataFileInfo{},
+ err: nil,
+ },
+ {
+ r: split.RegionInfo{
+ Region: &metapb.Region{
+ StartKey: []byte("0000"),
+ EndKey: []byte("1111"),
+ },
+ },
+ subfiles: []*backuppb.DataFileInfo{
+ files[0],
+ },
+ err: nil,
+ },
+ {
+ r: split.RegionInfo{
+ Region: &metapb.Region{
+ StartKey: []byte("0000"),
+ EndKey: []byte("2222"),
+ },
+ },
+ subfiles: []*backuppb.DataFileInfo{
+ files[0],
+ },
+ err: nil,
+ },
+ {
+ r: split.RegionInfo{
+ Region: &metapb.Region{
+ StartKey: []byte("2222"),
+ EndKey: []byte("3332"),
+ },
+ },
+ subfiles: []*backuppb.DataFileInfo{
+ files[0],
+ },
+ err: nil,
+ },
+ {
+ r: split.RegionInfo{
+ Region: &metapb.Region{
+ StartKey: []byte("2223"),
+ EndKey: []byte("3332"),
+ },
+ },
+ subfiles: []*backuppb.DataFileInfo{},
+ err: nil,
+ },
+ {
+ r: split.RegionInfo{
+ Region: &metapb.Region{
+ StartKey: []byte("3332"),
+ EndKey: []byte("3333"),
+ },
+ },
+ subfiles: []*backuppb.DataFileInfo{
+ files[1],
+ },
+ err: nil,
+ },
+ {
+ r: split.RegionInfo{
+ Region: &metapb.Region{
+ StartKey: []byte("4444"),
+ EndKey: []byte("5555"),
+ },
+ },
+ subfiles: []*backuppb.DataFileInfo{
+ files[1],
+ },
+ err: nil,
+ },
+ {
+ r: split.RegionInfo{
+ Region: &metapb.Region{
+ StartKey: []byte("4444"),
+ EndKey: nil,
+ },
+ },
+ subfiles: []*backuppb.DataFileInfo{
+ files[1],
+ },
+ err: nil,
+ },
+ {
+ r: split.RegionInfo{
+ Region: &metapb.Region{
+ StartKey: []byte("0000"),
+ EndKey: nil,
+ },
+ },
+ subfiles: files,
+ err: nil,
+ },
+ }
+
+ for _, c := range testCases {
+ subfile, err := restore.FilterFilesByRegion(files, ranges, &c.r)
+ require.Equal(t, err, c.err)
+ require.Equal(t, subfile, c.subfiles)
+ }
+}
diff --git a/br/pkg/restore/log_client.go b/br/pkg/restore/log_client.go
index 7c01897741ba2..cce295090ba02 100644
--- a/br/pkg/restore/log_client.go
+++ b/br/pkg/restore/log_client.go
@@ -101,14 +101,17 @@ func (rc *logFileManager) loadShiftTS(ctx context.Context) error {
if err != nil {
return err
}
- shiftTS.Lock()
- defer shiftTS.Unlock()
+ log.Info("read meta from storage and parse", zap.String("path", path), zap.Uint64("min-ts", m.MinTs),
+ zap.Uint64("max-ts", m.MaxTs), zap.Int32("meta-version", int32(m.MetaVersion)))
ts, ok := UpdateShiftTS(m, rc.startTS, rc.restoreTS)
+ shiftTS.Lock()
if ok && (!shiftTS.exists || shiftTS.value > ts) {
shiftTS.value = ts
shiftTS.exists = true
}
+ shiftTS.Unlock()
+
return nil
})
if err != nil {
diff --git a/br/pkg/restore/prealloc_table_id/BUILD.bazel b/br/pkg/restore/prealloc_table_id/BUILD.bazel
index 8ce80b039178a..cfdb0432fd446 100644
--- a/br/pkg/restore/prealloc_table_id/BUILD.bazel
+++ b/br/pkg/restore/prealloc_table_id/BUILD.bazel
@@ -5,7 +5,10 @@ go_library(
srcs = ["alloc.go"],
importpath = "github.com/pingcap/tidb/br/pkg/restore/prealloc_table_id",
visibility = ["//visibility:public"],
- deps = ["//br/pkg/metautil"],
+ deps = [
+ "//br/pkg/metautil",
+ "//parser/model",
+ ],
)
go_test(
diff --git a/br/pkg/restore/prealloc_table_id/alloc.go b/br/pkg/restore/prealloc_table_id/alloc.go
index 9232ed84a8fc8..8554de5e9891b 100644
--- a/br/pkg/restore/prealloc_table_id/alloc.go
+++ b/br/pkg/restore/prealloc_table_id/alloc.go
@@ -7,6 +7,7 @@ import (
"math"
"github.com/pingcap/tidb/br/pkg/metautil"
+ "github.com/pingcap/tidb/parser/model"
)
const (
@@ -48,6 +49,14 @@ func New(tables []*metautil.Table) *PreallocIDs {
if t.Info.ID > max && t.Info.ID < insaneTableIDThreshold {
max = t.Info.ID
}
+
+ if t.Info.Partition != nil && t.Info.Partition.Definitions != nil {
+ for _, part := range t.Info.Partition.Definitions {
+ if part.ID > max && part.ID < insaneTableIDThreshold {
+ max = part.ID
+ }
+ }
+ }
}
return &PreallocIDs{
end: max + 1,
@@ -86,3 +95,17 @@ func (p *PreallocIDs) Alloc(m Allocator) error {
func (p *PreallocIDs) Prealloced(tid int64) bool {
return p.allocedFrom <= tid && tid < p.end
}
+
+func (p *PreallocIDs) PreallocedFor(ti *model.TableInfo) bool {
+ if !p.Prealloced(ti.ID) {
+ return false
+ }
+ if ti.Partition != nil && ti.Partition.Definitions != nil {
+ for _, part := range ti.Partition.Definitions {
+ if !p.Prealloced(part.ID) {
+ return false
+ }
+ }
+ }
+ return true
+}
diff --git a/br/pkg/restore/prealloc_table_id/alloc_test.go b/br/pkg/restore/prealloc_table_id/alloc_test.go
index 8cf6b95fb070e..c1c3f018a2de8 100644
--- a/br/pkg/restore/prealloc_table_id/alloc_test.go
+++ b/br/pkg/restore/prealloc_table_id/alloc_test.go
@@ -27,6 +27,7 @@ func (t *testAllocator) AdvanceGlobalIDs(n int) (int64, error) {
func TestAllocator(t *testing.T) {
type Case struct {
tableIDs []int64
+ partitions map[int64][]int64
hasAllocatedTo int64
successfullyAllocated []int64
shouldAllocatedTo int64
@@ -57,16 +58,41 @@ func TestAllocator(t *testing.T) {
successfullyAllocated: []int64{5, 6},
shouldAllocatedTo: 7,
},
+ {
+ tableIDs: []int64{1, 2, 5, 6, 7},
+ hasAllocatedTo: 6,
+ successfullyAllocated: []int64{6, 7},
+ shouldAllocatedTo: 13,
+ partitions: map[int64][]int64{
+ 7: {8, 9, 10, 11, 12},
+ },
+ },
+ {
+ tableIDs: []int64{1, 2, 5, 6, 7, 13},
+ hasAllocatedTo: 9,
+ successfullyAllocated: []int64{13},
+ shouldAllocatedTo: 14,
+ partitions: map[int64][]int64{
+ 7: {8, 9, 10, 11, 12},
+ },
+ },
}
run := func(t *testing.T, c Case) {
tables := make([]*metautil.Table, 0, len(c.tableIDs))
for _, id := range c.tableIDs {
- tables = append(tables, &metautil.Table{
+ table := metautil.Table{
Info: &model.TableInfo{
- ID: id,
+ ID: id,
+ Partition: &model.PartitionInfo{},
},
- })
+ }
+ if c.partitions != nil {
+ for _, part := range c.partitions[id] {
+ table.Info.Partition.Definitions = append(table.Info.Partition.Definitions, model.PartitionDefinition{ID: part})
+ }
+ }
+ tables = append(tables, &table)
}
ids := prealloctableid.New(tables)
@@ -74,9 +100,9 @@ func TestAllocator(t *testing.T) {
require.NoError(t, ids.Alloc(&allocator))
allocated := make([]int64, 0, len(c.successfullyAllocated))
- for _, t := range c.tableIDs {
- if ids.Prealloced(t) {
- allocated = append(allocated, t)
+ for _, t := range tables {
+ if ids.PreallocedFor(t.Info) {
+ allocated = append(allocated, t.Info.ID)
}
}
require.ElementsMatch(t, allocated, c.successfullyAllocated)
diff --git a/br/pkg/restore/split/split.go b/br/pkg/restore/split/split.go
index 6af36a400a03f..bd00c445e1184 100644
--- a/br/pkg/restore/split/split.go
+++ b/br/pkg/restore/split/split.go
@@ -18,7 +18,7 @@ import (
)
var (
- ScanRegionAttemptTimes = 60
+ ScanRegionAttemptTimes = 128
)
// Constants for split retry machinery.
diff --git a/br/pkg/restore/stream_metas_test.go b/br/pkg/restore/stream_metas_test.go
index 5b75e9de6b3d8..407f5a0154ca3 100644
--- a/br/pkg/restore/stream_metas_test.go
+++ b/br/pkg/restore/stream_metas_test.go
@@ -317,7 +317,7 @@ func TestTruncateSafepointForGCS(t *testing.T) {
CredentialsBlob: "Fake Credentials",
}
- l, err := storage.NewGCSStorageForTest(ctx, gcs, &storage.ExternalStorageOptions{
+ l, err := storage.NewGCSStorage(ctx, gcs, &storage.ExternalStorageOptions{
SendCredentials: false,
CheckPermissions: []storage.Permission{storage.AccessBuckets},
HTTPClient: server.HTTPClient(),
diff --git a/br/pkg/restore/systable_restore.go b/br/pkg/restore/systable_restore.go
index 40e3450c772f2..ac21b0dba7e42 100644
--- a/br/pkg/restore/systable_restore.go
+++ b/br/pkg/restore/systable_restore.go
@@ -19,6 +19,12 @@ import (
"go.uber.org/zap"
)
+const (
+ rootUser = "root"
+ sysUserTableName = "user"
+ cloudAdminUser = "cloud_admin"
+)
+
var statsTables = map[string]struct{}{
"stats_buckets": {},
"stats_extended": {},
@@ -49,14 +55,14 @@ var unRecoverableTable = map[string]struct{}{
// skip clearing or restoring 'cloud_admin'@'%' which is a special
// user on TiDB Cloud
var sysPrivilegeTableMap = map[string]string{
- "user": "not (user = 'cloud_admin' and host = '%')", // since v1.0.0
- "db": "not (user = 'cloud_admin' and host = '%')", // since v1.0.0
- "tables_priv": "not (user = 'cloud_admin' and host = '%')", // since v1.0.0
- "columns_priv": "not (user = 'cloud_admin' and host = '%')", // since v1.0.0
- "default_roles": "not (user = 'cloud_admin' and host = '%')", // since v3.0.0
- "role_edges": "not (to_user = 'cloud_admin' and to_host = '%')", // since v3.0.0
- "global_priv": "not (user = 'cloud_admin' and host = '%')", // since v3.0.8
- "global_grants": "not (user = 'cloud_admin' and host = '%')", // since v5.0.3
+ "user": "(user = '%s' and host = '%%')", // since v1.0.0
+ "db": "(user = '%s' and host = '%%')", // since v1.0.0
+ "tables_priv": "(user = '%s' and host = '%%')", // since v1.0.0
+ "columns_priv": "(user = '%s' and host = '%%')", // since v1.0.0
+ "default_roles": "(user = '%s' and host = '%%')", // since v3.0.0
+ "role_edges": "(to_user = '%s' and to_host = '%%')", // since v3.0.0
+ "global_priv": "(user = '%s' and host = '%%')", // since v3.0.8
+ "global_grants": "(user = '%s' and host = '%%')", // since v5.0.3
}
func isUnrecoverableTable(tableName string) bool {
@@ -69,6 +75,78 @@ func isStatsTable(tableName string) bool {
return ok
}
+func generateResetSQLs(db *database, resetUsers []string) []string {
+ if db.Name.L != mysql.SystemDB {
+ return nil
+ }
+ sqls := make([]string, 0, 10)
+ // we only need reset root password once
+ rootReset := false
+ for tableName := range db.ExistingTables {
+ if sysPrivilegeTableMap[tableName] != "" {
+ for _, name := range resetUsers {
+ if strings.ToLower(name) == rootUser {
+ if !rootReset {
+ updateSQL := fmt.Sprintf("UPDATE %s.%s SET authentication_string='',"+
+ " Shutdown_priv='Y',"+
+ " Config_priv='Y'"+
+ " WHERE USER='root' AND Host='%%';",
+ db.Name.L, sysUserTableName)
+ sqls = append(sqls, updateSQL)
+ rootReset = true
+ } else {
+ continue
+ }
+ } else {
+ /* #nosec G202: SQL string concatenation */
+ whereClause := fmt.Sprintf("WHERE "+sysPrivilegeTableMap[tableName], name)
+ deleteSQL := fmt.Sprintf("DELETE FROM %s %s;",
+ utils.EncloseDBAndTable(db.Name.L, tableName), whereClause)
+ sqls = append(sqls, deleteSQL)
+ }
+ }
+ }
+ }
+ return sqls
+}
+
+// ClearSystemUsers is used for volume-snapshot restoration.
+// because we can not support restore user in some scenarios, for example in cloud.
+// we'd better use this function to drop cloud_admin user after volume-snapshot restore.
+func (rc *Client) ClearSystemUsers(ctx context.Context, resetUsers []string) error {
+ sysDB := mysql.SystemDB
+ db, ok := rc.getDatabaseByName(sysDB)
+ if !ok {
+ log.Warn("target database not exist, aborting", zap.String("database", sysDB))
+ return nil
+ }
+ execSQL := func(sql string) error {
+ // SQLs here only contain table name and database name, seems it is no need to redact them.
+ if err := rc.db.se.Execute(ctx, sql); err != nil {
+ log.Warn("failed to clear system users",
+ zap.Stringer("database", db.Name),
+ zap.String("sql", sql),
+ zap.Error(err),
+ )
+ return berrors.ErrUnknown.Wrap(err).GenWithStack("failed to execute %s", sql)
+ }
+ log.Info("successfully clear system users after restoration",
+ zap.Stringer("database", db.Name),
+ zap.String("sql", sql),
+ )
+ return nil
+ }
+
+ sqls := generateResetSQLs(db, resetUsers)
+ for _, sql := range sqls {
+ log.Info("reset system user for cloud", zap.String("sql", sql))
+ if err := execSQL(sql); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
// RestoreSystemSchemas restores the system schema(i.e. the `mysql` schema).
// Detail see https://github.com/pingcap/br/issues/679#issuecomment-762592254.
func (rc *Client) RestoreSystemSchemas(ctx context.Context, f filter.Filter) {
@@ -201,14 +279,15 @@ func (rc *Client) replaceTemporaryTableToSystable(ctx context.Context, ti *model
}
if db.ExistingTables[tableName] != nil {
- whereClause := ""
+ whereNotClause := ""
if rc.fullClusterRestore && sysPrivilegeTableMap[tableName] != "" {
// cloud_admin is a special user on tidb cloud, need to skip it.
- whereClause = fmt.Sprintf("WHERE %s", sysPrivilegeTableMap[tableName])
+ /* #nosec G202: SQL string concatenation */
+ whereNotClause = fmt.Sprintf("WHERE NOT "+sysPrivilegeTableMap[tableName], cloudAdminUser)
log.Info("full cluster restore, delete existing data",
zap.String("table", tableName), zap.Stringer("schema", db.Name))
deleteSQL := fmt.Sprintf("DELETE FROM %s %s;",
- utils.EncloseDBAndTable(db.Name.L, tableName), whereClause)
+ utils.EncloseDBAndTable(db.Name.L, tableName), whereNotClause)
if err := execSQL(deleteSQL); err != nil {
return err
}
@@ -226,7 +305,7 @@ func (rc *Client) replaceTemporaryTableToSystable(ctx context.Context, ti *model
utils.EncloseDBAndTable(db.Name.L, tableName),
colListStr, colListStr,
utils.EncloseDBAndTable(db.TemporaryName.L, tableName),
- whereClause)
+ whereNotClause)
return execSQL(replaceIntoSQL)
}
diff --git a/br/pkg/restore/systable_restore_test.go b/br/pkg/restore/systable_restore_test.go
new file mode 100644
index 0000000000000..2371f066a43a1
--- /dev/null
+++ b/br/pkg/restore/systable_restore_test.go
@@ -0,0 +1,72 @@
+// Copyright 2020 PingCAP, Inc. Licensed under Apache-2.0.
+
+package restore
+
+import (
+ "regexp"
+ "testing"
+
+ "github.com/pingcap/tidb/br/pkg/utils"
+ "github.com/pingcap/tidb/parser/model"
+ "github.com/stretchr/testify/require"
+)
+
+func testTableInfo(name string) *model.TableInfo {
+ return &model.TableInfo{
+ Name: model.NewCIStr(name),
+ }
+}
+
+func TestGenerateResetSQL(t *testing.T) {
+ // case #1: ignore non-mysql databases
+ mockDB := &database{
+ ExistingTables: map[string]*model.TableInfo{},
+ Name: model.NewCIStr("non-mysql"),
+ TemporaryName: utils.TemporaryDBName("non-mysql"),
+ }
+ for name := range sysPrivilegeTableMap {
+ mockDB.ExistingTables[name] = testTableInfo(name)
+ }
+ resetUsers := []string{"cloud_admin", "root"}
+ require.Equal(t, 0, len(generateResetSQLs(mockDB, resetUsers)))
+
+ // case #2: ignore non expected table
+ mockDB = &database{
+ ExistingTables: map[string]*model.TableInfo{},
+ Name: model.NewCIStr("mysql"),
+ TemporaryName: utils.TemporaryDBName("mysql"),
+ }
+ for name := range sysPrivilegeTableMap {
+ name += "non_available"
+ mockDB.ExistingTables[name] = testTableInfo(name)
+ }
+ resetUsers = []string{"cloud_admin", "root"}
+ require.Equal(t, 0, len(generateResetSQLs(mockDB, resetUsers)))
+
+ // case #3: only reset cloud admin account
+ for name := range sysPrivilegeTableMap {
+ mockDB.ExistingTables[name] = testTableInfo(name)
+ }
+ resetUsers = []string{"cloud_admin"}
+ sqls := generateResetSQLs(mockDB, resetUsers)
+ require.Equal(t, 8, len(sqls))
+ for _, sql := range sqls {
+ // for cloud_admin we only generate DELETE sql
+ require.Regexp(t, regexp.MustCompile("DELETE*"), sql)
+ }
+
+ // case #4: reset cloud admin/other account
+ resetUsers = []string{"cloud_admin", "cloud_other"}
+ sqls = generateResetSQLs(mockDB, resetUsers)
+ require.Equal(t, 16, len(sqls))
+ for _, sql := range sqls {
+ // for cloud_admin/cloud_other we only generate DELETE sql
+ require.Regexp(t, regexp.MustCompile("DELETE*"), sql)
+ }
+
+ // case #5: reset cloud admin && root account
+ resetUsers = []string{"cloud_admin", "root"}
+ sqls = generateResetSQLs(mockDB, resetUsers)
+ // 8 DELETE sqls for cloud admin and 1 UPDATE sql for root
+ require.Equal(t, 9, len(sqls))
+}
diff --git a/br/pkg/restore/tiflashrec/tiflash_recorder.go b/br/pkg/restore/tiflashrec/tiflash_recorder.go
index 31dde982a7b69..84707f05e1f1b 100644
--- a/br/pkg/restore/tiflashrec/tiflash_recorder.go
+++ b/br/pkg/restore/tiflashrec/tiflash_recorder.go
@@ -79,6 +79,46 @@ func (r *TiFlashRecorder) Rewrite(oldID int64, newID int64) {
}
}
+func (r *TiFlashRecorder) GenerateResetAlterTableDDLs(info infoschema.InfoSchema) []string {
+ items := make([]string, 0, len(r.items))
+ r.Iterate(func(id int64, replica model.TiFlashReplicaInfo) {
+ table, ok := info.TableByID(id)
+ if !ok {
+ log.Warn("Table do not exist, skipping", zap.Int64("id", id))
+ return
+ }
+ schema, ok := info.SchemaByTable(table.Meta())
+ if !ok {
+ log.Warn("Schema do not exist, skipping", zap.Int64("id", id), zap.Stringer("table", table.Meta().Name))
+ return
+ }
+ // Currently, we didn't backup tiflash cluster volume during volume snapshot backup,
+ // But the table has replica info after volume restoration.
+ // We should reset it to 0, then set it back. otherwise, it will return error when alter tiflash replica.
+ altTableSpec, err := alterTableSpecOf(replica, true)
+ if err != nil {
+ log.Warn("Failed to generate the alter table spec", logutil.ShortError(err), zap.Any("replica", replica))
+ return
+ }
+ items = append(items, fmt.Sprintf(
+ "ALTER TABLE %s %s",
+ utils.EncloseDBAndTable(schema.Name.O, table.Meta().Name.O),
+ altTableSpec),
+ )
+ altTableSpec, err = alterTableSpecOf(replica, false)
+ if err != nil {
+ log.Warn("Failed to generate the alter table spec", logutil.ShortError(err), zap.Any("replica", replica))
+ return
+ }
+ items = append(items, fmt.Sprintf(
+ "ALTER TABLE %s %s",
+ utils.EncloseDBAndTable(schema.Name.O, table.Meta().Name.O),
+ altTableSpec),
+ )
+ })
+ return items
+}
+
func (r *TiFlashRecorder) GenerateAlterTableDDLs(info infoschema.InfoSchema) []string {
items := make([]string, 0, len(r.items))
r.Iterate(func(id int64, replica model.TiFlashReplicaInfo) {
@@ -92,7 +132,7 @@ func (r *TiFlashRecorder) GenerateAlterTableDDLs(info infoschema.InfoSchema) []s
log.Warn("Schema do not exist, skipping", zap.Int64("id", id), zap.Stringer("table", table.Meta().Name))
return
}
- altTableSpec, err := alterTableSpecOf(replica)
+ altTableSpec, err := alterTableSpecOf(replica, false)
if err != nil {
log.Warn("Failed to generate the alter table spec", logutil.ShortError(err), zap.Any("replica", replica))
return
@@ -106,7 +146,7 @@ func (r *TiFlashRecorder) GenerateAlterTableDDLs(info infoschema.InfoSchema) []s
return items
}
-func alterTableSpecOf(replica model.TiFlashReplicaInfo) (string, error) {
+func alterTableSpecOf(replica model.TiFlashReplicaInfo, reset bool) (string, error) {
spec := &ast.AlterTableSpec{
Tp: ast.AlterTableSetTiFlashReplica,
TiFlashReplica: &ast.TiFlashReplicaSpec{
@@ -114,6 +154,14 @@ func alterTableSpecOf(replica model.TiFlashReplicaInfo) (string, error) {
Labels: replica.LocationLabels,
},
}
+ if reset {
+ spec = &ast.AlterTableSpec{
+ Tp: ast.AlterTableSetTiFlashReplica,
+ TiFlashReplica: &ast.TiFlashReplicaSpec{
+ Count: 0,
+ },
+ }
+ }
buf := bytes.NewBuffer(make([]byte, 0, 32))
restoreCx := format.NewRestoreCtx(
diff --git a/br/pkg/restore/tiflashrec/tiflash_recorder_test.go b/br/pkg/restore/tiflashrec/tiflash_recorder_test.go
index b01272caeddc5..f7316a1ed3133 100644
--- a/br/pkg/restore/tiflashrec/tiflash_recorder_test.go
+++ b/br/pkg/restore/tiflashrec/tiflash_recorder_test.go
@@ -170,3 +170,32 @@ func TestGenSql(t *testing.T) {
"ALTER TABLE `test`.`evils` SET TIFLASH REPLICA 1 LOCATION LABELS 'kIll''; OR DROP DATABASE test --', 'dEaTh with " + `\\"quoting\\"` + "'",
})
}
+
+func TestGenResetSql(t *testing.T) {
+ tInfo := func(id int, name string) *model.TableInfo {
+ return &model.TableInfo{
+ ID: int64(id),
+ Name: model.NewCIStr(name),
+ }
+ }
+ fakeInfo := infoschema.MockInfoSchema([]*model.TableInfo{
+ tInfo(1, "fruits"),
+ tInfo(2, "whisper"),
+ })
+ rec := tiflashrec.New()
+ rec.AddTable(1, model.TiFlashReplicaInfo{
+ Count: 1,
+ })
+ rec.AddTable(2, model.TiFlashReplicaInfo{
+ Count: 2,
+ LocationLabels: []string{"climate"},
+ })
+
+ sqls := rec.GenerateResetAlterTableDDLs(fakeInfo)
+ require.ElementsMatch(t, sqls, []string{
+ "ALTER TABLE `test`.`whisper` SET TIFLASH REPLICA 0",
+ "ALTER TABLE `test`.`whisper` SET TIFLASH REPLICA 2 LOCATION LABELS 'climate'",
+ "ALTER TABLE `test`.`fruits` SET TIFLASH REPLICA 0",
+ "ALTER TABLE `test`.`fruits` SET TIFLASH REPLICA 1",
+ })
+}
diff --git a/br/pkg/restore/util.go b/br/pkg/restore/util.go
index 259d3fa28d888..73a4411c445c1 100644
--- a/br/pkg/restore/util.go
+++ b/br/pkg/restore/util.go
@@ -750,3 +750,43 @@ func CheckConsistencyAndValidPeer(regionInfos []*RecoverRegionInfo) (map[uint64]
}
return validPeers, nil
}
+
+// in cloud, since iops and bandwidth limitation, write operator in raft is slow, so raft state (logterm, lastlog, commitlog...) are the same among the peers
+// LeaderCandidates select all peers can be select as a leader during the restore
+func LeaderCandidates(peers []*RecoverRegion) ([]*RecoverRegion, error) {
+ if peers == nil {
+ return nil, errors.Annotatef(berrors.ErrRestoreRegionWithoutPeer,
+ "invalid region range")
+ }
+ candidates := make([]*RecoverRegion, 0, len(peers))
+ // by default, the peers[0] to be assign as a leader, since peers already sorted by leader selection rule
+ leader := peers[0]
+ candidates = append(candidates, leader)
+ for _, peer := range peers[1:] {
+ // qualificated candidate is leader.logterm = candidate.logterm && leader.lastindex = candidate.lastindex && && leader.commitindex = candidate.commitindex
+ if peer.LastLogTerm == leader.LastLogTerm && peer.LastIndex == leader.LastIndex && peer.CommitIndex == leader.CommitIndex {
+ log.Debug("leader candidate", zap.Uint64("store id", peer.StoreId), zap.Uint64("region id", peer.RegionId), zap.Uint64("peer id", peer.PeerId))
+ candidates = append(candidates, peer)
+ }
+ }
+ return candidates, nil
+}
+
+// for region A, has candidate leader x, y, z
+// peer x on store 1 with storeBalanceScore 3
+// peer y on store 3 with storeBalanceScore 2
+// peer z on store 4 with storeBalanceScore 1
+// result: peer z will be select as leader on store 4
+func SelectRegionLeader(storeBalanceScore map[uint64]int, peers []*RecoverRegion) *RecoverRegion {
+ // by default, the peers[0] to be assign as a leader
+ leader := peers[0]
+ minLeaderStore := storeBalanceScore[leader.StoreId]
+ for _, peer := range peers[1:] {
+ log.Debug("leader candidate", zap.Int("score", storeBalanceScore[peer.StoreId]), zap.Int("min-score", minLeaderStore), zap.Uint64("store id", peer.StoreId), zap.Uint64("region id", peer.RegionId), zap.Uint64("peer id", peer.PeerId))
+ if storeBalanceScore[peer.StoreId] < minLeaderStore {
+ minLeaderStore = storeBalanceScore[peer.StoreId]
+ leader = peer
+ }
+ }
+ return leader
+}
diff --git a/br/pkg/restore/util_test.go b/br/pkg/restore/util_test.go
index 44620e9cb4e5c..482818a1ad958 100644
--- a/br/pkg/restore/util_test.go
+++ b/br/pkg/restore/util_test.go
@@ -460,3 +460,52 @@ func TestCheckConsistencyAndValidPeer(t *testing.T) {
require.Error(t, err)
require.Regexp(t, ".*invalid restore range.*", err.Error())
}
+
+func TestLeaderCandidates(t *testing.T) {
+ //key space is continuous
+ validPeer1 := newPeerMeta(9, 11, 2, []byte(""), []byte("bb"), 2, 1, 0, 0, false)
+ validPeer2 := newPeerMeta(19, 22, 3, []byte("bb"), []byte("cc"), 2, 1, 0, 1, false)
+ validPeer3 := newPeerMeta(29, 30, 1, []byte("cc"), []byte(""), 2, 1, 0, 2, false)
+
+ peers := []*restore.RecoverRegion{
+ validPeer1,
+ validPeer2,
+ validPeer3,
+ }
+
+ candidates, err := restore.LeaderCandidates(peers)
+ require.NoError(t, err)
+ require.Equal(t, 3, len(candidates))
+}
+
+func TestSelectRegionLeader(t *testing.T) {
+ validPeer1 := newPeerMeta(9, 11, 2, []byte(""), []byte("bb"), 2, 1, 0, 0, false)
+ validPeer2 := newPeerMeta(19, 22, 3, []byte("bb"), []byte("cc"), 2, 1, 0, 1, false)
+ validPeer3 := newPeerMeta(29, 30, 1, []byte("cc"), []byte(""), 2, 1, 0, 2, false)
+
+ peers := []*restore.RecoverRegion{
+ validPeer1,
+ validPeer2,
+ validPeer3,
+ }
+ // init store banlance score all is 0
+ storeBalanceScore := make(map[uint64]int, len(peers))
+ leader := restore.SelectRegionLeader(storeBalanceScore, peers)
+ require.Equal(t, validPeer1, leader)
+
+ // change store banlance store
+ storeBalanceScore[2] = 3
+ storeBalanceScore[3] = 2
+ storeBalanceScore[1] = 1
+ leader = restore.SelectRegionLeader(storeBalanceScore, peers)
+ require.Equal(t, validPeer3, leader)
+
+ // one peer
+ peer := []*restore.RecoverRegion{
+ validPeer3,
+ }
+ // init store banlance score all is 0
+ storeScore := make(map[uint64]int, len(peer))
+ leader = restore.SelectRegionLeader(storeScore, peer)
+ require.Equal(t, validPeer3, leader)
+}
diff --git a/br/pkg/rtree/rtree.go b/br/pkg/rtree/rtree.go
index 9f12b22daca75..f17ebf38df510 100644
--- a/br/pkg/rtree/rtree.go
+++ b/br/pkg/rtree/rtree.go
@@ -217,3 +217,10 @@ func (rangeTree *RangeTree) GetIncompleteRange(
}
return incomplete
}
+
+type ProgressRange struct {
+ Res RangeTree
+ Incomplete []Range
+ Origin Range
+ GroupKey string
+}
diff --git a/br/pkg/storage/BUILD.bazel b/br/pkg/storage/BUILD.bazel
index c67a17713b2ca..8c98a13e59500 100644
--- a/br/pkg/storage/BUILD.bazel
+++ b/br/pkg/storage/BUILD.bazel
@@ -35,6 +35,7 @@ go_library(
"@com_github_aws_aws_sdk_go//service/s3",
"@com_github_aws_aws_sdk_go//service/s3/s3iface",
"@com_github_aws_aws_sdk_go//service/s3/s3manager",
+ "@com_github_azure_azure_sdk_for_go_sdk_azcore//policy",
"@com_github_azure_azure_sdk_for_go_sdk_azidentity//:azidentity",
"@com_github_azure_azure_sdk_for_go_sdk_storage_azblob//:azblob",
"@com_github_golang_snappy//:snappy",
diff --git a/br/pkg/storage/azblob.go b/br/pkg/storage/azblob.go
index c557a79e3ac8f..41d8fa88f559f 100644
--- a/br/pkg/storage/azblob.go
+++ b/br/pkg/storage/azblob.go
@@ -12,6 +12,7 @@ import (
"path"
"strings"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
"github.com/google/uuid"
@@ -30,6 +31,16 @@ const (
azblobAccountKey = "azblob.account-key"
)
+const azblobRetryTimes int32 = 5
+
+func getDefaultClientOptions() *azblob.ClientOptions {
+ return &azblob.ClientOptions{
+ Retry: policy.RetryOptions{
+ MaxRetries: azblobRetryTimes,
+ },
+ }
+}
+
// AzblobBackendOptions is the options for Azure Blob storage.
type AzblobBackendOptions struct {
Endpoint string `json:"endpoint" toml:"endpoint"`
@@ -99,7 +110,7 @@ type sharedKeyClientBuilder struct {
}
func (b *sharedKeyClientBuilder) GetServiceClient() (azblob.ServiceClient, error) {
- return azblob.NewServiceClientWithSharedKey(b.serviceURL, b.cred, nil)
+ return azblob.NewServiceClientWithSharedKey(b.serviceURL, b.cred, getDefaultClientOptions())
}
func (b *sharedKeyClientBuilder) GetAccountName() string {
@@ -114,7 +125,7 @@ type tokenClientBuilder struct {
}
func (b *tokenClientBuilder) GetServiceClient() (azblob.ServiceClient, error) {
- return azblob.NewServiceClient(b.serviceURL, b.cred, nil)
+ return azblob.NewServiceClient(b.serviceURL, b.cred, getDefaultClientOptions())
}
func (b *tokenClientBuilder) GetAccountName() string {
@@ -285,7 +296,9 @@ func (s *AzureBlobStorage) ReadFile(ctx context.Context, name string) ([]byte, e
return nil, errors.Annotatef(err, "Failed to download azure blob file, file info: bucket(container)='%s', key='%s'", s.options.Bucket, s.withPrefix(name))
}
defer resp.RawResponse.Body.Close()
- data, err := io.ReadAll(resp.Body(azblob.RetryReaderOptions{}))
+ data, err := io.ReadAll(resp.Body(azblob.RetryReaderOptions{
+ MaxRetryRequests: int(azblobRetryTimes),
+ }))
if err != nil {
return nil, errors.Annotatef(err, "Failed to read azure blob file, file info: bucket(container)='%s', key='%s'", s.options.Bucket, s.withPrefix(name))
}
diff --git a/br/pkg/storage/azblob_test.go b/br/pkg/storage/azblob_test.go
index c099037ea51b2..74ddfa7125699 100644
--- a/br/pkg/storage/azblob_test.go
+++ b/br/pkg/storage/azblob_test.go
@@ -4,9 +4,13 @@ package storage
import (
"context"
+ "fmt"
"io"
+ "net/http"
+ "net/http/httptest"
"os"
"strings"
+ "sync"
"testing"
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
@@ -298,3 +302,52 @@ func TestNewAzblobStorage(t *testing.T) {
require.Equal(t, "http://127.0.0.1:1000", b.serviceURL)
}
}
+
+type fakeClientBuilder struct {
+ Endpoint string
+}
+
+func (b *fakeClientBuilder) GetServiceClient() (azblob.ServiceClient, error) {
+ connStr := fmt.Sprintf("DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=%s/devstoreaccount1;", b.Endpoint)
+ return azblob.NewServiceClientFromConnectionString(connStr, getDefaultClientOptions())
+}
+
+func (b *fakeClientBuilder) GetAccountName() string {
+ return "devstoreaccount1"
+}
+
+func TestDownloadRetry(t *testing.T) {
+ var count int32 = 0
+ var lock sync.Mutex
+ server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+ t.Log(r.URL)
+ if strings.Contains(r.URL.String(), "restype=container") {
+ w.WriteHeader(201)
+ return
+ }
+ lock.Lock()
+ count += 1
+ lock.Unlock()
+ header := w.Header()
+ header.Add("Etag", "0x1")
+ header.Add("Content-Length", "5")
+ w.WriteHeader(200)
+ w.Write([]byte("1234567"))
+ }))
+
+ defer server.Close()
+ t.Log(server.URL)
+
+ options := &backuppb.AzureBlobStorage{
+ Bucket: "test",
+ Prefix: "a/b/",
+ }
+
+ ctx := context.Background()
+ builder := &fakeClientBuilder{Endpoint: server.URL}
+ s, err := newAzureBlobStorageWithClientBuilder(ctx, options, builder)
+ require.NoError(t, err)
+ _, err = s.ReadFile(ctx, "c")
+ require.Error(t, err)
+ require.Less(t, azblobRetryTimes, count)
+}
diff --git a/br/pkg/storage/compress.go b/br/pkg/storage/compress.go
index 1d5300cfa8d55..36c07846f3271 100644
--- a/br/pkg/storage/compress.go
+++ b/br/pkg/storage/compress.go
@@ -80,8 +80,10 @@ func (w *withCompression) ReadFile(ctx context.Context, name string) ([]byte, er
return io.ReadAll(compressBf)
}
+// compressReader is a wrapper for compress.Reader
type compressReader struct {
io.Reader
+ io.Seeker
io.Closer
}
@@ -97,11 +99,30 @@ func newInterceptReader(fileReader ExternalFileReader, compressType CompressType
return &compressReader{
Reader: r,
Closer: fileReader,
+ Seeker: fileReader,
}, nil
}
-func (*compressReader) Seek(_ int64, _ int) (int64, error) {
- return int64(0), errors.Annotatef(berrors.ErrStorageInvalidConfig, "compressReader doesn't support Seek now")
+func NewLimitedInterceptReader(fileReader ExternalFileReader, compressType CompressType, n int64) (ExternalFileReader, error) {
+ newFileReader := fileReader
+ if n < 0 {
+ return nil, errors.Annotatef(berrors.ErrStorageInvalidConfig, "compressReader doesn't support negative limit, n: %d", n)
+ } else if n > 0 {
+ newFileReader = &compressReader{
+ Reader: io.LimitReader(fileReader, n),
+ Seeker: fileReader,
+ Closer: fileReader,
+ }
+ }
+ return newInterceptReader(newFileReader, compressType)
+}
+
+func (c *compressReader) Seek(offset int64, whence int) (int64, error) {
+ // only support get original reader's current offset
+ if offset == 0 && whence == io.SeekCurrent {
+ return c.Seeker.Seek(offset, whence)
+ }
+ return int64(0), errors.Annotatef(berrors.ErrStorageInvalidConfig, "compressReader doesn't support Seek now, offset %d, whence %d", offset, whence)
}
func (c *compressReader) Close() error {
diff --git a/br/pkg/storage/gcs.go b/br/pkg/storage/gcs.go
index 063100a52ad59..ac5098ed16973 100644
--- a/br/pkg/storage/gcs.go
+++ b/br/pkg/storage/gcs.go
@@ -90,24 +90,36 @@ func (options *GCSBackendOptions) parseFromFlags(flags *pflag.FlagSet) error {
return nil
}
-type gcsStorage struct {
+// GCSStorage defines some standard operations for BR/Lightning on the GCS storage.
+// It implements the `ExternalStorage` interface.
+type GCSStorage struct {
gcs *backuppb.GCS
bucket *storage.BucketHandle
}
+// GetBucketHandle gets the handle to the GCS API on the bucket.
+func (s *GCSStorage) GetBucketHandle() *storage.BucketHandle {
+ return s.bucket
+}
+
+// GetOptions gets the external storage operations for the GCS.
+func (s *GCSStorage) GetOptions() *backuppb.GCS {
+ return s.gcs
+}
+
// DeleteFile delete the file in storage
-func (s *gcsStorage) DeleteFile(ctx context.Context, name string) error {
+func (s *GCSStorage) DeleteFile(ctx context.Context, name string) error {
object := s.objectName(name)
err := s.bucket.Object(object).Delete(ctx)
return errors.Trace(err)
}
-func (s *gcsStorage) objectName(name string) string {
+func (s *GCSStorage) objectName(name string) string {
return path.Join(s.gcs.Prefix, name)
}
// WriteFile writes data to a file to storage.
-func (s *gcsStorage) WriteFile(ctx context.Context, name string, data []byte) error {
+func (s *GCSStorage) WriteFile(ctx context.Context, name string, data []byte) error {
object := s.objectName(name)
wc := s.bucket.Object(object).NewWriter(ctx)
wc.StorageClass = s.gcs.StorageClass
@@ -120,7 +132,7 @@ func (s *gcsStorage) WriteFile(ctx context.Context, name string, data []byte) er
}
// ReadFile reads the file from the storage and returns the contents.
-func (s *gcsStorage) ReadFile(ctx context.Context, name string) ([]byte, error) {
+func (s *GCSStorage) ReadFile(ctx context.Context, name string) ([]byte, error) {
object := s.objectName(name)
rc, err := s.bucket.Object(object).NewReader(ctx)
if err != nil {
@@ -143,7 +155,7 @@ func (s *gcsStorage) ReadFile(ctx context.Context, name string) ([]byte, error)
}
// FileExists return true if file exists.
-func (s *gcsStorage) FileExists(ctx context.Context, name string) (bool, error) {
+func (s *GCSStorage) FileExists(ctx context.Context, name string) (bool, error) {
object := s.objectName(name)
_, err := s.bucket.Object(object).Attrs(ctx)
if err != nil {
@@ -156,7 +168,7 @@ func (s *gcsStorage) FileExists(ctx context.Context, name string) (bool, error)
}
// Open a Reader by file path.
-func (s *gcsStorage) Open(ctx context.Context, path string) (ExternalFileReader, error) {
+func (s *GCSStorage) Open(ctx context.Context, path string) (ExternalFileReader, error) {
object := s.objectName(path)
handle := s.bucket.Object(object)
@@ -182,7 +194,7 @@ func (s *gcsStorage) Open(ctx context.Context, path string) (ExternalFileReader,
// The first argument is the file path that can be used in `Open`
// function; the second argument is the size in byte of the file determined
// by path.
-func (s *gcsStorage) WalkDir(ctx context.Context, opt *WalkOption, fn func(string, int64) error) error {
+func (s *GCSStorage) WalkDir(ctx context.Context, opt *WalkOption, fn func(string, int64) error) error {
if opt == nil {
opt = &WalkOption{}
}
@@ -221,12 +233,12 @@ func (s *gcsStorage) WalkDir(ctx context.Context, opt *WalkOption, fn func(strin
return nil
}
-func (s *gcsStorage) URI() string {
+func (s *GCSStorage) URI() string {
return "gcs://" + s.gcs.Bucket + "/" + s.gcs.Prefix
}
// Create implements ExternalStorage interface.
-func (s *gcsStorage) Create(ctx context.Context, name string) (ExternalFileWriter, error) {
+func (s *GCSStorage) Create(ctx context.Context, name string) (ExternalFileWriter, error) {
object := s.objectName(name)
wc := s.bucket.Object(object).NewWriter(ctx)
wc.StorageClass = s.gcs.StorageClass
@@ -235,7 +247,7 @@ func (s *gcsStorage) Create(ctx context.Context, name string) (ExternalFileWrite
}
// Rename file name from oldFileName to newFileName.
-func (s *gcsStorage) Rename(ctx context.Context, oldFileName, newFileName string) error {
+func (s *GCSStorage) Rename(ctx context.Context, oldFileName, newFileName string) error {
data, err := s.ReadFile(ctx, oldFileName)
if err != nil {
return errors.Trace(err)
@@ -247,7 +259,8 @@ func (s *gcsStorage) Rename(ctx context.Context, oldFileName, newFileName string
return s.DeleteFile(ctx, oldFileName)
}
-func newGCSStorage(ctx context.Context, gcs *backuppb.GCS, opts *ExternalStorageOptions) (*gcsStorage, error) {
+// NewGCSStorage creates a GCS external storage implementation.
+func NewGCSStorage(ctx context.Context, gcs *backuppb.GCS, opts *ExternalStorageOptions) (*GCSStorage, error) {
var clientOps []option.ClientOption
if opts.NoCredentials {
clientOps = append(clientOps, option.WithoutAuthentication())
@@ -301,12 +314,7 @@ func newGCSStorage(ctx context.Context, gcs *backuppb.GCS, opts *ExternalStorage
// so we need find sst in slash directory
gcs.Prefix += "//"
}
- return &gcsStorage{gcs: gcs, bucket: bucket}, nil
-}
-
-// only for unit test
-func NewGCSStorageForTest(ctx context.Context, gcs *backuppb.GCS, opts *ExternalStorageOptions) (*gcsStorage, error) {
- return newGCSStorage(ctx, gcs, opts)
+ return &GCSStorage{gcs: gcs, bucket: bucket}, nil
}
func hasSSTFiles(ctx context.Context, bucket *storage.BucketHandle, prefix string) bool {
@@ -332,7 +340,7 @@ func hasSSTFiles(ctx context.Context, bucket *storage.BucketHandle, prefix strin
// gcsObjectReader wrap storage.Reader and add the `Seek` method.
type gcsObjectReader struct {
- storage *gcsStorage
+ storage *GCSStorage
name string
objHandle *storage.ObjectHandle
reader io.ReadCloser
diff --git a/br/pkg/storage/gcs_test.go b/br/pkg/storage/gcs_test.go
index 5801adccf04b7..daefb2bd686d3 100644
--- a/br/pkg/storage/gcs_test.go
+++ b/br/pkg/storage/gcs_test.go
@@ -32,7 +32,7 @@ func TestGCS(t *testing.T) {
PredefinedAcl: "private",
CredentialsBlob: "Fake Credentials",
}
- stg, err := newGCSStorage(ctx, gcs, &ExternalStorageOptions{
+ stg, err := NewGCSStorage(ctx, gcs, &ExternalStorageOptions{
SendCredentials: false,
CheckPermissions: []Permission{AccessBuckets},
HTTPClient: server.HTTPClient(),
@@ -86,7 +86,7 @@ func TestGCS(t *testing.T) {
require.NoError(t, err)
require.False(t, exist)
- checkWalkDir := func(stg *gcsStorage, opt *WalkOption) {
+ checkWalkDir := func(stg *GCSStorage, opt *WalkOption) {
var totalSize int64 = 0
err = stg.WalkDir(ctx, opt, func(name string, size int64) error {
totalSize += size
@@ -112,7 +112,7 @@ func TestGCS(t *testing.T) {
PredefinedAcl: "private",
CredentialsBlob: "Fake Credentials",
}
- stg, err := newGCSStorage(ctx, gcs, &ExternalStorageOptions{
+ stg, err := NewGCSStorage(ctx, gcs, &ExternalStorageOptions{
SendCredentials: false,
CheckPermissions: []Permission{AccessBuckets},
HTTPClient: server.HTTPClient(),
@@ -130,7 +130,7 @@ func TestGCS(t *testing.T) {
PredefinedAcl: "private",
CredentialsBlob: "Fake Credentials",
}
- stg, err := newGCSStorage(ctx, gcs, &ExternalStorageOptions{
+ stg, err := NewGCSStorage(ctx, gcs, &ExternalStorageOptions{
SendCredentials: false,
CheckPermissions: []Permission{AccessBuckets},
HTTPClient: server.HTTPClient(),
@@ -147,7 +147,7 @@ func TestGCS(t *testing.T) {
PredefinedAcl: "private",
CredentialsBlob: "Fake Credentials",
}
- stg, err := newGCSStorage(ctx, gcs, &ExternalStorageOptions{
+ stg, err := NewGCSStorage(ctx, gcs, &ExternalStorageOptions{
SendCredentials: false,
CheckPermissions: []Permission{AccessBuckets},
HTTPClient: server.HTTPClient(),
@@ -254,7 +254,7 @@ func TestNewGCSStorage(t *testing.T) {
PredefinedAcl: "private",
CredentialsBlob: "FakeCredentials",
}
- _, err := newGCSStorage(ctx, gcs, &ExternalStorageOptions{
+ _, err := NewGCSStorage(ctx, gcs, &ExternalStorageOptions{
SendCredentials: true,
CheckPermissions: []Permission{AccessBuckets},
HTTPClient: server.HTTPClient(),
@@ -271,7 +271,7 @@ func TestNewGCSStorage(t *testing.T) {
PredefinedAcl: "private",
CredentialsBlob: "FakeCredentials",
}
- _, err := newGCSStorage(ctx, gcs, &ExternalStorageOptions{
+ _, err := NewGCSStorage(ctx, gcs, &ExternalStorageOptions{
SendCredentials: false,
CheckPermissions: []Permission{AccessBuckets},
HTTPClient: server.HTTPClient(),
@@ -302,7 +302,7 @@ func TestNewGCSStorage(t *testing.T) {
PredefinedAcl: "private",
CredentialsBlob: "",
}
- _, err = newGCSStorage(ctx, gcs, &ExternalStorageOptions{
+ _, err = NewGCSStorage(ctx, gcs, &ExternalStorageOptions{
SendCredentials: true,
CheckPermissions: []Permission{AccessBuckets},
HTTPClient: server.HTTPClient(),
@@ -333,7 +333,7 @@ func TestNewGCSStorage(t *testing.T) {
PredefinedAcl: "private",
CredentialsBlob: "",
}
- s, err := newGCSStorage(ctx, gcs, &ExternalStorageOptions{
+ s, err := NewGCSStorage(ctx, gcs, &ExternalStorageOptions{
SendCredentials: false,
CheckPermissions: []Permission{AccessBuckets},
HTTPClient: server.HTTPClient(),
@@ -352,7 +352,7 @@ func TestNewGCSStorage(t *testing.T) {
PredefinedAcl: "private",
CredentialsBlob: "",
}
- _, err := newGCSStorage(ctx, gcs, &ExternalStorageOptions{
+ _, err := NewGCSStorage(ctx, gcs, &ExternalStorageOptions{
SendCredentials: true,
CheckPermissions: []Permission{AccessBuckets},
HTTPClient: server.HTTPClient(),
@@ -368,7 +368,7 @@ func TestNewGCSStorage(t *testing.T) {
PredefinedAcl: "private",
CredentialsBlob: "FakeCredentials",
}
- s, err := newGCSStorage(ctx, gcs, &ExternalStorageOptions{
+ s, err := NewGCSStorage(ctx, gcs, &ExternalStorageOptions{
SendCredentials: false,
CheckPermissions: []Permission{AccessBuckets},
HTTPClient: server.HTTPClient(),
diff --git a/br/pkg/storage/local.go b/br/pkg/storage/local.go
index 68dc760cc1c9a..2d6e0571faa93 100644
--- a/br/pkg/storage/local.go
+++ b/br/pkg/storage/local.go
@@ -10,6 +10,8 @@ import (
"strings"
"github.com/pingcap/errors"
+ "github.com/pingcap/log"
+ "go.uber.org/zap"
)
const (
@@ -38,7 +40,21 @@ func (l *LocalStorage) WriteFile(_ context.Context, name string, data []byte) er
// to an empty file if write is not finished.
tmpPath := filepath.Join(l.base, name) + ".tmp"
if err := os.WriteFile(tmpPath, data, localFilePerm); err != nil {
- return errors.Trace(err)
+ path := filepath.Dir(tmpPath)
+ log.Info("failed to write file, try to mkdir the path", zap.String("path", path))
+ exists, existErr := pathExists(path)
+ if existErr != nil {
+ return errors.Annotatef(err, "after failed to write file, failed to check path exists : %v", existErr)
+ }
+ if exists {
+ return errors.Trace(err)
+ }
+ if mkdirErr := mkdirAll(path); mkdirErr != nil {
+ return errors.Annotatef(err, "after failed to write file, failed to mkdir : %v", mkdirErr)
+ }
+ if err := os.WriteFile(tmpPath, data, localFilePerm); err != nil {
+ return errors.Trace(err)
+ }
}
if err := os.Rename(tmpPath, filepath.Join(l.base, name)); err != nil {
return errors.Trace(err)
diff --git a/br/pkg/storage/local_test.go b/br/pkg/storage/local_test.go
index 82e7435ae29be..db1ba424b9d6b 100644
--- a/br/pkg/storage/local_test.go
+++ b/br/pkg/storage/local_test.go
@@ -9,6 +9,7 @@ import (
"runtime"
"testing"
+ "github.com/pingcap/errors"
"github.com/stretchr/testify/require"
)
@@ -99,4 +100,30 @@ func TestWalkDirWithSoftLinkFile(t *testing.T) {
})
require.NoError(t, err)
require.Equal(t, 1, i)
+
+ // test file not exists
+ exists, err := store.FileExists(context.TODO(), "/123/456")
+ require.NoError(t, err)
+ require.False(t, exists)
+
+ // test walk nonexistent directory
+ err = store.WalkDir(context.TODO(), &WalkOption{SubDir: "123/456"}, func(path string, size int64) error {
+ return errors.New("find file")
+ })
+ require.NoError(t, err)
+ // write file to a nonexistent directory
+ err = store.WriteFile(context.TODO(), "/123/456/789.txt", []byte(data))
+ require.NoError(t, err)
+ exists, err = store.FileExists(context.TODO(), "/123/456")
+ require.NoError(t, err)
+ require.True(t, exists)
+
+ // test walk existent directory
+ err = store.WalkDir(context.TODO(), &WalkOption{SubDir: "123/456"}, func(path string, size int64) error {
+ if path == "123/456/789.txt" {
+ return nil
+ }
+ return errors.Errorf("find other file: %s", path)
+ })
+ require.NoError(t, err)
}
diff --git a/br/pkg/storage/memstore_test.go b/br/pkg/storage/memstore_test.go
index a85a2ff467fa1..3ae9a08d168bc 100644
--- a/br/pkg/storage/memstore_test.go
+++ b/br/pkg/storage/memstore_test.go
@@ -17,7 +17,6 @@ import (
"bytes"
"context"
"io"
- "io/ioutil"
"sync"
"testing"
"time"
@@ -70,7 +69,7 @@ func TestMemStoreBasic(t *testing.T) {
require.Nil(t, err)
r2, err := store.Open(ctx, "/hello.txt")
require.Nil(t, err)
- fileContent, err = ioutil.ReadAll(r)
+ fileContent, err = io.ReadAll(r)
require.Nil(t, err)
require.True(t, bytes.Equal([]byte("hello world 3"), fileContent))
require.Nil(t, r.Close())
@@ -83,7 +82,7 @@ func TestMemStoreBasic(t *testing.T) {
_, err = r2.Seek(5, io.SeekStart)
require.Nil(t, err)
- fileContent, err = ioutil.ReadAll(r2)
+ fileContent, err = io.ReadAll(r2)
require.Nil(t, err)
require.True(t, bytes.Equal([]byte(" world 3"), fileContent))
diff --git a/br/pkg/storage/s3.go b/br/pkg/storage/s3.go
index ff2cbae25d030..a239de8ad794c 100644
--- a/br/pkg/storage/s3.go
+++ b/br/pkg/storage/s3.go
@@ -68,13 +68,24 @@ var permissionCheckFn = map[Permission]func(*s3.S3, *backuppb.S3) error{
GetObject: getObject,
}
-// S3Storage info for s3 storage.
+// S3Storage defines some standard operations for BR/Lightning on the S3 storage.
+// It implements the `ExternalStorage` interface.
type S3Storage struct {
session *session.Session
svc s3iface.S3API
options *backuppb.S3
}
+// GetS3APIHandle gets the handle to the S3 API.
+func (rs *S3Storage) GetS3APIHandle() s3iface.S3API {
+ return rs.svc
+}
+
+// GetOptions gets the external storage operations for the S3.
+func (rs *S3Storage) GetOptions() *backuppb.S3 {
+ return rs.options
+}
+
// S3Uploader does multi-part upload to s3.
type S3Uploader struct {
svc s3iface.S3API
@@ -248,19 +259,6 @@ func NewS3StorageForTest(svc s3iface.S3API, options *backuppb.S3) *S3Storage {
}
}
-// NewS3Storage initialize a new s3 storage for metadata.
-//
-// Deprecated: Create the storage via `New()` instead of using this.
-func NewS3Storage( // revive:disable-line:flag-parameter
- backend *backuppb.S3,
- sendCredential bool,
-) (*S3Storage, error) {
- return newS3Storage(backend, &ExternalStorageOptions{
- SendCredentials: sendCredential,
- CheckPermissions: []Permission{AccessBuckets},
- })
-}
-
// auto access without ak / sk.
func autoNewCred(qs *backuppb.S3) (cred *credentials.Credentials, err error) {
if qs.AccessKey != "" && qs.SecretAccessKey != "" {
@@ -288,7 +286,8 @@ func createOssRAMCred() (*credentials.Credentials, error) {
return credentials.NewStaticCredentials(ncred.AccessKeyId, ncred.AccessKeySecret, ncred.AccessKeyStsToken), nil
}
-func newS3Storage(backend *backuppb.S3, opts *ExternalStorageOptions) (obj *S3Storage, errRet error) {
+// NewS3Storage initialize a new s3 storage for metadata.
+func NewS3Storage(backend *backuppb.S3, opts *ExternalStorageOptions) (obj *S3Storage, errRet error) {
qs := *backend
awsConfig := aws.NewConfig().
WithS3ForcePathStyle(qs.ForcePathStyle).
@@ -355,13 +354,18 @@ func newS3Storage(backend *backuppb.S3, opts *ExternalStorageOptions) (obj *S3St
)
}
c := s3.New(ses, s3CliConfigs...)
- // s3manager.GetBucketRegionWithClient will set credential anonymous, which works with s3.
- // we need reassign credential to be compatible with minio authentication.
confCred := ses.Config.Credentials
setCredOpt := func(req *request.Request) {
+ // s3manager.GetBucketRegionWithClient will set credential anonymous, which works with s3.
+ // we need reassign credential to be compatible with minio authentication.
if confCred != nil {
req.Config.Credentials = confCred
}
+ // s3manager.GetBucketRegionWithClient use path style addressing default.
+ // we need set S3ForcePathStyle by our config if we set endpoint.
+ if qs.Endpoint != "" {
+ req.Config.S3ForcePathStyle = ses.Config.S3ForcePathStyle
+ }
}
region, err := s3manager.GetBucketRegionWithClient(context.Background(), c, qs.Bucket, setCredOpt)
if err != nil {
@@ -400,7 +404,7 @@ func newS3Storage(backend *backuppb.S3, opts *ExternalStorageOptions) (obj *S3St
options: &qs,
}
if opts.CheckS3ObjectLockOptions {
- backend.ObjectLockEnabled = s3Storage.isObjectLockEnabled()
+ backend.ObjectLockEnabled = s3Storage.IsObjectLockEnabled()
}
return s3Storage, nil
}
@@ -447,7 +451,7 @@ func getObject(svc *s3.S3, qs *backuppb.S3) error {
return nil
}
-func (rs *S3Storage) isObjectLockEnabled() bool {
+func (rs *S3Storage) IsObjectLockEnabled() bool {
input := &s3.GetObjectLockConfigurationInput{
Bucket: aws.String(rs.options.Bucket),
}
@@ -456,8 +460,8 @@ func (rs *S3Storage) isObjectLockEnabled() bool {
log.Warn("failed to check object lock for bucket", zap.String("bucket", rs.options.Bucket), zap.Error(err))
return false
}
- if resp.ObjectLockConfiguration != nil {
- if s3.ObjectLockEnabledEnabled == *resp.ObjectLockConfiguration.ObjectLockEnabled {
+ if resp != nil && resp.ObjectLockConfiguration != nil {
+ if s3.ObjectLockEnabledEnabled == aws.StringValue(resp.ObjectLockConfiguration.ObjectLockEnabled) {
return true
}
}
diff --git a/br/pkg/storage/s3_test.go b/br/pkg/storage/s3_test.go
index 3990e5eb82bc1..3600a757ef0c4 100644
--- a/br/pkg/storage/s3_test.go
+++ b/br/pkg/storage/s3_test.go
@@ -314,10 +314,11 @@ func TestS3Storage(t *testing.T) {
{
name: "no region",
s3: &backuppb.S3{
- Region: "",
- Endpoint: s.URL,
- Bucket: "bucket",
- Prefix: "prefix",
+ Region: "",
+ Endpoint: s.URL,
+ Bucket: "bucket",
+ Prefix: "prefix",
+ ForcePathStyle: true,
},
errReturn: false,
sendCredential: true,
@@ -325,10 +326,11 @@ func TestS3Storage(t *testing.T) {
{
name: "wrong region",
s3: &backuppb.S3{
- Region: "us-east-2",
- Endpoint: s.URL,
- Bucket: "bucket",
- Prefix: "prefix",
+ Region: "us-east-2",
+ Endpoint: s.URL,
+ Bucket: "bucket",
+ Prefix: "prefix",
+ ForcePathStyle: true,
},
errReturn: true,
sendCredential: true,
@@ -336,10 +338,11 @@ func TestS3Storage(t *testing.T) {
{
name: "right region",
s3: &backuppb.S3{
- Region: "us-west-2",
- Endpoint: s.URL,
- Bucket: "bucket",
- Prefix: "prefix",
+ Region: "us-west-2",
+ Endpoint: s.URL,
+ Bucket: "bucket",
+ Prefix: "prefix",
+ ForcePathStyle: true,
},
errReturn: false,
sendCredential: true,
@@ -353,6 +356,7 @@ func TestS3Storage(t *testing.T) {
SecretAccessKey: "cd",
Bucket: "bucket",
Prefix: "prefix",
+ ForcePathStyle: true,
},
errReturn: false,
sendCredential: true,
@@ -365,6 +369,7 @@ func TestS3Storage(t *testing.T) {
SecretAccessKey: "cd",
Bucket: "bucket",
Prefix: "prefix",
+ ForcePathStyle: true,
},
errReturn: false,
sendCredential: true,
@@ -372,11 +377,12 @@ func TestS3Storage(t *testing.T) {
{
name: "no secret access key",
s3: &backuppb.S3{
- Region: "us-west-2",
- Endpoint: s.URL,
- AccessKey: "ab",
- Bucket: "bucket",
- Prefix: "prefix",
+ Region: "us-west-2",
+ Endpoint: s.URL,
+ AccessKey: "ab",
+ Bucket: "bucket",
+ Prefix: "prefix",
+ ForcePathStyle: true,
},
errReturn: false,
sendCredential: true,
@@ -384,11 +390,12 @@ func TestS3Storage(t *testing.T) {
{
name: "no secret access key",
s3: &backuppb.S3{
- Region: "us-west-2",
- Endpoint: s.URL,
- AccessKey: "ab",
- Bucket: "bucket",
- Prefix: "prefix",
+ Region: "us-west-2",
+ Endpoint: s.URL,
+ AccessKey: "ab",
+ Bucket: "bucket",
+ Prefix: "prefix",
+ ForcePathStyle: true,
},
errReturn: false,
sendCredential: false,
@@ -1141,3 +1148,48 @@ func TestSendCreds(t *testing.T) {
sentSecretAccessKey = backend.GetS3().SecretAccessKey
require.Equal(t, "", sentSecretAccessKey)
}
+
+func TestObjectLock(t *testing.T) {
+ s := createS3Suite(t)
+ // resp is nil
+ s.s3.EXPECT().GetObjectLockConfiguration(gomock.Any()).Return(nil, nil)
+ require.Equal(t, false, s.storage.IsObjectLockEnabled())
+
+ // resp is not nil, but resp.ObjectLockConfiguration is nil
+ s.s3.EXPECT().GetObjectLockConfiguration(gomock.Any()).Return(
+ &s3.GetObjectLockConfigurationOutput{
+ ObjectLockConfiguration: nil,
+ }, nil,
+ )
+ require.Equal(t, false, s.storage.IsObjectLockEnabled())
+
+ // resp.ObjectLockConfiguration is not nil, but resp.ObjectLockConfiguration.ObjectLockEnabled is nil
+ s.s3.EXPECT().GetObjectLockConfiguration(gomock.Any()).Return(
+ &s3.GetObjectLockConfigurationOutput{
+ ObjectLockConfiguration: &s3.ObjectLockConfiguration{
+ ObjectLockEnabled: nil,
+ },
+ }, nil,
+ )
+ require.Equal(t, false, s.storage.IsObjectLockEnabled())
+
+ // resp.ObjectLockConfiguration.ObjectLockEnabled is illegal string
+ s.s3.EXPECT().GetObjectLockConfiguration(gomock.Any()).Return(
+ &s3.GetObjectLockConfigurationOutput{
+ ObjectLockConfiguration: &s3.ObjectLockConfiguration{
+ ObjectLockEnabled: aws.String("EnaBled"),
+ },
+ }, nil,
+ )
+ require.Equal(t, false, s.storage.IsObjectLockEnabled())
+
+ // resp.ObjectLockConfiguration.ObjectLockEnabled is enabled
+ s.s3.EXPECT().GetObjectLockConfiguration(gomock.Any()).Return(
+ &s3.GetObjectLockConfigurationOutput{
+ ObjectLockConfiguration: &s3.ObjectLockConfiguration{
+ ObjectLockEnabled: aws.String("Enabled"),
+ },
+ }, nil,
+ )
+ require.Equal(t, true, s.storage.IsObjectLockEnabled())
+}
diff --git a/br/pkg/storage/storage.go b/br/pkg/storage/storage.go
index b73181e582158..f678457d5088a 100644
--- a/br/pkg/storage/storage.go
+++ b/br/pkg/storage/storage.go
@@ -173,14 +173,14 @@ func New(ctx context.Context, backend *backuppb.StorageBackend, opts *ExternalSt
if backend.S3 == nil {
return nil, errors.Annotate(berrors.ErrStorageInvalidConfig, "s3 config not found")
}
- return newS3Storage(backend.S3, opts)
+ return NewS3Storage(backend.S3, opts)
case *backuppb.StorageBackend_Noop:
return newNoopStorage(), nil
case *backuppb.StorageBackend_Gcs:
if backend.Gcs == nil {
return nil, errors.Annotate(berrors.ErrStorageInvalidConfig, "GCS config not found")
}
- return newGCSStorage(ctx, backend.Gcs, opts)
+ return NewGCSStorage(ctx, backend.Gcs, opts)
case *backuppb.StorageBackend_AzureBlobStorage:
return newAzureBlobStorage(ctx, backend.AzureBlobStorage, opts)
default:
diff --git a/br/pkg/stream/BUILD.bazel b/br/pkg/stream/BUILD.bazel
index f75f9f37d81ea..e5fbc5c87b870 100644
--- a/br/pkg/stream/BUILD.bazel
+++ b/br/pkg/stream/BUILD.bazel
@@ -56,8 +56,11 @@ go_test(
"//br/pkg/storage",
"//br/pkg/streamhelper",
"//meta",
+ "//parser/ast",
"//parser/model",
+ "//parser/mysql",
"//tablecodec",
+ "//types",
"//util/codec",
"//util/table-filter",
"@com_github_pingcap_kvproto//pkg/brpb",
diff --git a/br/pkg/stream/meta_kv.go b/br/pkg/stream/meta_kv.go
index 9d054f0bef454..fb7c2f79f17d1 100644
--- a/br/pkg/stream/meta_kv.go
+++ b/br/pkg/stream/meta_kv.go
@@ -111,15 +111,34 @@ const (
flagShortValuePrefix = byte('v')
flagOverlappedRollback = byte('R')
flagGCFencePrefix = byte('F')
+ flagLastChangePrefix = byte('l')
+ flagTxnSourcePrefix = byte('S')
)
+// RawWriteCFValue represents the value in write columnFamily.
+// Detail see line: https://github.com/tikv/tikv/blob/release-6.5/components/txn_types/src/write.rs#L70
type RawWriteCFValue struct {
t WriteType
startTs uint64
shortValue []byte
hasOverlappedRollback bool
- hasGCFence bool
- gcFence uint64
+
+ // Records the next version after this version when overlapping rollback
+ // happens on an already existed commit record.
+ //
+ // See [`Write::gc_fence`] for more detail.
+ hasGCFence bool
+ gcFence uint64
+
+ // The number of versions that need skipping from this record
+ // to find the latest PUT/DELETE record.
+ // If versions_to_last_change > 0 but last_change_ts == 0, the key does not
+ // have a PUT/DELETE record before this write record.
+ lastChangeTs uint64
+ versionsToLastChange uint64
+
+ // The source of this txn.
+ txnSource uint64
}
// ParseFrom decodes the value to get the struct `RawWriteCFValue`.
@@ -146,6 +165,10 @@ l_for:
switch data[0] {
case flagShortValuePrefix:
vlen := data[1]
+ if len(data[2:]) < int(vlen) {
+ return errors.Annotatef(berrors.ErrInvalidArgument,
+ "the length of short value is invalid, vlen: %v", int(vlen))
+ }
v.shortValue = data[2 : vlen+2]
data = data[vlen+2:]
case flagOverlappedRollback:
@@ -157,6 +180,20 @@ l_for:
if err != nil {
return errors.Annotate(berrors.ErrInvalidArgument, "decode gc fence failed")
}
+ case flagLastChangePrefix:
+ data, v.lastChangeTs, err = codec.DecodeUint(data[1:])
+ if err != nil {
+ return errors.Annotate(berrors.ErrInvalidArgument, "decode last change ts failed")
+ }
+ data, v.versionsToLastChange, err = codec.DecodeUvarint(data)
+ if err != nil {
+ return errors.Annotate(berrors.ErrInvalidArgument, "decode versions to last change failed")
+ }
+ case flagTxnSourcePrefix:
+ data, v.txnSource, err = codec.DecodeUvarint(data[1:])
+ if err != nil {
+ return errors.Annotate(berrors.ErrInvalidArgument, "decode txn source failed")
+ }
default:
break l_for
}
@@ -164,6 +201,16 @@ l_for:
return nil
}
+// IsRollback checks whether the value in cf is a `rollback` record.
+func (v *RawWriteCFValue) IsRollback() bool {
+ return v.GetWriteType() == WriteTypeRollback
+}
+
+// IsRollback checks whether the value in cf is a `delete` record.
+func (v *RawWriteCFValue) IsDelete() bool {
+ return v.GetWriteType() == WriteTypeDelete
+}
+
// HasShortValue checks whether short value is stored in write cf.
func (v *RawWriteCFValue) HasShortValue() bool {
return len(v.shortValue) > 0
@@ -204,5 +251,14 @@ func (v *RawWriteCFValue) EncodeTo() []byte {
data = append(data, flagGCFencePrefix)
data = codec.EncodeUint(data, v.gcFence)
}
+ if v.lastChangeTs > 0 || v.versionsToLastChange > 0 {
+ data = append(data, flagLastChangePrefix)
+ data = codec.EncodeUint(data, v.lastChangeTs)
+ data = codec.EncodeUvarint(data, v.versionsToLastChange)
+ }
+ if v.txnSource > 0 {
+ data = append(data, flagTxnSourcePrefix)
+ data = codec.EncodeUvarint(data, v.txnSource)
+ }
return data
}
diff --git a/br/pkg/stream/meta_kv_test.go b/br/pkg/stream/meta_kv_test.go
index eaebf64526243..7a8c5e4fed8b6 100644
--- a/br/pkg/stream/meta_kv_test.go
+++ b/br/pkg/stream/meta_kv_test.go
@@ -68,29 +68,49 @@ func TestWriteType(t *testing.T) {
}
func TestWriteCFValueNoShortValue(t *testing.T) {
+ var (
+ ts uint64 = 400036290571534337
+ txnSource uint64 = 9527
+ )
+
buff := make([]byte, 0, 9)
- buff = append(buff, byte('P'))
- buff = codec.EncodeUvarint(buff, 400036290571534337)
+ buff = append(buff, WriteTypePut)
+ buff = codec.EncodeUvarint(buff, ts)
+ buff = append(buff, flagTxnSourcePrefix)
+ buff = codec.EncodeUvarint(buff, txnSource)
v := new(RawWriteCFValue)
err := v.ParseFrom(buff)
require.NoError(t, err)
+ require.False(t, v.IsDelete())
+ require.False(t, v.IsRollback())
require.False(t, v.HasShortValue())
+ require.False(t, v.hasGCFence)
+ require.Equal(t, v.lastChangeTs, uint64(0))
+ require.Equal(t, v.versionsToLastChange, uint64(0))
+ require.Equal(t, v.txnSource, txnSource)
encodedBuff := v.EncodeTo()
require.True(t, bytes.Equal(buff, encodedBuff))
}
func TestWriteCFValueWithShortValue(t *testing.T) {
- var ts uint64 = 400036290571534337
- shortValue := []byte("pingCAP")
+ var (
+ ts uint64 = 400036290571534337
+ shortValue = []byte("pingCAP")
+ lastChangeTs uint64 = 9527
+ versionsToLastChange uint64 = 95271
+ )
buff := make([]byte, 0, 9)
- buff = append(buff, byte('P'))
+ buff = append(buff, WriteTypePut)
buff = codec.EncodeUvarint(buff, ts)
buff = append(buff, flagShortValuePrefix)
buff = append(buff, byte(len(shortValue)))
buff = append(buff, shortValue...)
+ buff = append(buff, flagLastChangePrefix)
+ buff = codec.EncodeUint(buff, lastChangeTs)
+ buff = codec.EncodeUvarint(buff, versionsToLastChange)
v := new(RawWriteCFValue)
err := v.ParseFrom(buff)
@@ -99,7 +119,78 @@ func TestWriteCFValueWithShortValue(t *testing.T) {
require.True(t, bytes.Equal(v.GetShortValue(), shortValue))
require.False(t, v.hasGCFence)
require.False(t, v.hasOverlappedRollback)
+ require.Equal(t, v.lastChangeTs, lastChangeTs)
+ require.Equal(t, v.versionsToLastChange, versionsToLastChange)
+ require.Equal(t, v.txnSource, uint64(0))
data := v.EncodeTo()
require.True(t, bytes.Equal(data, buff))
}
+
+func TestWriteCFValueWithRollback(t *testing.T) {
+ var (
+ ts uint64 = 400036290571534337
+ protectedRollbackShortValue = []byte{'P'}
+ )
+
+ buff := make([]byte, 0, 9)
+ buff = append(buff, WriteTypeRollback)
+ buff = codec.EncodeUvarint(buff, ts)
+ buff = append(buff, flagShortValuePrefix, byte(len(protectedRollbackShortValue)))
+ buff = append(buff, protectedRollbackShortValue...)
+
+ v := new(RawWriteCFValue)
+ err := v.ParseFrom(buff)
+ require.NoError(t, err)
+ require.True(t, v.IsRollback())
+ require.True(t, v.HasShortValue())
+ require.Equal(t, v.GetShortValue(), protectedRollbackShortValue)
+ require.Equal(t, v.startTs, ts)
+ require.Equal(t, v.lastChangeTs, uint64(0))
+ require.Equal(t, v.versionsToLastChange, uint64(0))
+ require.Equal(t, v.txnSource, uint64(0))
+
+ data := v.EncodeTo()
+ require.Equal(t, data, buff)
+}
+
+func TestWriteCFValueWithDelete(t *testing.T) {
+ var ts uint64 = 400036290571534337
+ buff := make([]byte, 0, 9)
+ buff = append(buff, byte('D'))
+ buff = codec.EncodeUvarint(buff, ts)
+
+ v := new(RawWriteCFValue)
+ err := v.ParseFrom(buff)
+ require.NoError(t, err)
+ require.True(t, v.IsDelete())
+ require.False(t, v.HasShortValue())
+
+ data := v.EncodeTo()
+ require.Equal(t, data, buff)
+}
+
+func TestWriteCFValueWithGcFence(t *testing.T) {
+ var (
+ ts uint64 = 400036290571534337
+ gcFence uint64 = 9527
+ )
+
+ buff := make([]byte, 0, 9)
+ buff = append(buff, WriteTypePut)
+ buff = codec.EncodeUvarint(buff, ts)
+ buff = append(buff, flagOverlappedRollback)
+ buff = append(buff, flagGCFencePrefix)
+ buff = codec.EncodeUint(buff, gcFence)
+
+ v := new(RawWriteCFValue)
+ err := v.ParseFrom(buff)
+ require.NoError(t, err)
+ require.Equal(t, v.startTs, ts)
+ require.True(t, v.hasGCFence)
+ require.Equal(t, v.gcFence, gcFence)
+ require.True(t, v.hasOverlappedRollback)
+
+ data := v.EncodeTo()
+ require.Equal(t, data, buff)
+}
diff --git a/br/pkg/stream/rewrite_meta_rawkv.go b/br/pkg/stream/rewrite_meta_rawkv.go
index 40e76a6130358..3c559ec124ad8 100644
--- a/br/pkg/stream/rewrite_meta_rawkv.go
+++ b/br/pkg/stream/rewrite_meta_rawkv.go
@@ -336,6 +336,11 @@ func (sr *SchemasReplace) rewriteTableInfo(value []byte, dbID int64) ([]byte, bo
}
}
+ // Force to disable TTL_ENABLE when restore
+ if newTableInfo.TTLInfo != nil {
+ newTableInfo.TTLInfo.Enable = false
+ }
+
if sr.AfterTableRewritten != nil {
sr.AfterTableRewritten(false, newTableInfo)
}
@@ -451,13 +456,20 @@ func (sr *SchemasReplace) rewriteValueV2(value []byte, cf string, rewrite func([
return rewriteResult{}, errors.Trace(err)
}
- if rawWriteCFValue.t == WriteTypeDelete {
+ if rawWriteCFValue.IsDelete() {
return rewriteResult{
NewValue: value,
NeedRewrite: true,
Deleted: true,
}, nil
}
+ if rawWriteCFValue.IsRollback() {
+ return rewriteResult{
+ NewValue: value,
+ NeedRewrite: true,
+ Deleted: false,
+ }, nil
+ }
if !rawWriteCFValue.HasShortValue() {
return rewriteResult{
NewValue: value,
@@ -467,6 +479,9 @@ func (sr *SchemasReplace) rewriteValueV2(value []byte, cf string, rewrite func([
shortValue, needWrite, err := rewrite(rawWriteCFValue.GetShortValue())
if err != nil {
+ log.Info("failed to rewrite short value",
+ zap.ByteString("write-type", []byte{rawWriteCFValue.GetWriteType()}),
+ zap.Int("short-value-len", len(rawWriteCFValue.GetShortValue())))
return rewriteResult{}, errors.Trace(err)
}
if !needWrite {
diff --git a/br/pkg/stream/rewrite_meta_rawkv_test.go b/br/pkg/stream/rewrite_meta_rawkv_test.go
index d2cbe24e8295d..cd3cf00d46305 100644
--- a/br/pkg/stream/rewrite_meta_rawkv_test.go
+++ b/br/pkg/stream/rewrite_meta_rawkv_test.go
@@ -7,7 +7,10 @@ import (
"encoding/json"
"testing"
+ "github.com/pingcap/tidb/parser/ast"
"github.com/pingcap/tidb/parser/model"
+ "github.com/pingcap/tidb/parser/mysql"
+ "github.com/pingcap/tidb/types"
filter "github.com/pingcap/tidb/util/table-filter"
"github.com/stretchr/testify/require"
)
@@ -312,6 +315,52 @@ func TestRewriteValueForExchangePartition(t *testing.T) {
require.Equal(t, tableInfo.ID, pt1ID+100)
}
+func TestRewriteValueForTTLTable(t *testing.T) {
+ var (
+ dbId int64 = 40
+ tableID int64 = 100
+ colID int64 = 1000
+ colName = "t"
+ tableName = "t1"
+ tableInfo model.TableInfo
+ )
+
+ tbl := model.TableInfo{
+ ID: tableID,
+ Name: model.NewCIStr(tableName),
+ Columns: []*model.ColumnInfo{
+ {
+ ID: colID,
+ Name: model.NewCIStr(colName),
+ FieldType: *types.NewFieldType(mysql.TypeTimestamp),
+ },
+ },
+ TTLInfo: &model.TTLInfo{
+ ColumnName: model.NewCIStr(colName),
+ IntervalExprStr: "1",
+ IntervalTimeUnit: int(ast.TimeUnitDay),
+ Enable: true,
+ },
+ }
+ value, err := json.Marshal(&tbl)
+ require.Nil(t, err)
+
+ sr := MockEmptySchemasReplace(nil)
+ newValue, needRewrite, err := sr.rewriteTableInfo(value, dbId)
+ require.Nil(t, err)
+ require.True(t, needRewrite)
+
+ err = json.Unmarshal(newValue, &tableInfo)
+ require.Nil(t, err)
+ require.Equal(t, tableInfo.Name.String(), tableName)
+ require.Equal(t, tableInfo.ID, sr.DbMap[dbId].TableMap[tableID].NewTableID)
+ require.NotNil(t, tableInfo.TTLInfo)
+ require.Equal(t, colName, tableInfo.TTLInfo.ColumnName.O)
+ require.Equal(t, "1", tableInfo.TTLInfo.IntervalExprStr)
+ require.Equal(t, int(ast.TimeUnitDay), tableInfo.TTLInfo.IntervalTimeUnit)
+ require.False(t, tableInfo.TTLInfo.Enable)
+}
+
// db:70->80 -
// | - t0:71->81 -
// | | - p0:72->82
diff --git a/br/pkg/stream/stream_mgr.go b/br/pkg/stream/stream_mgr.go
index 61c3e6772a431..5ee184ba04f03 100644
--- a/br/pkg/stream/stream_mgr.go
+++ b/br/pkg/stream/stream_mgr.go
@@ -312,7 +312,6 @@ func FastUnmarshalMetaData(
}
readPath := path
pool.ApplyOnErrorGroup(eg, func() error {
- log.Info("fast read meta file from storage", zap.String("path", readPath))
b, err := s.ReadFile(ectx, readPath)
if err != nil {
log.Error("failed to read file", zap.String("file", readPath))
diff --git a/br/pkg/streamhelper/BUILD.bazel b/br/pkg/streamhelper/BUILD.bazel
index 93e13b1f8d543..3c281563439de 100644
--- a/br/pkg/streamhelper/BUILD.bazel
+++ b/br/pkg/streamhelper/BUILD.bazel
@@ -9,10 +9,10 @@ go_library(
"advancer_env.go",
"client.go",
"collector.go",
+ "flush_subscriber.go",
"models.go",
"prefix_scanner.go",
"regioniter.go",
- "tsheap.go",
],
importpath = "github.com/pingcap/tidb/br/pkg/streamhelper",
visibility = ["//visibility:public"],
@@ -21,15 +21,17 @@ go_library(
"//br/pkg/logutil",
"//br/pkg/redact",
"//br/pkg/streamhelper/config",
+ "//br/pkg/streamhelper/spans",
"//br/pkg/utils",
"//config",
"//kv",
"//metrics",
"//owner",
+ "//util/codec",
+ "//util/engine",
"//util/mathutil",
"@com_github_gogo_protobuf//proto",
"@com_github_golang_protobuf//proto",
- "@com_github_google_btree//:btree",
"@com_github_google_uuid//:uuid",
"@com_github_pingcap_errors//:errors",
"@com_github_pingcap_kvproto//pkg/brpb",
@@ -41,10 +43,12 @@ go_library(
"@com_github_tikv_pd_client//:client",
"@io_etcd_go_etcd_client_v3//:client",
"@org_golang_google_grpc//:grpc",
+ "@org_golang_google_grpc//codes",
"@org_golang_google_grpc//keepalive",
+ "@org_golang_google_grpc//status",
"@org_golang_x_sync//errgroup",
+ "@org_uber_go_multierr//:multierr",
"@org_uber_go_zap//:zap",
- "@org_uber_go_zap//zapcore",
],
)
@@ -56,7 +60,7 @@ go_test(
"basic_lib_for_test.go",
"integration_test.go",
"regioniter_test.go",
- "tsheap_test.go",
+ "subscription_test.go",
],
flaky = True,
race = "on",
@@ -68,9 +72,11 @@ go_test(
"//br/pkg/redact",
"//br/pkg/storage",
"//br/pkg/streamhelper/config",
+ "//br/pkg/streamhelper/spans",
"//br/pkg/utils",
"//kv",
"//tablecodec",
+ "//util/codec",
"@com_github_pingcap_errors//:errors",
"@com_github_pingcap_kvproto//pkg/brpb",
"@com_github_pingcap_kvproto//pkg/errorpb",
@@ -84,6 +90,7 @@ go_test(
"@io_etcd_go_etcd_server_v3//mvcc",
"@org_golang_google_grpc//:grpc",
"@org_golang_google_grpc//codes",
+ "@org_golang_google_grpc//metadata",
"@org_golang_google_grpc//status",
"@org_uber_go_zap//:zap",
"@org_uber_go_zap//zapcore",
diff --git a/br/pkg/streamhelper/advancer.go b/br/pkg/streamhelper/advancer.go
index ac01c5167ffc7..b29cbd6956ae2 100644
--- a/br/pkg/streamhelper/advancer.go
+++ b/br/pkg/streamhelper/advancer.go
@@ -3,11 +3,7 @@
package streamhelper
import (
- "bytes"
"context"
- "math"
- "reflect"
- "sort"
"strings"
"sync"
"time"
@@ -17,10 +13,12 @@ import (
"github.com/pingcap/log"
"github.com/pingcap/tidb/br/pkg/logutil"
"github.com/pingcap/tidb/br/pkg/streamhelper/config"
+ "github.com/pingcap/tidb/br/pkg/streamhelper/spans"
"github.com/pingcap/tidb/br/pkg/utils"
"github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/metrics"
"github.com/tikv/client-go/v2/oracle"
+ "go.uber.org/multierr"
"go.uber.org/zap"
"golang.org/x/sync/errgroup"
)
@@ -60,81 +58,31 @@ type CheckpointAdvancer struct {
// once tick begin, this should not be changed for now.
cfg config.Config
- // the cache of region checkpoints.
- // so we can advance only ranges with huge gap.
- cache CheckpointsCache
-
- // the internal state of advancer.
- state advancerState
// the cached last checkpoint.
// if no progress, this cache can help us don't to send useless requests.
lastCheckpoint uint64
-}
-// advancerState is the sealed type for the state of advancer.
-// the advancer has two stage: full scan and update small tree.
-type advancerState interface {
- // Note:
- // Go doesn't support sealed classes or ADTs currently.
- // (it can only be used at generic constraints...)
- // Leave it empty for now.
-
- // ~*fullScan | ~*updateSmallTree
-}
+ checkpoints *spans.ValueSortedFull
+ checkpointsMu sync.Mutex
-// fullScan is the initial state of advancer.
-// in this stage, we would "fill" the cache:
-// insert ranges that union of them become the full range of task.
-type fullScan struct {
- fullScanTick int
-}
-
-// updateSmallTree is the "incremental stage" of advancer.
-// we have build a "filled" cache, and we can pop a subrange of it,
-// try to advance the checkpoint of those ranges.
-type updateSmallTree struct {
- consistencyCheckTick int
+ subscriber *FlushSubscriber
+ subscriberMu sync.Mutex
}
// NewCheckpointAdvancer creates a checkpoint advancer with the env.
func NewCheckpointAdvancer(env Env) *CheckpointAdvancer {
return &CheckpointAdvancer{
- env: env,
- cfg: config.Default(),
- cache: NewCheckpoints(),
- state: &fullScan{},
+ env: env,
+ cfg: config.Default(),
}
}
-// disableCache removes the cache.
-// note this won't lock the checkpoint advancer at `fullScan` state forever,
-// you may need to change the config `AdvancingByCache`.
-func (c *CheckpointAdvancer) disableCache() {
- c.cache = NoOPCheckpointCache{}
- c.state = &fullScan{}
-}
-
-// enable the cache.
-// also check `AdvancingByCache` in the config.
-func (c *CheckpointAdvancer) enableCache() {
- c.cache = NewCheckpoints()
- c.state = &fullScan{}
-}
-
// UpdateConfig updates the config for the advancer.
// Note this should be called before starting the loop, because there isn't locks,
// TODO: support updating config when advancer starts working.
// (Maybe by applying changes at begin of ticking, and add locks.)
func (c *CheckpointAdvancer) UpdateConfig(newConf config.Config) {
- needRefreshCache := newConf.AdvancingByCache != c.cfg.AdvancingByCache
c.cfg = newConf
- if needRefreshCache {
- if c.cfg.AdvancingByCache {
- c.enableCache()
- } else {
- c.disableCache()
- }
- }
}
// UpdateConfigWith updates the config by modifying the current config.
@@ -161,7 +109,7 @@ func (c *CheckpointAdvancer) GetCheckpointInRange(ctx context.Context, start, en
}
log.Debug("scan region", zap.Int("len", len(rs)))
for _, r := range rs {
- err := collector.collectRegion(r)
+ err := collector.CollectRegion(r)
if err != nil {
log.Warn("meet error during getting checkpoint", logutil.ShortError(err))
return err
@@ -183,28 +131,24 @@ func (c *CheckpointAdvancer) recordTimeCost(message string, fields ...zap.Field)
}
// tryAdvance tries to advance the checkpoint ts of a set of ranges which shares the same checkpoint.
-func (c *CheckpointAdvancer) tryAdvance(ctx context.Context, rst RangesSharesTS) (err error) {
- defer c.recordTimeCost("try advance", zap.Uint64("checkpoint", rst.TS), zap.Int("len", len(rst.Ranges)))()
- defer func() {
- if err != nil {
- log.Warn("failed to advance", logutil.ShortError(err), zap.Object("target", rst.Zap()))
- c.cache.InsertRanges(rst)
- }
- }()
+func (c *CheckpointAdvancer) tryAdvance(ctx context.Context, length int, getRange func(int) kv.KeyRange) (err error) {
+ defer c.recordTimeCost("try advance", zap.Int("len", length))()
defer utils.PanicToErr(&err)
- ranges := CollapseRanges(len(rst.Ranges), func(i int) kv.KeyRange {
- return rst.Ranges[i]
- })
- workers := utils.NewWorkerPool(4, "sub ranges")
+ ranges := spans.Collapse(length, getRange)
+ workers := utils.NewWorkerPool(uint(config.DefaultMaxConcurrencyAdvance)*4, "sub ranges")
eg, cx := errgroup.WithContext(ctx)
collector := NewClusterCollector(ctx, c.env)
- collector.setOnSuccessHook(c.cache.InsertRange)
+ collector.SetOnSuccessHook(func(u uint64, kr kv.KeyRange) {
+ c.checkpointsMu.Lock()
+ defer c.checkpointsMu.Unlock()
+ c.checkpoints.Merge(spans.Valued{Key: kr, Value: u})
+ })
clampedRanges := utils.IntersectAll(ranges, utils.CloneSlice(c.taskRange))
for _, r := range clampedRanges {
r := r
workers.ApplyOnErrorGroup(eg, func() (e error) {
- defer c.recordTimeCost("get regions in range", zap.Uint64("checkpoint", rst.TS))()
+ defer c.recordTimeCost("get regions in range")()
defer utils.PanicToErr(&e)
return c.GetCheckpointInRange(cx, r.StartKey, r.EndKey, collector)
})
@@ -214,121 +158,47 @@ func (c *CheckpointAdvancer) tryAdvance(ctx context.Context, rst RangesSharesTS)
return err
}
- result, err := collector.Finish(ctx)
+ _, err = collector.Finish(ctx)
if err != nil {
return err
}
- fr := result.FailureSubRanges
- if len(fr) != 0 {
- log.Debug("failure regions collected", zap.Int("size", len(fr)))
- c.cache.InsertRanges(RangesSharesTS{
- TS: rst.TS,
- Ranges: fr,
- })
- }
return nil
}
-// CalculateGlobalCheckpointLight tries to advance the global checkpoint by the cache.
-func (c *CheckpointAdvancer) CalculateGlobalCheckpointLight(ctx context.Context) (uint64, error) {
- log.Info("[log backup advancer hint] advancer with cache: current tree", zap.Stringer("ct", c.cache))
- rsts := c.cache.PopRangesWithGapGT(config.DefaultTryAdvanceThreshold)
- if len(rsts) == 0 {
- return 0, nil
+func tsoBefore(n time.Duration) uint64 {
+ now := time.Now()
+ return oracle.ComposeTS(now.UnixMilli()-n.Milliseconds(), 0)
+}
+
+func (c *CheckpointAdvancer) CalculateGlobalCheckpointLight(ctx context.Context, threshold time.Duration) (uint64, error) {
+ var targets []spans.Valued
+ c.checkpoints.TraverseValuesLessThan(tsoBefore(threshold), func(v spans.Valued) bool {
+ targets = append(targets, v)
+ return true
+ })
+ if len(targets) == 0 {
+ c.checkpointsMu.Lock()
+ defer c.checkpointsMu.Unlock()
+ return c.checkpoints.MinValue(), nil
}
- samples := rsts
- if len(rsts) > 3 {
- samples = rsts[:3]
+ samples := targets
+ if len(targets) > 3 {
+ samples = targets[:3]
}
for _, sample := range samples {
- log.Info("[log backup advancer hint] sample range.", zap.Object("range", sample.Zap()), zap.Int("total-len", len(rsts)))
+ log.Info("[log backup advancer hint] sample range.", zap.Stringer("sample", sample), zap.Int("total-len", len(targets)))
}
- workers := utils.NewWorkerPool(uint(config.DefaultMaxConcurrencyAdvance), "regions")
- eg, cx := errgroup.WithContext(ctx)
- for _, rst := range rsts {
- rst := rst
- workers.ApplyOnErrorGroup(eg, func() (err error) {
- return c.tryAdvance(cx, *rst)
- })
- }
- err := eg.Wait()
+ err := c.tryAdvance(ctx, len(targets), func(i int) kv.KeyRange { return targets[i].Key })
if err != nil {
return 0, err
}
- ts := c.cache.CheckpointTS()
+ c.checkpointsMu.Lock()
+ ts := c.checkpoints.MinValue()
+ c.checkpointsMu.Unlock()
return ts, nil
}
-// CalculateGlobalCheckpoint calculates the global checkpoint, which won't use the cache.
-func (c *CheckpointAdvancer) CalculateGlobalCheckpoint(ctx context.Context) (uint64, error) {
- var (
- cp = uint64(math.MaxInt64)
- thisRun []kv.KeyRange = c.taskRange
- nextRun []kv.KeyRange
- )
- defer c.recordTimeCost("record all")
- for {
- coll := NewClusterCollector(ctx, c.env)
- coll.setOnSuccessHook(c.cache.InsertRange)
- for _, u := range thisRun {
- err := c.GetCheckpointInRange(ctx, u.StartKey, u.EndKey, coll)
- if err != nil {
- return 0, err
- }
- }
- result, err := coll.Finish(ctx)
- if err != nil {
- return 0, err
- }
- log.Debug("full: a run finished", zap.Any("checkpoint", result))
-
- nextRun = append(nextRun, result.FailureSubRanges...)
- if cp > result.Checkpoint {
- cp = result.Checkpoint
- }
- if len(nextRun) == 0 {
- return cp, nil
- }
- thisRun = nextRun
- nextRun = nil
- log.Debug("backoffing with subranges", zap.Int("subranges", len(thisRun)))
- time.Sleep(c.cfg.BackoffTime)
- }
-}
-
-// CollapseRanges collapse ranges overlapping or adjacent.
-// Example:
-// CollapseRanges({[1, 4], [2, 8], [3, 9]}) == {[1, 9]}
-// CollapseRanges({[1, 3], [4, 7], [2, 3]}) == {[1, 3], [4, 7]}
-func CollapseRanges(length int, getRange func(int) kv.KeyRange) []kv.KeyRange {
- frs := make([]kv.KeyRange, 0, length)
- for i := 0; i < length; i++ {
- frs = append(frs, getRange(i))
- }
-
- sort.Slice(frs, func(i, j int) bool {
- return bytes.Compare(frs[i].StartKey, frs[j].StartKey) < 0
- })
-
- result := make([]kv.KeyRange, 0, len(frs))
- i := 0
- for i < len(frs) {
- item := frs[i]
- for {
- i++
- if i >= len(frs) || (len(item.EndKey) != 0 && bytes.Compare(frs[i].StartKey, item.EndKey) > 0) {
- break
- }
- if len(item.EndKey) != 0 && bytes.Compare(item.EndKey, frs[i].EndKey) < 0 || len(frs[i].EndKey) == 0 {
- item.EndKey = frs[i].EndKey
- }
- }
- result = append(result, item)
- }
- return result
-}
-
func (c *CheckpointAdvancer) consumeAllTask(ctx context.Context, ch <-chan TaskEvent) error {
for {
select {
@@ -414,24 +284,42 @@ func (c *CheckpointAdvancer) onTaskEvent(ctx context.Context, e TaskEvent) error
case EventAdd:
utils.LogBackupTaskCountInc()
c.task = e.Info
- c.taskRange = CollapseRanges(len(e.Ranges), func(i int) kv.KeyRange { return e.Ranges[i] })
+ c.taskRange = spans.Collapse(len(e.Ranges), func(i int) kv.KeyRange { return e.Ranges[i] })
+ c.checkpoints = spans.Sorted(spans.NewFullWith(e.Ranges, 0))
+ c.lastCheckpoint = e.Info.StartTs
log.Info("added event", zap.Stringer("task", e.Info), zap.Stringer("ranges", logutil.StringifyKeys(c.taskRange)))
case EventDel:
utils.LogBackupTaskCountDec()
c.task = nil
c.taskRange = nil
- c.state = &fullScan{}
+ c.checkpoints = nil
+ // This would be synced by `taskMu`, perhaps we'd better rename that to `tickMu`.
+ // Do the null check because some of test cases won't equip the advancer with subscriber.
+ if c.subscriber != nil {
+ c.subscriber.Clear()
+ }
if err := c.env.ClearV3GlobalCheckpointForTask(ctx, e.Name); err != nil {
log.Warn("failed to clear global checkpoint", logutil.ShortError(err))
}
metrics.LastCheckpoint.DeleteLabelValues(e.Name)
- c.cache.Clear()
case EventErr:
return e.Err
}
return nil
}
+func (c *CheckpointAdvancer) setCheckpoint(cp uint64) bool {
+ if cp < c.lastCheckpoint {
+ log.Warn("failed to update global checkpoint: stale", zap.Uint64("old", c.lastCheckpoint), zap.Uint64("new", cp))
+ return false
+ }
+ if cp <= c.lastCheckpoint {
+ return false
+ }
+ c.lastCheckpoint = cp
+ return true
+}
+
// advanceCheckpointBy advances the checkpoint by a checkpoint getter function.
func (c *CheckpointAdvancer) advanceCheckpointBy(ctx context.Context, getCheckpoint func(context.Context) (uint64, error)) error {
start := time.Now()
@@ -439,79 +327,111 @@ func (c *CheckpointAdvancer) advanceCheckpointBy(ctx context.Context, getCheckpo
if err != nil {
return err
}
- log.Info("get checkpoint", zap.Uint64("old", c.lastCheckpoint), zap.Uint64("new", cp))
- if cp < c.lastCheckpoint {
- log.Warn("failed to update global checkpoint: stale", zap.Uint64("old", c.lastCheckpoint), zap.Uint64("new", cp))
+
+ if c.setCheckpoint(cp) {
+ log.Info("uploading checkpoint for task",
+ zap.Stringer("checkpoint", oracle.GetTimeFromTS(cp)),
+ zap.Uint64("checkpoint", cp),
+ zap.String("task", c.task.Name),
+ zap.Stringer("take", time.Since(start)))
+ metrics.LastCheckpoint.WithLabelValues(c.task.GetName()).Set(float64(c.lastCheckpoint))
}
- if cp <= c.lastCheckpoint {
+ return nil
+}
+
+func (c *CheckpointAdvancer) stopSubscriber() {
+ c.subscriberMu.Lock()
+ defer c.subscriberMu.Unlock()
+ c.subscriber.Drop()
+ c.subscriber = nil
+}
+
+func (c *CheckpointAdvancer) spawnSubscriptionHandler(ctx context.Context) {
+ c.subscriberMu.Lock()
+ defer c.subscriberMu.Unlock()
+ c.subscriber = NewSubscriber(c.env, c.env, WithMasterContext(ctx))
+ es := c.subscriber.Events()
+
+ go func() {
+ for {
+ select {
+ case <-ctx.Done():
+ return
+ case event, ok := <-es:
+ if !ok {
+ return
+ }
+ c.checkpointsMu.Lock()
+ log.Debug("Accepting region flush event.",
+ zap.Stringer("range", logutil.StringifyRange(event.Key)),
+ zap.Uint64("checkpoint", event.Value))
+ c.checkpoints.Merge(event)
+ c.checkpointsMu.Unlock()
+ }
+ }
+ }()
+}
+
+func (c *CheckpointAdvancer) subscribeTick(ctx context.Context) error {
+ if c.subscriber == nil {
return nil
}
+ if err := c.subscriber.UpdateStoreTopology(ctx); err != nil {
+ log.Warn("[log backup advancer] Error when updating store topology.", logutil.ShortError(err))
+ }
+ c.subscriber.HandleErrors(ctx)
+ return c.subscriber.PendingErrors()
+}
- log.Info("uploading checkpoint for task",
- zap.Stringer("checkpoint", oracle.GetTimeFromTS(cp)),
- zap.Uint64("checkpoint", cp),
- zap.String("task", c.task.Name),
- zap.Stringer("take", time.Since(start)))
- if err := c.env.UploadV3GlobalCheckpointForTask(ctx, c.task.Name, cp); err != nil {
+func (c *CheckpointAdvancer) importantTick(ctx context.Context) error {
+ c.checkpointsMu.Lock()
+ c.setCheckpoint(c.checkpoints.MinValue())
+ c.checkpointsMu.Unlock()
+ if err := c.env.UploadV3GlobalCheckpointForTask(ctx, c.task.Name, c.lastCheckpoint); err != nil {
return errors.Annotate(err, "failed to upload global checkpoint")
}
- c.lastCheckpoint = cp
- metrics.LastCheckpoint.WithLabelValues(c.task.GetName()).Set(float64(c.lastCheckpoint))
return nil
}
-func (c *CheckpointAdvancer) onConsistencyCheckTick(s *updateSmallTree) error {
- if s.consistencyCheckTick > 0 {
- s.consistencyCheckTick--
- return nil
+func (c *CheckpointAdvancer) optionalTick(cx context.Context) error {
+ threshold := c.Config().GetDefaultStartPollThreshold()
+ if err := c.subscribeTick(cx); err != nil {
+ log.Warn("[log backup advancer] Subscriber meet error, would polling the checkpoint.", logutil.ShortError(err))
+ threshold = c.Config().GetSubscriberErrorStartPollThreshold()
}
- defer c.recordTimeCost("consistency check")()
- err := c.cache.ConsistencyCheck(c.taskRange)
+
+ err := c.advanceCheckpointBy(cx, func(cx context.Context) (uint64, error) {
+ return c.CalculateGlobalCheckpointLight(cx, threshold)
+ })
if err != nil {
- log.Error("consistency check failed! log backup may lose data! rolling back to full scan for saving.", logutil.ShortError(err))
- c.state = &fullScan{}
return err
}
- log.Debug("consistency check passed.")
- s.consistencyCheckTick = config.DefaultConsistencyCheckTick
return nil
}
func (c *CheckpointAdvancer) tick(ctx context.Context) error {
c.taskMu.Lock()
defer c.taskMu.Unlock()
+ if c.task == nil {
+ log.Debug("No tasks yet, skipping advancing.")
+ return nil
+ }
- switch s := c.state.(type) {
- case *fullScan:
- if s.fullScanTick > 0 {
- s.fullScanTick--
- break
- }
- if c.task == nil {
- log.Debug("No tasks yet, skipping advancing.")
- return nil
- }
- defer func() {
- s.fullScanTick = c.cfg.FullScanTick
- }()
- err := c.advanceCheckpointBy(ctx, c.CalculateGlobalCheckpoint)
- if err != nil {
- return err
- }
+ var errs error
- if c.cfg.AdvancingByCache {
- c.state = &updateSmallTree{}
- }
- case *updateSmallTree:
- if err := c.onConsistencyCheckTick(s); err != nil {
- return err
- }
- err := c.advanceCheckpointBy(ctx, c.CalculateGlobalCheckpointLight)
- if err != nil {
- return err
- }
- default:
- log.Error("Unknown state type, skipping tick", zap.Stringer("type", reflect.TypeOf(c.state)))
+ cx, cancel := context.WithTimeout(ctx, c.Config().TickTimeout())
+ defer cancel()
+ err := c.optionalTick(cx)
+ if err != nil {
+ log.Warn("[log backup advancer] option tick failed.", logutil.ShortError(err))
+ errs = multierr.Append(errs, err)
}
- return nil
+
+ err = c.importantTick(ctx)
+ if err != nil {
+ log.Warn("[log backup advancer] important tick failed.", logutil.ShortError(err))
+ errs = multierr.Append(errs, err)
+ }
+
+ return errs
}
diff --git a/br/pkg/streamhelper/advancer_cliext.go b/br/pkg/streamhelper/advancer_cliext.go
index 611ad3744dfa8..d83e5a6ce1eb7 100644
--- a/br/pkg/streamhelper/advancer_cliext.go
+++ b/br/pkg/streamhelper/advancer_cliext.go
@@ -5,15 +5,19 @@ package streamhelper
import (
"bytes"
"context"
+ "encoding/binary"
"fmt"
"strings"
"github.com/golang/protobuf/proto"
"github.com/pingcap/errors"
backuppb "github.com/pingcap/kvproto/pkg/brpb"
+ "github.com/pingcap/log"
berrors "github.com/pingcap/tidb/br/pkg/errors"
+ "github.com/pingcap/tidb/br/pkg/redact"
"github.com/pingcap/tidb/kv"
clientv3 "go.etcd.io/etcd/client/v3"
+ "go.uber.org/zap"
)
type EventType int
@@ -181,11 +185,43 @@ func (t AdvancerExt) Begin(ctx context.Context, ch chan<- TaskEvent) error {
return nil
}
+func (t AdvancerExt) getGlobalCheckpointForTask(ctx context.Context, taskName string) (uint64, error) {
+ key := GlobalCheckpointOf(taskName)
+ resp, err := t.KV.Get(ctx, key)
+ if err != nil {
+ return 0, err
+ }
+
+ if len(resp.Kvs) == 0 {
+ return 0, nil
+ }
+
+ firstKV := resp.Kvs[0]
+ value := firstKV.Value
+ if len(value) != 8 {
+ return 0, errors.Annotatef(berrors.ErrPiTRMalformedMetadata,
+ "the global checkpoint isn't 64bits (it is %d bytes, value = %s)",
+ len(value),
+ redact.Key(value))
+ }
+
+ return binary.BigEndian.Uint64(value), nil
+}
+
func (t AdvancerExt) UploadV3GlobalCheckpointForTask(ctx context.Context, taskName string, checkpoint uint64) error {
key := GlobalCheckpointOf(taskName)
value := string(encodeUint64(checkpoint))
- _, err := t.KV.Put(ctx, key, value)
+ oldValue, err := t.getGlobalCheckpointForTask(ctx, taskName)
+ if err != nil {
+ return err
+ }
+
+ if checkpoint < oldValue {
+ log.Warn("[log backup advancer] skipping upload global checkpoint", zap.Uint64("old", oldValue), zap.Uint64("new", checkpoint))
+ return nil
+ }
+ _, err = t.KV.Put(ctx, key, value)
if err != nil {
return err
}
diff --git a/br/pkg/streamhelper/advancer_daemon.go b/br/pkg/streamhelper/advancer_daemon.go
index 263d3a761b518..10f43e105ccbe 100644
--- a/br/pkg/streamhelper/advancer_daemon.go
+++ b/br/pkg/streamhelper/advancer_daemon.go
@@ -30,6 +30,7 @@ func (c *CheckpointAdvancer) OnTick(ctx context.Context) (err error) {
func (c *CheckpointAdvancer) OnStart(ctx context.Context) {
metrics.AdvancerOwner.Set(1.0)
c.StartTaskListener(ctx)
+ c.spawnSubscriptionHandler(ctx)
go func() {
<-ctx.Done()
c.onStop()
@@ -43,6 +44,7 @@ func (c *CheckpointAdvancer) Name() string {
func (c *CheckpointAdvancer) onStop() {
metrics.AdvancerOwner.Set(0.0)
+ c.stopSubscriber()
}
func OwnerManagerForLogBackup(ctx context.Context, etcdCli *clientv3.Client) owner.Manager {
diff --git a/br/pkg/streamhelper/advancer_env.go b/br/pkg/streamhelper/advancer_env.go
index 181d8933449d4..cf27fda7d5c5b 100644
--- a/br/pkg/streamhelper/advancer_env.go
+++ b/br/pkg/streamhelper/advancer_env.go
@@ -9,6 +9,7 @@ import (
logbackup "github.com/pingcap/kvproto/pkg/logbackuppb"
"github.com/pingcap/tidb/br/pkg/utils"
"github.com/pingcap/tidb/config"
+ "github.com/pingcap/tidb/util/engine"
pd "github.com/tikv/pd/client"
clientv3 "go.etcd.io/etcd/client/v3"
"google.golang.org/grpc"
@@ -18,7 +19,7 @@ import (
// Env is the interface required by the advancer.
type Env interface {
// The region scanner provides the region information.
- RegionScanner
+ TiKVClusterMeta
// LogBackupService connects to the TiKV, so we can collect the region checkpoints.
LogBackupService
// StreamMeta connects to the metadata service (normally PD).
@@ -48,6 +49,23 @@ func (c PDRegionScanner) RegionScan(ctx context.Context, key []byte, endKey []by
return rls, nil
}
+func (c PDRegionScanner) Stores(ctx context.Context) ([]Store, error) {
+ res, err := c.Client.GetAllStores(ctx, pd.WithExcludeTombstone())
+ if err != nil {
+ return nil, err
+ }
+ r := make([]Store, 0, len(res))
+ for _, re := range res {
+ if !engine.IsTiFlash(re) {
+ r = append(r, Store{
+ BootAt: uint64(re.StartTimestamp),
+ ID: re.GetId(),
+ })
+ }
+ }
+ return r, nil
+}
+
// clusterEnv is the environment for running in the real cluster.
type clusterEnv struct {
clis *utils.StoreManager
diff --git a/br/pkg/streamhelper/advancer_test.go b/br/pkg/streamhelper/advancer_test.go
index aeaadf820af7a..7dd4c71d35b9c 100644
--- a/br/pkg/streamhelper/advancer_test.go
+++ b/br/pkg/streamhelper/advancer_test.go
@@ -9,6 +9,8 @@ import (
"testing"
"time"
+ "github.com/pingcap/errors"
+ logbackup "github.com/pingcap/kvproto/pkg/logbackuppb"
"github.com/pingcap/log"
"github.com/pingcap/tidb/br/pkg/streamhelper"
"github.com/pingcap/tidb/br/pkg/streamhelper/config"
@@ -51,9 +53,6 @@ func TestTick(t *testing.T) {
env := &testEnv{fakeCluster: c, testCtx: t}
adv := streamhelper.NewCheckpointAdvancer(env)
adv.StartTaskListener(ctx)
- adv.UpdateConfigWith(func(cac *config.Config) {
- cac.FullScanTick = 0
- })
require.NoError(t, adv.OnTick(ctx))
for i := 0; i < 5; i++ {
cp := c.advanceCheckpoints()
@@ -76,9 +75,6 @@ func TestWithFailure(t *testing.T) {
env := &testEnv{fakeCluster: c, testCtx: t}
adv := streamhelper.NewCheckpointAdvancer(env)
adv.StartTaskListener(ctx)
- adv.UpdateConfigWith(func(cac *config.Config) {
- cac.FullScanTick = 0
- })
require.NoError(t, adv.OnTick(ctx))
cp := c.advanceCheckpoints()
@@ -226,3 +222,36 @@ func TestTaskRangesWithSplit(t *testing.T) {
shouldFinishInTime(t, 10*time.Second, "second advancing", func() { require.NoError(t, adv.OnTick(ctx)) })
require.Greater(t, env.getCheckpoint(), fstCheckpoint)
}
+
+func TestBlocked(t *testing.T) {
+ log.SetLevel(zapcore.DebugLevel)
+ c := createFakeCluster(t, 4, true)
+ ctx := context.Background()
+ req := require.New(t)
+ c.splitAndScatter("0012", "0034", "0048")
+ marked := false
+ for _, s := range c.stores {
+ s.clientMu.Lock()
+ s.onGetRegionCheckpoint = func(glftrr *logbackup.GetLastFlushTSOfRegionRequest) error {
+ // blocking the thread.
+ // this may happen when TiKV goes down or too busy.
+ <-(chan struct{})(nil)
+ return nil
+ }
+ s.clientMu.Unlock()
+ marked = true
+ }
+ req.True(marked, "failed to mark the cluster: ")
+ env := &testEnv{fakeCluster: c, testCtx: t}
+ adv := streamhelper.NewCheckpointAdvancer(env)
+ adv.StartTaskListener(ctx)
+ adv.UpdateConfigWith(func(c *config.Config) {
+ // ... So the tick timeout would be 100ms
+ c.TickDuration = 10 * time.Millisecond
+ })
+ var err error
+ shouldFinishInTime(t, time.Second, "ticking", func() {
+ err = adv.OnTick(ctx)
+ })
+ req.ErrorIs(errors.Cause(err), context.DeadlineExceeded)
+}
diff --git a/br/pkg/streamhelper/basic_lib_for_test.go b/br/pkg/streamhelper/basic_lib_for_test.go
index 9e438c32f0f1f..1dff77dd72864 100644
--- a/br/pkg/streamhelper/basic_lib_for_test.go
+++ b/br/pkg/streamhelper/basic_lib_for_test.go
@@ -7,6 +7,7 @@ import (
"context"
"encoding/hex"
"fmt"
+ "io"
"math"
"math/rand"
"sort"
@@ -21,10 +22,15 @@ import (
"github.com/pingcap/kvproto/pkg/metapb"
"github.com/pingcap/log"
"github.com/pingcap/tidb/br/pkg/streamhelper"
+ "github.com/pingcap/tidb/br/pkg/streamhelper/spans"
"github.com/pingcap/tidb/br/pkg/utils"
"github.com/pingcap/tidb/kv"
+ "github.com/pingcap/tidb/util/codec"
"go.uber.org/zap"
"google.golang.org/grpc"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/metadata"
+ "google.golang.org/grpc/status"
)
type flushSimulator struct {
@@ -58,7 +64,7 @@ func (c *flushSimulator) fork() flushSimulator {
}
type region struct {
- rng kv.KeyRange
+ rng spans.Span
leader uint64
epoch uint64
id uint64
@@ -70,6 +76,12 @@ type region struct {
type fakeStore struct {
id uint64
regions map[uint64]*region
+
+ clientMu sync.Mutex
+ supportsSub bool
+ bootstrapAt uint64
+ fsub func(logbackup.SubscribeFlushEventResponse)
+ onGetRegionCheckpoint func(*logbackup.GetLastFlushTSOfRegionRequest) error
}
type fakeCluster struct {
@@ -82,16 +94,6 @@ type fakeCluster struct {
onGetClient func(uint64) error
}
-func overlaps(a, b kv.KeyRange) bool {
- if len(b.EndKey) == 0 {
- return len(a.EndKey) == 0 || bytes.Compare(a.EndKey, b.StartKey) > 0
- }
- if len(a.EndKey) == 0 {
- return len(b.EndKey) == 0 || bytes.Compare(b.EndKey, a.StartKey) > 0
- }
- return bytes.Compare(a.StartKey, b.EndKey) < 0 && bytes.Compare(b.StartKey, a.EndKey) < 0
-}
-
func (r *region) splitAt(newID uint64, k string) *region {
newRegion := ®ion{
rng: kv.KeyRange{StartKey: []byte(k), EndKey: r.rng.EndKey},
@@ -111,7 +113,84 @@ func (r *region) flush() {
r.fsim.flushedEpoch.Store(r.epoch)
}
+type trivialFlushStream struct {
+ c <-chan logbackup.SubscribeFlushEventResponse
+ cx context.Context
+}
+
+func (t trivialFlushStream) Recv() (*logbackup.SubscribeFlushEventResponse, error) {
+ select {
+ case item, ok := <-t.c:
+ if !ok {
+ return nil, io.EOF
+ }
+ return &item, nil
+ case <-t.cx.Done():
+ select {
+ case item, ok := <-t.c:
+ if !ok {
+ return nil, io.EOF
+ }
+ return &item, nil
+ default:
+ }
+ return nil, status.Error(codes.Canceled, t.cx.Err().Error())
+ }
+}
+
+func (t trivialFlushStream) Header() (metadata.MD, error) {
+ return make(metadata.MD), nil
+}
+
+func (t trivialFlushStream) Trailer() metadata.MD {
+ return make(metadata.MD)
+}
+
+func (t trivialFlushStream) CloseSend() error {
+ return nil
+}
+
+func (t trivialFlushStream) Context() context.Context {
+ return t.cx
+}
+
+func (t trivialFlushStream) SendMsg(m interface{}) error {
+ return nil
+}
+
+func (t trivialFlushStream) RecvMsg(m interface{}) error {
+ return nil
+}
+
+func (f *fakeStore) SubscribeFlushEvent(ctx context.Context, in *logbackup.SubscribeFlushEventRequest, opts ...grpc.CallOption) (logbackup.LogBackup_SubscribeFlushEventClient, error) {
+ f.clientMu.Lock()
+ defer f.clientMu.Unlock()
+ if !f.supportsSub {
+ return nil, status.Error(codes.Unimplemented, "meow?")
+ }
+
+ ch := make(chan logbackup.SubscribeFlushEventResponse, 1024)
+ f.fsub = func(glftrr logbackup.SubscribeFlushEventResponse) {
+ ch <- glftrr
+ }
+ return trivialFlushStream{c: ch, cx: ctx}, nil
+}
+
+func (f *fakeStore) SetSupportFlushSub(b bool) {
+ f.clientMu.Lock()
+ defer f.clientMu.Unlock()
+
+ f.bootstrapAt += 1
+ f.supportsSub = b
+}
+
func (f *fakeStore) GetLastFlushTSOfRegion(ctx context.Context, in *logbackup.GetLastFlushTSOfRegionRequest, opts ...grpc.CallOption) (*logbackup.GetLastFlushTSOfRegionResponse, error) {
+ if f.onGetRegionCheckpoint != nil {
+ err := f.onGetRegionCheckpoint(in)
+ if err != nil {
+ return nil, err
+ }
+ }
resp := &logbackup.GetLastFlushTSOfRegionResponse{
Checkpoints: []*logbackup.RegionCheckpoint{},
}
@@ -174,7 +253,7 @@ func (f *fakeCluster) RegionScan(ctx context.Context, key []byte, endKey []byte,
result := make([]streamhelper.RegionWithLeader, 0, limit)
for _, region := range f.regions {
- if overlaps(kv.KeyRange{StartKey: key, EndKey: endKey}, region.rng) && len(result) < limit {
+ if spans.Overlaps(kv.KeyRange{StartKey: key, EndKey: endKey}, region.rng) && len(result) < limit {
regionInfo := streamhelper.RegionWithLeader{
Region: &metapb.Region{
Id: region.id,
@@ -210,6 +289,15 @@ func (f *fakeCluster) GetLogBackupClient(ctx context.Context, storeID uint64) (l
return cli, nil
}
+// Stores returns the store metadata from the cluster.
+func (f *fakeCluster) Stores(ctx context.Context) ([]streamhelper.Store, error) {
+ r := make([]streamhelper.Store, 0, len(f.stores))
+ for id, s := range f.stores {
+ r = append(r, streamhelper.Store{ID: id, BootAt: s.bootstrapAt})
+ }
+ return r, nil
+}
+
func (f *fakeCluster) findRegionById(rid uint64) *region {
for _, r := range f.regions {
if r.id == rid {
@@ -304,6 +392,34 @@ func (f *fakeCluster) splitAndScatter(keys ...string) {
}
}
+// Remove a store.
+// Note: this won't add new peer for regions from the store.
+func (f *fakeCluster) removeStore(id uint64) {
+ f.mu.Lock()
+ defer f.mu.Unlock()
+
+ s := f.stores[id]
+ for _, r := range s.regions {
+ if r.leader == id {
+ f.updateRegion(r.id, func(r *region) {
+ ps := f.findPeers(r.id)
+ for _, p := range ps {
+ if p != r.leader {
+ log.Info("remove store: transforming leader",
+ zap.Uint64("region", r.id),
+ zap.Uint64("new-leader", p),
+ zap.Uint64("old-leader", r.leader))
+ r.leader = p
+ break
+ }
+ }
+ })
+ }
+ }
+
+ delete(f.stores, id)
+}
+
// a stub once in the future we want to make different stores hold different region instances.
func (f *fakeCluster) updateRegion(rid uint64, mut func(*region)) {
r := f.findRegionById(rid)
@@ -362,7 +478,7 @@ func createFakeCluster(t *testing.T, n int, simEnabled bool) *fakeCluster {
}
func (r *region) String() string {
- return fmt.Sprintf("%d(%d):[%s,%s);%dL%dF%d",
+ return fmt.Sprintf("%d(%d):[%s, %s);%dL%dF%d",
r.id,
r.epoch,
hex.EncodeToString(r.rng.StartKey),
@@ -382,14 +498,24 @@ func (f *fakeStore) String() string {
}
func (f *fakeCluster) flushAll() {
- for _, r := range f.regions {
+ for _, r := range f.stores {
r.flush()
}
}
func (f *fakeCluster) flushAllExcept(keys ...string) {
+ for _, s := range f.stores {
+ s.flushExcept(keys...)
+ }
+}
+
+func (f *fakeStore) flushExcept(keys ...string) {
+ resp := make([]*logbackup.FlushEvent, 0, len(f.regions))
outer:
for _, r := range f.regions {
+ if r.leader != f.id {
+ continue
+ }
// Note: can we make it faster?
for _, key := range keys {
if utils.CompareBytesExt(r.rng.StartKey, false, []byte(key), false) <= 0 &&
@@ -397,16 +523,25 @@ outer:
continue outer
}
}
- r.flush()
- }
-}
-
-func (f *fakeStore) flush() {
- for _, r := range f.regions {
if r.leader == f.id {
r.flush()
+ resp = append(resp, &logbackup.FlushEvent{
+ StartKey: codec.EncodeBytes(nil, r.rng.StartKey),
+ EndKey: codec.EncodeBytes(nil, r.rng.EndKey),
+ Checkpoint: r.checkpoint.Load(),
+ })
}
}
+
+ if f.fsub != nil {
+ f.fsub(logbackup.SubscribeFlushEventResponse{
+ Events: resp,
+ })
+ }
+}
+
+func (f *fakeStore) flush() {
+ f.flushExcept()
}
func (f *fakeCluster) String() string {
diff --git a/br/pkg/streamhelper/collector.go b/br/pkg/streamhelper/collector.go
index ad53acb03b577..bc9285e05e8a8 100644
--- a/br/pkg/streamhelper/collector.go
+++ b/br/pkg/streamhelper/collector.go
@@ -266,13 +266,13 @@ func NewClusterCollector(ctx context.Context, srv LogBackupService) *clusterColl
}
}
-// setOnSuccessHook sets the hook when getting checkpoint of some region.
-func (c *clusterCollector) setOnSuccessHook(hook onSuccessHook) {
+// SetOnSuccessHook sets the hook when getting checkpoint of some region.
+func (c *clusterCollector) SetOnSuccessHook(hook onSuccessHook) {
c.onSuccess = hook
}
-// collectRegion adds a region to the collector.
-func (c *clusterCollector) collectRegion(r RegionWithLeader) error {
+// CollectRegion adds a region to the collector.
+func (c *clusterCollector) CollectRegion(r RegionWithLeader) error {
c.mu.Lock()
defer c.mu.Unlock()
if c.masterCtx.Err() != nil {
diff --git a/br/pkg/streamhelper/config/advancer_conf.go b/br/pkg/streamhelper/config/advancer_conf.go
index 548ea2472b172..1440a81f932f9 100644
--- a/br/pkg/streamhelper/config/advancer_conf.go
+++ b/br/pkg/streamhelper/config/advancer_conf.go
@@ -9,13 +9,14 @@ import (
)
const (
- flagBackoffTime = "backoff-time"
- flagTickInterval = "tick-interval"
- flagFullScanDiffTick = "full-scan-tick"
- flagAdvancingByCache = "advancing-by-cache"
+ flagBackoffTime = "backoff-time"
+ flagTickInterval = "tick-interval"
+ flagFullScanDiffTick = "full-scan-tick"
+ flagAdvancingByCache = "advancing-by-cache"
+ flagTryAdvanceThreshold = "try-advance-threshold"
DefaultConsistencyCheckTick = 5
- DefaultTryAdvanceThreshold = 108 * time.Second
+ DefaultTryAdvanceThreshold = 4 * time.Minute
DefaultBackOffTime = 5 * time.Second
DefaultTickInterval = 12 * time.Second
DefaultFullScanTick = 4
@@ -31,27 +32,21 @@ type Config struct {
BackoffTime time.Duration `toml:"backoff-time" json:"backoff-time"`
// The gap between calculating checkpoints.
TickDuration time.Duration `toml:"tick-interval" json:"tick-interval"`
- // The backoff time of full scan.
- FullScanTick int `toml:"full-scan-tick" json:"full-scan-tick"`
-
- // Whether enable the optimization -- use a cached heap to advancing the global checkpoint.
- // This may reduce the gap of checkpoint but may cost more CPU.
- AdvancingByCache bool `toml:"advancing-by-cache" json:"advancing-by-cache"`
+ // The threshold for polling TiKV for checkpoint of some range.
+ TryAdvanceThreshold time.Duration `toml:"try-advance-threshold" json:"try-advance-threshold"`
}
func DefineFlagsForCheckpointAdvancerConfig(f *pflag.FlagSet) {
f.Duration(flagBackoffTime, DefaultBackOffTime, "The gap between two retries.")
f.Duration(flagTickInterval, DefaultTickInterval, "From how long we trigger the tick (advancing the checkpoint).")
- f.Bool(flagAdvancingByCache, DefaultAdvanceByCache, "Whether enable the optimization -- use a cached heap to advancing the global checkpoint.")
- f.Int(flagFullScanDiffTick, DefaultFullScanTick, "The backoff of full scan.")
+ f.Duration(flagTryAdvanceThreshold, DefaultTryAdvanceThreshold, "If the checkpoint lag is greater than how long, we would try to poll TiKV for checkpoints.")
}
func Default() Config {
return Config{
- BackoffTime: DefaultBackOffTime,
- TickDuration: DefaultTickInterval,
- FullScanTick: DefaultFullScanTick,
- AdvancingByCache: DefaultAdvanceByCache,
+ BackoffTime: DefaultBackOffTime,
+ TickDuration: DefaultTickInterval,
+ TryAdvanceThreshold: DefaultTryAdvanceThreshold,
}
}
@@ -65,13 +60,34 @@ func (conf *Config) GetFromFlags(f *pflag.FlagSet) error {
if err != nil {
return err
}
- conf.FullScanTick, err = f.GetInt(flagFullScanDiffTick)
- if err != nil {
- return err
- }
- conf.AdvancingByCache, err = f.GetBool(flagAdvancingByCache)
+ conf.TryAdvanceThreshold, err = f.GetDuration(flagTryAdvanceThreshold)
if err != nil {
return err
}
return nil
}
+
+// GetDefaultStartPollThreshold returns the threshold of begin polling the checkpoint
+// in the normal condition (the subscribe manager is available.)
+func (conf Config) GetDefaultStartPollThreshold() time.Duration {
+ return conf.TryAdvanceThreshold
+}
+
+// GetSubscriberErrorStartPollThreshold returns the threshold of begin polling the checkpoint
+// when the subscriber meets error.
+func (conf Config) GetSubscriberErrorStartPollThreshold() time.Duration {
+ // 0.45x of the origin threshold.
+ // The origin threshold is 0.8x the target RPO,
+ // and the default flush interval is about 0.5x the target RPO.
+ // So the relationship between the RPO and the threshold is:
+ // When subscription is all available, it is 1.7x of the flush interval (which allow us to save in abnormal condition).
+ // When some of subscriptions are not available, it is 0.75x of the flush interval.
+ // NOTE: can we make subscription better and give up the poll model?
+ return conf.TryAdvanceThreshold * 9 / 20
+}
+
+// TickTimeout returns the max duration for each tick.
+func (conf Config) TickTimeout() time.Duration {
+ // If a tick blocks longer than the interval of ticking, we may need to break it and retry.
+ return conf.TickDuration
+}
diff --git a/br/pkg/streamhelper/flush_subscriber.go b/br/pkg/streamhelper/flush_subscriber.go
new file mode 100644
index 0000000000000..70cd4d8e4501d
--- /dev/null
+++ b/br/pkg/streamhelper/flush_subscriber.go
@@ -0,0 +1,329 @@
+// Copyright 2022 PingCAP, Inc. Licensed under Apache-2.0.
+
+package streamhelper
+
+import (
+ "context"
+ "io"
+ "strconv"
+ "sync"
+ "time"
+
+ "github.com/google/uuid"
+ "github.com/pingcap/errors"
+ logbackup "github.com/pingcap/kvproto/pkg/logbackuppb"
+ "github.com/pingcap/log"
+ "github.com/pingcap/tidb/br/pkg/logutil"
+ "github.com/pingcap/tidb/br/pkg/streamhelper/spans"
+ "github.com/pingcap/tidb/metrics"
+ "github.com/pingcap/tidb/util/codec"
+ "go.uber.org/multierr"
+ "go.uber.org/zap"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
+)
+
+// FlushSubscriber maintains the state of subscribing to the cluster.
+type FlushSubscriber struct {
+ dialer LogBackupService
+ cluster TiKVClusterMeta
+
+ // Current connections.
+ subscriptions map[uint64]*subscription
+ // The output channel.
+ eventsTunnel chan spans.Valued
+ // The background context for subscribes.
+ masterCtx context.Context
+}
+
+// SubscriberConfig is a config which cloud be applied into the subscriber.
+type SubscriberConfig func(*FlushSubscriber)
+
+// WithMasterContext sets the "master context" for the subscriber,
+// that context would be the "background" context for every subtasks created by the subscription manager.
+func WithMasterContext(ctx context.Context) SubscriberConfig {
+ return func(fs *FlushSubscriber) { fs.masterCtx = ctx }
+}
+
+// NewSubscriber creates a new subscriber via the environment and optional configs.
+func NewSubscriber(dialer LogBackupService, cluster TiKVClusterMeta, config ...SubscriberConfig) *FlushSubscriber {
+ subs := &FlushSubscriber{
+ dialer: dialer,
+ cluster: cluster,
+
+ subscriptions: map[uint64]*subscription{},
+ eventsTunnel: make(chan spans.Valued, 1024),
+ masterCtx: context.Background(),
+ }
+
+ for _, c := range config {
+ c(subs)
+ }
+
+ return subs
+}
+
+// UpdateStoreTopology fetches the current store topology and try to adapt the subscription state with it.
+func (f *FlushSubscriber) UpdateStoreTopology(ctx context.Context) error {
+ stores, err := f.cluster.Stores(ctx)
+ if err != nil {
+ return errors.Annotate(err, "failed to get store list")
+ }
+
+ storeSet := map[uint64]struct{}{}
+ for _, store := range stores {
+ sub, ok := f.subscriptions[store.ID]
+ if !ok {
+ f.addSubscription(ctx, store)
+ f.subscriptions[store.ID].connect(f.masterCtx, f.dialer)
+ } else if sub.storeBootAt != store.BootAt {
+ sub.storeBootAt = store.BootAt
+ sub.connect(f.masterCtx, f.dialer)
+ }
+ storeSet[store.ID] = struct{}{}
+ }
+
+ for id := range f.subscriptions {
+ _, ok := storeSet[id]
+ if !ok {
+ f.removeSubscription(id)
+ }
+ }
+ return nil
+}
+
+// Clear clears all the subscriptions.
+func (f *FlushSubscriber) Clear() {
+ log.Info("[log backup flush subscriber] Clearing.")
+ for id := range f.subscriptions {
+ f.removeSubscription(id)
+ }
+}
+
+// Drop terminates the lifetime of the subscriber.
+// This subscriber would be no more usable.
+func (f *FlushSubscriber) Drop() {
+ f.Clear()
+ close(f.eventsTunnel)
+}
+
+// HandleErrors execute the handlers over all pending errors.
+// Note that the handler may cannot handle the pending errors, at that time,
+// you can fetch the errors via `PendingErrors` call.
+func (f *FlushSubscriber) HandleErrors(ctx context.Context) {
+ for id, sub := range f.subscriptions {
+ err := sub.loadError()
+ if err != nil {
+ retry := f.canBeRetried(err)
+ log.Warn("[log backup flush subscriber] Meet error.", logutil.ShortError(err), zap.Bool("can-retry?", retry), zap.Uint64("store", id))
+ if retry {
+ sub.connect(f.masterCtx, f.dialer)
+ }
+ }
+ }
+}
+
+// Events returns the output channel of the events.
+func (f *FlushSubscriber) Events() <-chan spans.Valued {
+ return f.eventsTunnel
+}
+
+type eventStream = logbackup.LogBackup_SubscribeFlushEventClient
+
+type joinHandle <-chan struct{}
+
+func (jh joinHandle) WaitTimeOut(dur time.Duration) {
+ var t <-chan time.Time
+ if dur > 0 {
+ t = time.After(dur)
+ }
+ select {
+ case <-jh:
+ case <-t:
+ log.Warn("join handle timed out.")
+ }
+}
+
+func spawnJoinable(f func()) joinHandle {
+ c := make(chan struct{})
+ go func() {
+ defer close(c)
+ f()
+ }()
+ return c
+}
+
+// subscription is the state of subscription of one store.
+// initially, it is IDLE, where cancel == nil.
+// once `connect` called, it goto CONNECTED, where cancel != nil and err == nil.
+// once some error (both foreground or background) happens, it goto ERROR, where err != nil.
+type subscription struct {
+ // the handle to cancel the worker goroutine.
+ cancel context.CancelFunc
+ // the handle to wait until the worker goroutine exits.
+ background joinHandle
+ errMu sync.Mutex
+ err error
+
+ // Immutable state.
+ storeID uint64
+ // We record start bootstrap time and once a store restarts
+ // we need to try reconnect even there is a error cannot be retry.
+ storeBootAt uint64
+ output chan<- spans.Valued
+}
+
+func (s *subscription) emitError(err error) {
+ s.errMu.Lock()
+ defer s.errMu.Unlock()
+
+ s.err = err
+}
+
+func (s *subscription) loadError() error {
+ s.errMu.Lock()
+ defer s.errMu.Unlock()
+
+ return s.err
+}
+
+func (s *subscription) clearError() {
+ s.errMu.Lock()
+ defer s.errMu.Unlock()
+
+ s.err = nil
+}
+
+func newSubscription(toStore Store, output chan<- spans.Valued) *subscription {
+ return &subscription{
+ storeID: toStore.ID,
+ storeBootAt: toStore.BootAt,
+ output: output,
+ }
+}
+
+func (s *subscription) connect(ctx context.Context, dialer LogBackupService) {
+ err := s.doConnect(ctx, dialer)
+ if err != nil {
+ s.emitError(err)
+ }
+}
+
+func (s *subscription) doConnect(ctx context.Context, dialer LogBackupService) error {
+ log.Info("[log backup subscription manager] Adding subscription.", zap.Uint64("store", s.storeID), zap.Uint64("boot", s.storeBootAt))
+ // We should shutdown the background task firstly.
+ // Once it yields some error during shuting down, the error won't be brought to next run.
+ s.close()
+ s.clearError()
+
+ c, err := dialer.GetLogBackupClient(ctx, s.storeID)
+ if err != nil {
+ return errors.Annotate(err, "failed to get log backup client")
+ }
+ cx, cancel := context.WithCancel(ctx)
+ cli, err := c.SubscribeFlushEvent(cx, &logbackup.SubscribeFlushEventRequest{
+ ClientId: uuid.NewString(),
+ })
+ if err != nil {
+ cancel()
+ return errors.Annotate(err, "failed to subscribe events")
+ }
+ s.cancel = cancel
+ s.background = spawnJoinable(func() { s.listenOver(cli) })
+ return nil
+}
+
+func (s *subscription) close() {
+ if s.cancel != nil {
+ s.cancel()
+ s.background.WaitTimeOut(1 * time.Minute)
+ }
+ // HACK: don't close the internal channel here,
+ // because it is a ever-sharing channel.
+}
+
+func (s *subscription) listenOver(cli eventStream) {
+ storeID := s.storeID
+ log.Info("[log backup flush subscriber] Listen starting.", zap.Uint64("store", storeID))
+ for {
+ // Shall we use RecvMsg for better performance?
+ // Note that the spans.Full requires the input slice be immutable.
+ msg, err := cli.Recv()
+ if err != nil {
+ log.Info("[log backup flush subscriber] Listen stopped.", zap.Uint64("store", storeID), logutil.ShortError(err))
+ if err == io.EOF || err == context.Canceled || status.Code(err) == codes.Canceled {
+ return
+ }
+ s.emitError(errors.Annotatef(err, "while receiving from store id %d", storeID))
+ return
+ }
+
+ for _, m := range msg.Events {
+ start, err := decodeKey(m.StartKey)
+ if err != nil {
+ log.Warn("start key not encoded, skipping", logutil.Key("event", m.StartKey), logutil.ShortError(err))
+ continue
+ }
+ end, err := decodeKey(m.EndKey)
+ if err != nil {
+ log.Warn("end key not encoded, skipping", logutil.Key("event", m.EndKey), logutil.ShortError(err))
+ continue
+ }
+ s.output <- spans.Valued{
+ Key: spans.Span{
+ StartKey: start,
+ EndKey: end,
+ },
+ Value: m.Checkpoint,
+ }
+ }
+ metrics.RegionCheckpointSubscriptionEvent.WithLabelValues(strconv.Itoa(int(storeID))).Add(float64(len(msg.Events)))
+ }
+}
+
+func (f *FlushSubscriber) addSubscription(ctx context.Context, toStore Store) {
+ f.subscriptions[toStore.ID] = newSubscription(toStore, f.eventsTunnel)
+}
+
+func (f *FlushSubscriber) removeSubscription(toStore uint64) {
+ subs, ok := f.subscriptions[toStore]
+ if ok {
+ log.Info("[log backup subscription manager] Removing subscription.", zap.Uint64("store", toStore))
+ subs.close()
+ delete(f.subscriptions, toStore)
+ }
+}
+
+// decodeKey decodes the key from TiKV, because the region range is encoded in TiKV.
+func decodeKey(key []byte) ([]byte, error) {
+ if len(key) == 0 {
+ return key, nil
+ }
+ // Ignore the timestamp...
+ _, data, err := codec.DecodeBytes(key, nil)
+ if err != nil {
+ return key, err
+ }
+ return data, err
+}
+
+func (f *FlushSubscriber) canBeRetried(err error) bool {
+ for _, e := range multierr.Errors(errors.Cause(err)) {
+ s := status.Convert(e)
+ // Is there any other error cannot be retried?
+ if s.Code() == codes.Unimplemented {
+ return false
+ }
+ }
+ return true
+}
+
+func (f *FlushSubscriber) PendingErrors() error {
+ var allErr error
+ for _, s := range f.subscriptions {
+ if err := s.loadError(); err != nil {
+ allErr = multierr.Append(allErr, errors.Annotatef(err, "store %d has error", s.storeID))
+ }
+ }
+ return allErr
+}
diff --git a/br/pkg/streamhelper/integration_test.go b/br/pkg/streamhelper/integration_test.go
index b3baf433c43f6..f00d15c4b1f30 100644
--- a/br/pkg/streamhelper/integration_test.go
+++ b/br/pkg/streamhelper/integration_test.go
@@ -352,10 +352,12 @@ func testStreamCheckpoint(t *testing.T, metaCli streamhelper.AdvancerExt) {
req.Len(resp.Kvs, 1)
return binary.BigEndian.Uint64(resp.Kvs[0].Value)
}
- metaCli.UploadV3GlobalCheckpointForTask(ctx, task, 5)
+ req.NoError(metaCli.UploadV3GlobalCheckpointForTask(ctx, task, 5))
req.EqualValues(5, getCheckpoint())
- metaCli.UploadV3GlobalCheckpointForTask(ctx, task, 18)
+ req.NoError(metaCli.UploadV3GlobalCheckpointForTask(ctx, task, 18))
req.EqualValues(18, getCheckpoint())
- metaCli.ClearV3GlobalCheckpointForTask(ctx, task)
+ req.NoError(metaCli.UploadV3GlobalCheckpointForTask(ctx, task, 16))
+ req.EqualValues(18, getCheckpoint())
+ req.NoError(metaCli.ClearV3GlobalCheckpointForTask(ctx, task))
req.EqualValues(0, getCheckpoint())
}
diff --git a/br/pkg/streamhelper/regioniter.go b/br/pkg/streamhelper/regioniter.go
index 9dc75e38553fc..239c710db1ba4 100644
--- a/br/pkg/streamhelper/regioniter.go
+++ b/br/pkg/streamhelper/regioniter.go
@@ -28,14 +28,22 @@ type RegionWithLeader struct {
Leader *metapb.Peer
}
-type RegionScanner interface {
+type TiKVClusterMeta interface {
// RegionScan gets a list of regions, starts from the region that contains key.
// Limit limits the maximum number of regions returned.
RegionScan(ctx context.Context, key, endKey []byte, limit int) ([]RegionWithLeader, error)
+
+ // Stores returns the store metadata from the cluster.
+ Stores(ctx context.Context) ([]Store, error)
+}
+
+type Store struct {
+ ID uint64
+ BootAt uint64
}
type RegionIter struct {
- cli RegionScanner
+ cli TiKVClusterMeta
startKey, endKey []byte
currentStartKey []byte
// When the endKey become "", we cannot check whether the scan is done by
@@ -57,7 +65,7 @@ func (r *RegionIter) String() string {
}
// IterateRegion creates an iterater over the region range.
-func IterateRegion(cli RegionScanner, startKey, endKey []byte) *RegionIter {
+func IterateRegion(cli TiKVClusterMeta, startKey, endKey []byte) *RegionIter {
return &RegionIter{
cli: cli,
startKey: startKey,
diff --git a/br/pkg/streamhelper/regioniter_test.go b/br/pkg/streamhelper/regioniter_test.go
index 04ccc04da8a66..1c0d6a28ab0fe 100644
--- a/br/pkg/streamhelper/regioniter_test.go
+++ b/br/pkg/streamhelper/regioniter_test.go
@@ -13,8 +13,11 @@ import (
"github.com/pingcap/tidb/br/pkg/logutil"
"github.com/pingcap/tidb/br/pkg/redact"
"github.com/pingcap/tidb/br/pkg/streamhelper"
+ "github.com/pingcap/tidb/br/pkg/streamhelper/spans"
"github.com/pingcap/tidb/kv"
"github.com/stretchr/testify/require"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
)
type constantRegions []streamhelper.RegionWithLeader
@@ -55,7 +58,7 @@ func (c constantRegions) String() string {
func (c constantRegions) RegionScan(ctx context.Context, key []byte, endKey []byte, limit int) ([]streamhelper.RegionWithLeader, error) {
result := make([]streamhelper.RegionWithLeader, 0, limit)
for _, region := range c {
- if overlaps(kv.KeyRange{StartKey: key, EndKey: endKey}, kv.KeyRange{StartKey: region.Region.StartKey, EndKey: region.Region.EndKey}) && len(result) < limit {
+ if spans.Overlaps(kv.KeyRange{StartKey: key, EndKey: endKey}, kv.KeyRange{StartKey: region.Region.StartKey, EndKey: region.Region.EndKey}) && len(result) < limit {
result = append(result, region)
} else if bytes.Compare(region.Region.StartKey, key) > 0 {
break
@@ -66,6 +69,11 @@ func (c constantRegions) RegionScan(ctx context.Context, key []byte, endKey []by
return result, nil
}
+// Stores returns the store metadata from the cluster.
+func (c constantRegions) Stores(ctx context.Context) ([]streamhelper.Store, error) {
+ return nil, status.Error(codes.Unimplemented, "Unsupported operation")
+}
+
func makeSubrangeRegions(keys ...string) constantRegions {
if len(keys) == 0 {
return nil
diff --git a/br/pkg/streamhelper/spans/BUILD.bazel b/br/pkg/streamhelper/spans/BUILD.bazel
new file mode 100644
index 0000000000000..899f6f6ade6b1
--- /dev/null
+++ b/br/pkg/streamhelper/spans/BUILD.bazel
@@ -0,0 +1,31 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+
+go_library(
+ name = "spans",
+ srcs = [
+ "sorted.go",
+ "utils.go",
+ "value_sorted.go",
+ ],
+ importpath = "github.com/pingcap/tidb/br/pkg/streamhelper/spans",
+ visibility = ["//visibility:public"],
+ deps = [
+ "//br/pkg/logutil",
+ "//br/pkg/utils",
+ "//kv",
+ "@com_github_google_btree//:btree",
+ ],
+)
+
+go_test(
+ name = "spans_test",
+ srcs = [
+ "sorted_test.go",
+ "utils_test.go",
+ "value_sorted_test.go",
+ ],
+ deps = [
+ ":spans",
+ "@com_github_stretchr_testify//require",
+ ],
+)
diff --git a/br/pkg/streamhelper/spans/sorted.go b/br/pkg/streamhelper/spans/sorted.go
new file mode 100644
index 0000000000000..a15138bf8124c
--- /dev/null
+++ b/br/pkg/streamhelper/spans/sorted.go
@@ -0,0 +1,186 @@
+// Copyright 2022 PingCAP, Inc. Licensed under Apache-2.0.
+
+package spans
+
+import (
+ "bytes"
+ "fmt"
+
+ "github.com/google/btree"
+ "github.com/pingcap/tidb/br/pkg/logutil"
+ "github.com/pingcap/tidb/br/pkg/utils"
+ "github.com/pingcap/tidb/kv"
+)
+
+// Value is the value type of stored in the span tree.
+type Value = uint64
+
+// join finds the upper bound of two values.
+func join(a, b Value) Value {
+ if a > b {
+ return a
+ }
+ return b
+}
+
+// Span is the type of an adjacent sub key space.
+type Span = kv.KeyRange
+
+// Valued is span binding to a value, which is the entry type of span tree.
+type Valued struct {
+ Key Span
+ Value Value
+}
+
+func (r Valued) String() string {
+ return fmt.Sprintf("(%s, %d)", logutil.StringifyRange(r.Key), r.Value)
+}
+
+func (r Valued) Less(other btree.Item) bool {
+ return bytes.Compare(r.Key.StartKey, other.(Valued).Key.StartKey) < 0
+}
+
+// ValuedFull represents a set of valued ranges, which doesn't overlap and union of them all is the full key space.
+type ValuedFull struct {
+ inner *btree.BTree
+}
+
+// NewFullWith creates a set of a subset of spans.
+func NewFullWith(initSpans []Span, init Value) *ValuedFull {
+ t := btree.New(16)
+ for _, r := range Collapse(len(initSpans), func(i int) Span { return initSpans[i] }) {
+ t.ReplaceOrInsert(Valued{Value: init, Key: r})
+ }
+ return &ValuedFull{inner: t}
+}
+
+// Merge merges a new interval into the span set. The value of overlapped
+// part with other spans would be "merged" by the `join` function.
+// An example:
+/*
+|___________________________________________________________________________|
+^-----------------^-----------------^-----------------^---------------------^
+| c = 42 | c = 43 | c = 45 | c = 41 |
+ ^--------------------------^
+ merge(| c = 44 |)
+Would Give:
+|___________________________________________________________________________|
+^-----------------^----^------------^-------------^---^---------------------^
+| c = 42 | 43 | c = 44 | c = 45 | c = 41 |
+ |-------------|
+ Unchanged, because 44 < 45.
+*/
+func (f *ValuedFull) Merge(val Valued) {
+ overlaps := make([]Valued, 0, 16)
+ f.overlapped(val.Key, &overlaps)
+ f.mergeWithOverlap(val, overlaps, nil)
+}
+
+// Traverse traverses all ranges by order.
+func (f *ValuedFull) Traverse(m func(Valued) bool) {
+ f.inner.Ascend(func(item btree.Item) bool {
+ return m(item.(Valued))
+ })
+}
+
+func (f *ValuedFull) mergeWithOverlap(val Valued, overlapped []Valued, newItems *[]Valued) {
+ // There isn't any range overlaps with the input range, perhaps the input range is empty.
+ // do nothing for this case.
+ if len(overlapped) == 0 {
+ return
+ }
+
+ for _, r := range overlapped {
+ f.inner.Delete(r)
+ // Assert All overlapped ranges are deleted.
+ }
+
+ var (
+ initialized = false
+ collected Valued
+ rightTrail *Valued
+ flushCollected = func() {
+ if initialized {
+ f.inner.ReplaceOrInsert(collected)
+ if newItems != nil {
+ *newItems = append(*newItems, collected)
+ }
+ }
+ }
+ emitToCollected = func(rng Valued, standalone bool) {
+ merged := rng.Value
+ if !standalone {
+ merged = join(val.Value, rng.Value)
+ }
+ if !initialized {
+ collected = rng
+ collected.Value = merged
+ initialized = true
+ return
+ }
+ if merged == collected.Value && utils.CompareBytesExt(collected.Key.EndKey, true, rng.Key.StartKey, false) == 0 {
+ collected.Key.EndKey = rng.Key.EndKey
+ } else {
+ flushCollected()
+ collected = Valued{
+ Key: rng.Key,
+ Value: merged,
+ }
+ }
+ }
+ )
+
+ leftmost := overlapped[0]
+ if bytes.Compare(leftmost.Key.StartKey, val.Key.StartKey) < 0 {
+ emitToCollected(Valued{
+ Key: Span{StartKey: leftmost.Key.StartKey, EndKey: val.Key.StartKey},
+ Value: leftmost.Value,
+ }, true)
+ overlapped[0].Key.StartKey = val.Key.StartKey
+ }
+
+ rightmost := overlapped[len(overlapped)-1]
+ if utils.CompareBytesExt(rightmost.Key.EndKey, true, val.Key.EndKey, true) > 0 {
+ rightTrail = &Valued{
+ Key: Span{StartKey: val.Key.EndKey, EndKey: rightmost.Key.EndKey},
+ Value: rightmost.Value,
+ }
+ overlapped[len(overlapped)-1].Key.EndKey = val.Key.EndKey
+ }
+
+ for _, rng := range overlapped {
+ emitToCollected(rng, false)
+ }
+
+ if rightTrail != nil {
+ emitToCollected(*rightTrail, true)
+ }
+
+ flushCollected()
+}
+
+// overlapped inserts the overlapped ranges of the span into the `result` slice.
+func (f *ValuedFull) overlapped(k Span, result *[]Valued) {
+ var (
+ first Span
+ hasFirst bool
+ )
+ // Firstly, let's find whether there is a overlapped region with less start key.
+ f.inner.DescendLessOrEqual(Valued{Key: k}, func(item btree.Item) bool {
+ first = item.(Valued).Key
+ hasFirst = true
+ return false
+ })
+ if !hasFirst || !Overlaps(first, k) {
+ first = k
+ }
+
+ f.inner.AscendGreaterOrEqual(Valued{Key: first}, func(item btree.Item) bool {
+ r := item.(Valued)
+ if !Overlaps(r.Key, k) {
+ return false
+ }
+ *result = append(*result, r)
+ return true
+ })
+}
diff --git a/br/pkg/streamhelper/spans/sorted_test.go b/br/pkg/streamhelper/spans/sorted_test.go
new file mode 100644
index 0000000000000..c56c2236a6690
--- /dev/null
+++ b/br/pkg/streamhelper/spans/sorted_test.go
@@ -0,0 +1,211 @@
+// Copyright 2022 PingCAP, Inc. Licensed under Apache-2.0.
+
+package spans_test
+
+import (
+ "fmt"
+ "testing"
+
+ "github.com/pingcap/tidb/br/pkg/streamhelper/spans"
+ "github.com/stretchr/testify/require"
+)
+
+func s(a, b string) spans.Span {
+ return spans.Span{
+ StartKey: []byte(a),
+ EndKey: []byte(b),
+ }
+}
+
+func kv(s spans.Span, v spans.Value) spans.Valued {
+ return spans.Valued{
+ Key: s,
+ Value: v,
+ }
+}
+
+func TestBasic(t *testing.T) {
+ type Case struct {
+ InputSequence []spans.Valued
+ Result []spans.Valued
+ }
+
+ run := func(t *testing.T, c Case) {
+ full := spans.NewFullWith(spans.Full(), 0)
+ fmt.Println(t.Name())
+ for _, i := range c.InputSequence {
+ full.Merge(i)
+ var result []spans.Valued
+ full.Traverse(func(v spans.Valued) bool {
+ result = append(result, v)
+ return true
+ })
+ fmt.Printf("%s -> %s\n", i, result)
+ }
+
+ var result []spans.Valued
+ full.Traverse(func(v spans.Valued) bool {
+ result = append(result, v)
+ return true
+ })
+
+ require.True(t, spans.ValuedSetEquals(result, c.Result), "%s\nvs\n%s", result, c.Result)
+ }
+
+ cases := []Case{
+ {
+ InputSequence: []spans.Valued{
+ kv(s("0001", "0002"), 1),
+ kv(s("0002", "0003"), 2),
+ },
+ Result: []spans.Valued{
+ kv(s("", "0001"), 0),
+ kv(s("0001", "0002"), 1),
+ kv(s("0002", "0003"), 2),
+ kv(s("0003", ""), 0),
+ },
+ },
+ {
+ InputSequence: []spans.Valued{
+ kv(s("0001", "0002"), 1),
+ kv(s("0002", "0003"), 2),
+ kv(s("0001", "0003"), 4),
+ },
+ Result: []spans.Valued{
+ kv(s("", "0001"), 0),
+ kv(s("0001", "0003"), 4),
+ kv(s("0003", ""), 0),
+ },
+ },
+ {
+ InputSequence: []spans.Valued{
+ kv(s("0001", "0004"), 3),
+ kv(s("0004", "0008"), 5),
+ kv(s("0001", "0007"), 4),
+ kv(s("", "0002"), 2),
+ },
+ Result: []spans.Valued{
+ kv(s("", "0001"), 2),
+ kv(s("0001", "0004"), 4),
+ kv(s("0004", "0008"), 5),
+ kv(s("0008", ""), 0),
+ },
+ },
+ {
+ InputSequence: []spans.Valued{
+ kv(s("0001", "0004"), 3),
+ kv(s("0004", "0008"), 5),
+ kv(s("0001", "0009"), 4),
+ },
+ Result: []spans.Valued{
+ kv(s("", "0001"), 0),
+ kv(s("0001", "0004"), 4),
+ kv(s("0004", "0008"), 5),
+ kv(s("0008", "0009"), 4),
+ kv(s("0009", ""), 0),
+ },
+ },
+ }
+
+ for i, c := range cases {
+ t.Run(fmt.Sprintf("#%d", i+1), func(t *testing.T) { run(t, c) })
+ }
+}
+
+func TestSubRange(t *testing.T) {
+ type Case struct {
+ Range []spans.Span
+ InputSequence []spans.Valued
+ Result []spans.Valued
+ }
+
+ run := func(t *testing.T, c Case) {
+ full := spans.NewFullWith(c.Range, 0)
+ fmt.Println(t.Name())
+ for _, i := range c.InputSequence {
+ full.Merge(i)
+ var result []spans.Valued
+ full.Traverse(func(v spans.Valued) bool {
+ result = append(result, v)
+ return true
+ })
+ fmt.Printf("%s -> %s\n", i, result)
+ }
+
+ var result []spans.Valued
+ full.Traverse(func(v spans.Valued) bool {
+ result = append(result, v)
+ return true
+ })
+
+ require.True(t, spans.ValuedSetEquals(result, c.Result), "%s\nvs\n%s", result, c.Result)
+ }
+
+ cases := []Case{
+ {
+ Range: []spans.Span{s("0001", "0004"), s("0008", "")},
+ InputSequence: []spans.Valued{
+ kv(s("0001", "0007"), 42),
+ kv(s("0000", "0009"), 41),
+ kv(s("0002", "0005"), 43),
+ },
+ Result: []spans.Valued{
+ kv(s("0001", "0002"), 42),
+ kv(s("0002", "0004"), 43),
+ kv(s("0008", "0009"), 41),
+ kv(s("0009", ""), 0),
+ },
+ },
+ {
+ Range: []spans.Span{
+ s("0001", "0004"),
+ s("0008", "")},
+ InputSequence: []spans.Valued{kv(s("", ""), 42)},
+ Result: []spans.Valued{
+ kv(s("0001", "0004"), 42),
+ kv(s("0008", ""), 42),
+ },
+ },
+ {
+ Range: []spans.Span{
+ s("0001", "0004"),
+ s("0005", "0008"),
+ },
+ InputSequence: []spans.Valued{
+ kv(s("0001", "0002"), 42),
+ kv(s("0002", "0008"), 43),
+ kv(s("0004", "0007"), 45),
+ kv(s("0000", "00015"), 48),
+ },
+ Result: []spans.Valued{
+ kv(s("0001", "00015"), 48),
+ kv(s("00015", "0002"), 42),
+ kv(s("0002", "0004"), 43),
+ kv(s("0005", "0007"), 45),
+ kv(s("0007", "0008"), 43),
+ },
+ },
+ {
+ Range: []spans.Span{
+ s("0001", "0004"),
+ s("0005", "0008"),
+ },
+ InputSequence: []spans.Valued{
+ kv(s("0004", "0008"), 32),
+ kv(s("00041", "0007"), 33),
+ kv(s("0004", "00041"), 99999),
+ kv(s("0005", "0006"), 34),
+ },
+ Result: []spans.Valued{
+ kv(s("0001", "0004"), 0),
+ kv(s("0005", "0006"), 34),
+ kv(s("0006", "0007"), 33),
+ kv(s("0007", "0008"), 32),
+ },
+ },
+ }
+
+ for i, c := range cases {
+ t.Run(fmt.Sprintf("#%d", i+1), func(t *testing.T) { run(t, c) })
+ }
+}
diff --git a/br/pkg/streamhelper/spans/utils.go b/br/pkg/streamhelper/spans/utils.go
new file mode 100644
index 0000000000000..621173983185d
--- /dev/null
+++ b/br/pkg/streamhelper/spans/utils.go
@@ -0,0 +1,150 @@
+// Copyright 2022 PingCAP, Inc. Licensed under Apache-2.0.
+
+package spans
+
+import (
+ "bytes"
+ "fmt"
+ "math"
+ "sort"
+
+ "github.com/pingcap/tidb/br/pkg/utils"
+)
+
+// Overlaps checks whether two spans have overlapped part.
+func Overlaps(a, b Span) bool {
+ if len(b.EndKey) == 0 {
+ return len(a.EndKey) == 0 || bytes.Compare(a.EndKey, b.StartKey) > 0
+ }
+ if len(a.EndKey) == 0 {
+ return len(b.EndKey) == 0 || bytes.Compare(b.EndKey, a.StartKey) > 0
+ }
+ return bytes.Compare(a.StartKey, b.EndKey) < 0 && bytes.Compare(b.StartKey, a.EndKey) < 0
+}
+
+func Debug(full *ValueSortedFull) {
+ var result []Valued
+ full.Traverse(func(v Valued) bool {
+ result = append(result, v)
+ return true
+ })
+ var idx []Valued
+ full.TraverseValuesLessThan(math.MaxUint64, func(v Valued) bool {
+ idx = append(idx, v)
+ return true
+ })
+ fmt.Printf("%s\n\tidx = %s\n", result, idx)
+}
+
+// Collapse collapse ranges overlapping or adjacent.
+// Example:
+// Collapse({[1, 4], [2, 8], [3, 9]}) == {[1, 9]}
+// Collapse({[1, 3], [4, 7], [2, 3]}) == {[1, 3], [4, 7]}
+func Collapse(length int, getRange func(int) Span) []Span {
+ frs := make([]Span, 0, length)
+ for i := 0; i < length; i++ {
+ frs = append(frs, getRange(i))
+ }
+
+ sort.Slice(frs, func(i, j int) bool {
+ start := bytes.Compare(frs[i].StartKey, frs[j].StartKey)
+ if start != 0 {
+ return start < 0
+ }
+ return utils.CompareBytesExt(frs[i].EndKey, true, frs[j].EndKey, true) < 0
+ })
+
+ result := make([]Span, 0, len(frs))
+ i := 0
+ for i < len(frs) {
+ item := frs[i]
+ for {
+ i++
+ if i >= len(frs) || (len(item.EndKey) != 0 && bytes.Compare(frs[i].StartKey, item.EndKey) > 0) {
+ break
+ }
+ if len(item.EndKey) != 0 && bytes.Compare(item.EndKey, frs[i].EndKey) < 0 || len(frs[i].EndKey) == 0 {
+ item.EndKey = frs[i].EndKey
+ }
+ }
+ result = append(result, item)
+ }
+ return result
+}
+
+// Full returns a full span crossing the key space.
+func Full() []Span {
+ return []Span{{}}
+}
+
+func (x Valued) Equals(y Valued) bool {
+ return x.Value == y.Value && bytes.Equal(x.Key.StartKey, y.Key.StartKey) && bytes.Equal(x.Key.EndKey, y.Key.EndKey)
+}
+
+func ValuedSetEquals(xs, ys []Valued) bool {
+ if len(xs) == 0 || len(ys) == 0 {
+ return len(ys) == len(xs)
+ }
+
+ sort.Slice(xs, func(i, j int) bool {
+ start := bytes.Compare(xs[i].Key.StartKey, xs[j].Key.StartKey)
+ if start != 0 {
+ return start < 0
+ }
+ return utils.CompareBytesExt(xs[i].Key.EndKey, true, xs[j].Key.EndKey, true) < 0
+ })
+ sort.Slice(ys, func(i, j int) bool {
+ start := bytes.Compare(ys[i].Key.StartKey, ys[j].Key.StartKey)
+ if start != 0 {
+ return start < 0
+ }
+ return utils.CompareBytesExt(ys[i].Key.EndKey, true, ys[j].Key.EndKey, true) < 0
+ })
+
+ xi := 0
+ yi := 0
+
+ for {
+ if xi >= len(xs) || yi >= len(ys) {
+ return (xi >= len(xs)) == (yi >= len(ys))
+ }
+ x := xs[xi]
+ y := ys[yi]
+
+ if !bytes.Equal(x.Key.StartKey, y.Key.StartKey) {
+ return false
+ }
+
+ for {
+ if xi >= len(xs) || yi >= len(ys) {
+ return (xi >= len(xs)) == (yi >= len(ys))
+ }
+ x := xs[xi]
+ y := ys[yi]
+
+ if x.Value != y.Value {
+ return false
+ }
+
+ c := utils.CompareBytesExt(x.Key.EndKey, true, y.Key.EndKey, true)
+ if c == 0 {
+ xi++
+ yi++
+ break
+ }
+ if c < 0 {
+ xi++
+ // If not adjacent key, return false directly.
+ if xi < len(xs) && utils.CompareBytesExt(x.Key.EndKey, true, xs[xi].Key.StartKey, false) != 0 {
+ return false
+ }
+ }
+ if c > 0 {
+ yi++
+ if yi < len(ys) && utils.CompareBytesExt(y.Key.EndKey, true, ys[yi].Key.StartKey, false) != 0 {
+ return false
+ }
+ }
+ }
+ }
+}
diff --git a/br/pkg/streamhelper/spans/utils_test.go b/br/pkg/streamhelper/spans/utils_test.go
new file mode 100644
index 0000000000000..48b8fc7f411a5
--- /dev/null
+++ b/br/pkg/streamhelper/spans/utils_test.go
@@ -0,0 +1,83 @@
+// Copyright 2022 PingCAP, Inc. Licensed under Apache-2.0.
+
+package spans_test
+
+import (
+ "fmt"
+ "testing"
+
+ "github.com/pingcap/tidb/br/pkg/streamhelper/spans"
+ "github.com/stretchr/testify/require"
+)
+
+func TestValuedEquals(t *testing.T) {
+ s := func(start, end string, val spans.Value) spans.Valued {
+ return spans.Valued{
+ Key: spans.Span{
+ StartKey: []byte(start),
+ EndKey: []byte(end),
+ },
+ Value: val,
+ }
+ }
+ type Case struct {
+ inputA []spans.Valued
+ inputB []spans.Valued
+ required bool
+ }
+ cases := []Case{
+ {
+ inputA: []spans.Valued{s("0001", "0002", 3)},
+ inputB: []spans.Valued{s("0001", "0003", 3)},
+ required: false,
+ },
+ {
+ inputA: []spans.Valued{s("0001", "0002", 3)},
+ inputB: []spans.Valued{s("0001", "0002", 3)},
+ required: true,
+ },
+ {
+ inputA: []spans.Valued{s("0001", "0003", 3)},
+ inputB: []spans.Valued{s("0001", "0002", 3), s("0002", "0003", 3)},
+ required: true,
+ },
+ {
+ inputA: []spans.Valued{s("0001", "0003", 4)},
+ inputB: []spans.Valued{s("0001", "0002", 3), s("0002", "0003", 3)},
+ required: false,
+ },
+ {
+ inputA: []spans.Valued{s("0001", "0003", 3)},
+ inputB: []spans.Valued{s("0001", "0002", 4), s("0002", "0003", 3)},
+ required: false,
+ },
+ {
+ inputA: []spans.Valued{s("0001", "0003", 3)},
+ inputB: []spans.Valued{s("0001", "0002", 3), s("0002", "0004", 3)},
+ required: false,
+ },
+ {
+ inputA: []spans.Valued{s("", "0003", 3)},
+ inputB: []spans.Valued{s("0001", "0002", 3), s("0002", "0003", 3)},
+ required: false,
+ },
+ {
+ inputA: []spans.Valued{s("0001", "", 1)},
+ inputB: []spans.Valued{s("0001", "0003", 1), s("0004", "", 1)},
+ required: false,
+ },
+ {
+ inputA: []spans.Valued{s("0001", "0004", 1), s("0001", "0002", 1)},
+ inputB: []spans.Valued{s("0001", "0002", 1), s("0001", "0004", 1)},
+ required: true,
+ },
+ }
+ run := func(t *testing.T, c Case) {
+ require.Equal(t, c.required, spans.ValuedSetEquals(c.inputA, c.inputB))
+ require.Equal(t, c.required, spans.ValuedSetEquals(c.inputB, c.inputA))
+ }
+
+ for i, c := range cases {
+ t.Run(fmt.Sprintf("#%d", i+1), func(t *testing.T) { run(t, c) })
+ }
+}
diff --git a/br/pkg/streamhelper/spans/value_sorted.go b/br/pkg/streamhelper/spans/value_sorted.go
new file mode 100644
index 0000000000000..2fc1ff2cdbbbc
--- /dev/null
+++ b/br/pkg/streamhelper/spans/value_sorted.go
@@ -0,0 +1,69 @@
+// Copyright 2022 PingCAP, Inc. Licensed under Apache-2.0.
+
+package spans
+
+import "github.com/google/btree"
+
+type sortedByValueThenStartKey Valued
+
+func (s sortedByValueThenStartKey) Less(o btree.Item) bool {
+ other := o.(sortedByValueThenStartKey)
+ if s.Value != other.Value {
+ return s.Value < other.Value
+ }
+ return Valued(s).Less(Valued(other))
+}
+
+// ValueSortedFull is almost the same as `Valued`, however it added an
+// extra index hence enabled query range by theirs value.
+type ValueSortedFull struct {
+ *ValuedFull
+ valueIdx *btree.BTree
+}
+
+// Sorted takes the ownership of a raw `ValuedFull` and then wrap it with `ValueSorted`.
+func Sorted(f *ValuedFull) *ValueSortedFull {
+ vf := &ValueSortedFull{
+ ValuedFull: f,
+ valueIdx: btree.New(16),
+ }
+ f.Traverse(func(v Valued) bool {
+ vf.valueIdx.ReplaceOrInsert(sortedByValueThenStartKey(v))
+ return true
+ })
+ return vf
+}
+
+func (v *ValueSortedFull) Merge(newItem Valued) {
+ v.MergeAll([]Valued{newItem})
+}
+
+func (v *ValueSortedFull) MergeAll(newItems []Valued) {
+ var overlapped []Valued
+ var inserted []Valued
+
+ for _, item := range newItems {
+ overlapped = overlapped[:0]
+ inserted = inserted[:0]
+
+ v.overlapped(item.Key, &overlapped)
+ v.mergeWithOverlap(item, overlapped, &inserted)
+
+ for _, o := range overlapped {
+ v.valueIdx.Delete(sortedByValueThenStartKey(o))
+ }
+ for _, i := range inserted {
+ v.valueIdx.ReplaceOrInsert(sortedByValueThenStartKey(i))
+ }
+ }
+}
+
+func (v *ValueSortedFull) TraverseValuesLessThan(n Value, action func(Valued) bool) {
+ v.valueIdx.AscendLessThan(sortedByValueThenStartKey{Value: n}, func(item btree.Item) bool {
+ return action(Valued(item.(sortedByValueThenStartKey)))
+ })
+}
+
+func (v *ValueSortedFull) MinValue() Value {
+ return v.valueIdx.Min().(sortedByValueThenStartKey).Value
+}
diff --git a/br/pkg/streamhelper/spans/value_sorted_test.go b/br/pkg/streamhelper/spans/value_sorted_test.go
new file mode 100644
index 0000000000000..ee1a5a8af6500
--- /dev/null
+++ b/br/pkg/streamhelper/spans/value_sorted_test.go
@@ -0,0 +1,98 @@
+// Copyright 2022 PingCAP, Inc. Licensed under Apache-2.0.
+
+package spans_test
+
+import (
+ "fmt"
+ "testing"
+
+ "github.com/pingcap/tidb/br/pkg/streamhelper/spans"
+ "github.com/stretchr/testify/require"
+)
+
+func TestSortedBasic(t *testing.T) {
+ type Case struct {
+ InputSequence []spans.Valued
+ RetainLessThan spans.Value
+ Result []spans.Valued
+ }
+
+ run := func(t *testing.T, c Case) {
+ full := spans.Sorted(spans.NewFullWith(spans.Full(), 0))
+ fmt.Println(t.Name())
+ for _, i := range c.InputSequence {
+ full.Merge(i)
+ spans.Debug(full)
+ }
+
+ var result []spans.Valued
+ full.TraverseValuesLessThan(c.RetainLessThan, func(v spans.Valued) bool {
+ result = append(result, v)
+ return true
+ })
+
+ require.True(t, spans.ValuedSetEquals(result, c.Result), "%s\nvs\n%s", result, c.Result)
+ }
+
+ cases := []Case{
+ {
+ InputSequence: []spans.Valued{
+ kv(s("0001", "0002"), 1),
+ kv(s("0002", "0003"), 2),
+ },
+ Result: []spans.Valued{
+ kv(s("", "0001"), 0),
+ kv(s("0001", "0002"), 1),
+ kv(s("0002", "0003"), 2),
+ kv(s("0003", ""), 0),
+ },
+ RetainLessThan: 10,
+ },
+ {
+ InputSequence: []spans.Valued{
+ kv(s("0001", "0002"), 1),
+ kv(s("0002", "0003"), 2),
+ kv(s("0001", "0003"), 4),
+ },
+ RetainLessThan: 1,
+ Result: []spans.Valued{
+ kv(s("", "0001"), 0),
+ kv(s("0003", ""), 0),
+ },
+ },
+ {
+ InputSequence: []spans.Valued{
+ kv(s("0001", "0004"), 3),
+ kv(s("0004", "0008"), 5),
+ kv(s("0001", "0007"), 4),
+ kv(s("", "0002"), 2),
+ },
+ RetainLessThan: 5,
+ Result: []spans.Valued{
+ kv(s("", "0001"), 2),
+ kv(s("0001", "0004"), 4),
+ kv(s("0008", ""), 0),
+ },
+ },
+ {
+ InputSequence: []spans.Valued{
+ kv(s("0001", "0004"), 3),
+ kv(s("0004", "0008"), 5),
+ kv(s("0001", "0007"), 4),
+ kv(s("", "0002"), 2),
+ kv(s("0001", "0004"), 5),
+ kv(s("0008", ""), 10),
+ kv(s("", "0001"), 20),
+ },
+ RetainLessThan: 11,
+ Result: []spans.Valued{
+ kv(s("0001", "0008"), 5),
+ kv(s("0008", ""), 10),
+ },
+ },
+ }
+
+ for i, c := range cases {
+ t.Run(fmt.Sprintf("#%d", i+1), func(t *testing.T) { run(t, c) })
+ }
+}
diff --git a/br/pkg/streamhelper/subscription_test.go b/br/pkg/streamhelper/subscription_test.go
new file mode 100644
index 0000000000000..2341cb05dc01e
--- /dev/null
+++ b/br/pkg/streamhelper/subscription_test.go
@@ -0,0 +1,226 @@
+// Copyright 2022 PingCAP, Inc. Licensed under Apache-2.0.
+
+package streamhelper_test
+
+import (
+ "context"
+ "fmt"
+ "sync"
+ "testing"
+
+ "github.com/pingcap/tidb/br/pkg/streamhelper"
+ "github.com/pingcap/tidb/br/pkg/streamhelper/spans"
+ "github.com/stretchr/testify/require"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
+)
+
+func installSubscribeSupport(c *fakeCluster) {
+ for _, s := range c.stores {
+ s.SetSupportFlushSub(true)
+ }
+}
+
+func installSubscribeSupportForRandomN(c *fakeCluster, n int) {
+ i := 0
+ for _, s := range c.stores {
+ if i == n {
+ break
+ }
+ s.SetSupportFlushSub(true)
+ i++
+ }
+}
+
+func TestSubBasic(t *testing.T) {
+ req := require.New(t)
+ ctx := context.Background()
+ c := createFakeCluster(t, 4, true)
+ c.splitAndScatter("0001", "0002", "0003", "0008", "0009")
+ installSubscribeSupport(c)
+ sub := streamhelper.NewSubscriber(c, c)
+ req.NoError(sub.UpdateStoreTopology(ctx))
+ var cp uint64
+ for i := 0; i < 10; i++ {
+ cp = c.advanceCheckpoints()
+ c.flushAll()
+ }
+ sub.HandleErrors(ctx)
+ req.NoError(sub.PendingErrors())
+ sub.Drop()
+ s := spans.Sorted(spans.NewFullWith(spans.Full(), 1))
+ for k := range sub.Events() {
+ s.Merge(k)
+ }
+ defer func() {
+ if t.Failed() {
+ fmt.Println(c)
+ spans.Debug(s)
+ }
+ }()
+
+ req.Equal(cp, s.MinValue(), "%d vs %d", cp, s.MinValue())
+}
+
+func TestNormalError(t *testing.T) {
+ req := require.New(t)
+ ctx := context.Background()
+ c := createFakeCluster(t, 4, true)
+ c.splitAndScatter("0001", "0002", "0003", "0008", "0009")
+ installSubscribeSupport(c)
+
+ sub := streamhelper.NewSubscriber(c, c)
+ c.onGetClient = oneStoreFailure()
+ req.NoError(sub.UpdateStoreTopology(ctx))
+ c.onGetClient = nil
+ req.Error(sub.PendingErrors())
+ sub.HandleErrors(ctx)
+ req.NoError(sub.PendingErrors())
+ var cp uint64
+ for i := 0; i < 10; i++ {
+ cp = c.advanceCheckpoints()
+ c.flushAll()
+ }
+ sub.Drop()
+ s := spans.Sorted(spans.NewFullWith(spans.Full(), 1))
+ for k := range sub.Events() {
+ s.Merge(k)
+ }
+ req.Equal(cp, s.MinValue(), "%d vs %d", cp, s.MinValue())
+}
+
+func TestHasFailureStores(t *testing.T) {
+ req := require.New(t)
+ ctx := context.Background()
+ c := createFakeCluster(t, 4, true)
+ c.splitAndScatter("0001", "0002", "0003", "0008", "0009")
+
+ installSubscribeSupportForRandomN(c, 3)
+ sub := streamhelper.NewSubscriber(c, c)
+ req.NoError(sub.UpdateStoreTopology(ctx))
+ sub.HandleErrors(ctx)
+ req.Error(sub.PendingErrors())
+
+ installSubscribeSupport(c)
+ req.NoError(sub.UpdateStoreTopology(ctx))
+ sub.HandleErrors(ctx)
+ req.NoError(sub.PendingErrors())
+}
+
+func TestStoreOffline(t *testing.T) {
+ req := require.New(t)
+ ctx := context.Background()
+ c := createFakeCluster(t, 4, true)
+ c.splitAndScatter("0001", "0002", "0003", "0008", "0009")
+ installSubscribeSupport(c)
+
+ c.onGetClient = func(u uint64) error {
+ return status.Error(codes.DataLoss, "upon an eclipsed night, some of data (not all data) have fled from the dataset")
+ }
+ sub := streamhelper.NewSubscriber(c, c)
+ req.NoError(sub.UpdateStoreTopology(ctx))
+ req.Error(sub.PendingErrors())
+
+ c.onGetClient = nil
+ sub.HandleErrors(ctx)
+ req.NoError(sub.PendingErrors())
+}
+
+func TestStoreRemoved(t *testing.T) {
+ req := require.New(t)
+ ctx := context.Background()
+ c := createFakeCluster(t, 4, true)
+ c.splitAndScatter("0001", "0002", "0003", "0008", "0009", "0010", "0100", "0956", "1000")
+
+ installSubscribeSupport(c)
+ sub := streamhelper.NewSubscriber(c, c)
+ req.NoError(sub.UpdateStoreTopology(ctx))
+
+ var cp uint64
+ for i := 0; i < 10; i++ {
+ cp = c.advanceCheckpoints()
+ c.flushAll()
+ }
+ sub.HandleErrors(ctx)
+ req.NoError(sub.PendingErrors())
+ for _, s := range c.stores {
+ c.removeStore(s.id)
+ break
+ }
+ req.NoError(sub.UpdateStoreTopology(ctx))
+ for i := 0; i < 10; i++ {
+ cp = c.advanceCheckpoints()
+ c.flushAll()
+ }
+ sub.HandleErrors(ctx)
+ req.NoError(sub.PendingErrors())
+
+ sub.Drop()
+ s := spans.Sorted(spans.NewFullWith(spans.Full(), 1))
+ for k := range sub.Events() {
+ s.Merge(k)
+ }
+
+ defer func() {
+ if t.Failed() {
+ fmt.Println(c)
+ spans.Debug(s)
+ }
+ }()
+
+ req.Equal(cp, s.MinValue(), "cp = %d, s = %d", cp, s.MinValue())
+}
+
+func TestSomeOfStoreUnsupported(t *testing.T) {
+ req := require.New(t)
+ ctx := context.Background()
+ c := createFakeCluster(t, 4, true)
+ c.splitAndScatter("0001", "0002", "0003", "0008", "0009", "0010", "0100", "0956", "1000")
+
+ sub := streamhelper.NewSubscriber(c, c)
+ installSubscribeSupportForRandomN(c, 3)
+ req.NoError(sub.UpdateStoreTopology(ctx))
+
+ var cp uint64
+ for i := 0; i < 10; i++ {
+ cp = c.advanceCheckpoints()
+ c.flushAll()
+ }
+ s := spans.Sorted(spans.NewFullWith(spans.Full(), 1))
+ m := new(sync.Mutex)
+ sub.Drop()
+ for k := range sub.Events() {
+ s.Merge(k)
+ }
+
+ rngs := make([]spans.Span, 0)
+ s.TraverseValuesLessThan(cp, func(v spans.Valued) bool {
+ rngs = append(rngs, v.Key)
+ return true
+ })
+ coll := streamhelper.NewClusterCollector(ctx, c)
+ coll.SetOnSuccessHook(func(u uint64, kr spans.Span) {
+ m.Lock()
+ defer m.Unlock()
+ s.Merge(spans.Valued{Key: kr, Value: u})
+ })
+ ld := uint64(0)
+ for _, rng := range rngs {
+ iter := streamhelper.IterateRegion(c, rng.StartKey, rng.EndKey)
+ for !iter.Done() {
+ rs, err := iter.Next(ctx)
+ req.NoError(err)
+ for _, r := range rs {
+ if ld == 0 {
+ ld = r.Leader.StoreId
+ } else {
+ req.Equal(r.Leader.StoreId, ld, "the leader is from different store: some of events not pushed")
+ }
+ coll.CollectRegion(r)
+ }
+ }
+ }
+ _, err := coll.Finish(ctx)
+ req.NoError(err)
+ req.Equal(cp, s.MinValue())
+}
diff --git a/br/pkg/streamhelper/tsheap.go b/br/pkg/streamhelper/tsheap.go
deleted file mode 100644
index 6c2fb510776e7..0000000000000
--- a/br/pkg/streamhelper/tsheap.go
+++ /dev/null
@@ -1,326 +0,0 @@
-// Copyright 2022 PingCAP, Inc. Licensed under Apache-2.0.
-
-package streamhelper
-
-import (
- "encoding/hex"
- "fmt"
- "strings"
- "sync"
- "time"
-
- "github.com/google/btree"
- "github.com/pingcap/errors"
- berrors "github.com/pingcap/tidb/br/pkg/errors"
- "github.com/pingcap/tidb/br/pkg/logutil"
- "github.com/pingcap/tidb/br/pkg/redact"
- "github.com/pingcap/tidb/br/pkg/utils"
- "github.com/pingcap/tidb/kv"
- "github.com/tikv/client-go/v2/oracle"
- "go.uber.org/zap/zapcore"
-)
-
-// CheckpointsCache is the heap-like cache for checkpoints.
-//
-// "Checkpoint" is the "Resolved TS" of some range.
-// A resolved ts is a "watermark" for the system, which:
-// - implies there won't be any transactions (in some range) commit with `commit_ts` smaller than this TS.
-// - is monotonic increasing.
-// A "checkpoint" is a "safe" Resolved TS, which:
-// - is a TS *less than* the real resolved ts of now.
-// - is based on range (it only promises there won't be new committed txns in the range).
-// - the checkpoint of union of ranges is the minimal checkpoint of all ranges.
-// As an example:
-/*
- +----------------------------------+
- ^-----------^ (Checkpoint = 42)
- ^---------------^ (Checkpoint = 76)
- ^-----------------------^ (Checkpoint = min(42, 76) = 42)
-*/
-// For calculating the global checkpoint, we can make a heap-like structure:
-// Checkpoint Ranges
-// 42 -> {[0, 8], [16, 100]}
-// 1002 -> {[8, 16]}
-// 1082 -> {[100, inf]}
-// For now, the checkpoint of range [8, 16] and [100, inf] won't affect the global checkpoint
-// directly, so we can try to advance only the ranges of {[0, 8], [16, 100]} (which's checkpoint is steal).
-// Once them get advance, the global checkpoint would be advanced then,
-// and we don't need to update all ranges (because some new ranges don't need to be advanced so quickly.)
-type CheckpointsCache interface {
- fmt.Stringer
- // InsertRange inserts a range with specified TS to the cache.
- InsertRange(ts uint64, rng kv.KeyRange)
- // InsertRanges inserts a set of ranges that sharing checkpoint to the cache.
- InsertRanges(rst RangesSharesTS)
- // CheckpointTS returns the now global (union of all ranges) checkpoint of the cache.
- CheckpointTS() uint64
- // PopRangesWithGapGT pops the ranges which's checkpoint is
- PopRangesWithGapGT(d time.Duration) []*RangesSharesTS
- // Check whether the ranges in the cache is integrate.
- ConsistencyCheck(ranges []kv.KeyRange) error
- // Clear the cache.
- Clear()
-}
-
-// NoOPCheckpointCache is used when cache disabled.
-type NoOPCheckpointCache struct{}
-
-func (NoOPCheckpointCache) InsertRange(ts uint64, rng kv.KeyRange) {}
-
-func (NoOPCheckpointCache) InsertRanges(rst RangesSharesTS) {}
-
-func (NoOPCheckpointCache) Clear() {}
-
-func (NoOPCheckpointCache) String() string {
- return "NoOPCheckpointCache"
-}
-
-func (NoOPCheckpointCache) CheckpointTS() uint64 {
- panic("invalid state: NoOPCheckpointCache should never be used in advancing!")
-}
-
-func (NoOPCheckpointCache) PopRangesWithGapGT(d time.Duration) []*RangesSharesTS {
- panic("invalid state: NoOPCheckpointCache should never be used in advancing!")
-}
-
-func (NoOPCheckpointCache) ConsistencyCheck([]kv.KeyRange) error {
- return errors.Annotatef(berrors.ErrUnsupportedOperation, "invalid state: NoOPCheckpointCache should never be used in advancing!")
-}
-
-// RangesSharesTS is a set of ranges shares the same timestamp.
-type RangesSharesTS struct {
- TS uint64
- Ranges []kv.KeyRange
-}
-
-func (rst *RangesSharesTS) Zap() zapcore.ObjectMarshaler {
- return zapcore.ObjectMarshalerFunc(func(oe zapcore.ObjectEncoder) error {
- rngs := rst.Ranges
- if len(rst.Ranges) > 3 {
- rngs = rst.Ranges[:3]
- }
-
- oe.AddUint64("checkpoint", rst.TS)
- return oe.AddArray("items", zapcore.ArrayMarshalerFunc(func(ae zapcore.ArrayEncoder) error {
- return ae.AppendObject(zapcore.ObjectMarshalerFunc(func(oe1 zapcore.ObjectEncoder) error {
- for _, rng := range rngs {
- oe1.AddString("start-key", redact.String(hex.EncodeToString(rng.StartKey)))
- oe1.AddString("end-key", redact.String(hex.EncodeToString(rng.EndKey)))
- }
- return nil
- }))
- }))
- })
-}
-
-func (rst *RangesSharesTS) String() string {
- // Make a more friendly string.
- return fmt.Sprintf("@%sR%d", oracle.GetTimeFromTS(rst.TS).Format("0405"), len(rst.Ranges))
-}
-
-func (rst *RangesSharesTS) Less(other btree.Item) bool {
- return rst.TS < other.(*RangesSharesTS).TS
-}
-
-// Checkpoints is a heap that collects all checkpoints of
-// regions, it supports query the latest checkpoint fast.
-// This structure is thread safe.
-type Checkpoints struct {
- tree *btree.BTree
-
- mu sync.Mutex
-}
-
-func NewCheckpoints() *Checkpoints {
- return &Checkpoints{
- tree: btree.New(32),
- }
-}
-
-// String formats the slowest 5 ranges sharing TS to string.
-func (h *Checkpoints) String() string {
- h.mu.Lock()
- defer h.mu.Unlock()
-
- b := new(strings.Builder)
- count := 0
- total := h.tree.Len()
- h.tree.Ascend(func(i btree.Item) bool {
- rst := i.(*RangesSharesTS)
- b.WriteString(rst.String())
- b.WriteString(";")
- count++
- return count < 5
- })
- if total-count > 0 {
- fmt.Fprintf(b, "O%d", total-count)
- }
- return b.String()
-}
-
-// InsertRanges insert a RangesSharesTS directly to the tree.
-func (h *Checkpoints) InsertRanges(r RangesSharesTS) {
- h.mu.Lock()
- defer h.mu.Unlock()
- if items := h.tree.Get(&r); items != nil {
- i := items.(*RangesSharesTS)
- i.Ranges = append(i.Ranges, r.Ranges...)
- } else {
- h.tree.ReplaceOrInsert(&r)
- }
-}
-
-// InsertRange inserts the region and its TS into the region tree.
-func (h *Checkpoints) InsertRange(ts uint64, rng kv.KeyRange) {
- h.mu.Lock()
- defer h.mu.Unlock()
- r := h.tree.Get(&RangesSharesTS{TS: ts})
- if r == nil {
- r = &RangesSharesTS{TS: ts}
- h.tree.ReplaceOrInsert(r)
- }
- rr := r.(*RangesSharesTS)
- rr.Ranges = append(rr.Ranges, rng)
-}
-
-// Clear removes all records in the checkpoint cache.
-func (h *Checkpoints) Clear() {
- h.mu.Lock()
- defer h.mu.Unlock()
- h.tree.Clear(false)
-}
-
-// PopRangesWithGapGT pops ranges with gap greater than the specified duration.
-// NOTE: maybe make something like `DrainIterator` for better composing?
-func (h *Checkpoints) PopRangesWithGapGT(d time.Duration) []*RangesSharesTS {
- h.mu.Lock()
- defer h.mu.Unlock()
- result := []*RangesSharesTS{}
- for {
- item, ok := h.tree.Min().(*RangesSharesTS)
- if !ok {
- return result
- }
- if time.Since(oracle.GetTimeFromTS(item.TS)) >= d {
- result = append(result, item)
- h.tree.DeleteMin()
- } else {
- return result
- }
- }
-}
-
-// CheckpointTS returns the cached checkpoint TS by the current state of the cache.
-func (h *Checkpoints) CheckpointTS() uint64 {
- h.mu.Lock()
- defer h.mu.Unlock()
- item, ok := h.tree.Min().(*RangesSharesTS)
- if !ok {
- return 0
- }
- return item.TS
-}
-
-// ConsistencyCheck checks whether the tree contains the full range of key space.
-func (h *Checkpoints) ConsistencyCheck(rangesIn []kv.KeyRange) error {
- h.mu.Lock()
- rangesReal := make([]kv.KeyRange, 0, 1024)
- h.tree.Ascend(func(i btree.Item) bool {
- rangesReal = append(rangesReal, i.(*RangesSharesTS).Ranges...)
- return true
- })
- h.mu.Unlock()
-
- r := CollapseRanges(len(rangesReal), func(i int) kv.KeyRange { return rangesReal[i] })
- ri := CollapseRanges(len(rangesIn), func(i int) kv.KeyRange { return rangesIn[i] })
-
- return errors.Annotatef(checkIntervalIsSubset(r, ri), "ranges: (current) %s (not in) %s", logutil.StringifyKeys(r),
- logutil.StringifyKeys(ri))
-}
-
-// A simple algorithm to detect non-overlapped ranges.
-// It maintains the "current" probe, and let the ranges to check "consume" it.
-// For example:
-// toCheck: |_____________________| |_____________|
-// . ^checking
-// subsetOf: |_________| |_______| |__________|
-// . ^probing
-// probing is the subrange of checking, consume it and move forward the probe.
-// toCheck: |_____________________| |_____________|
-// . ^checking
-// subsetOf: |_________| |_______| |__________|
-// . ^probing
-// consume it, too.
-// toCheck: |_____________________| |_____________|
-// . ^checking
-// subsetOf: |_________| |_______| |__________|
-// . ^probing
-// checking is at the left of probing and no overlaps, moving it forward.
-// toCheck: |_____________________| |_____________|
-// . ^checking
-// subsetOf: |_________| |_______| |__________|
-// . ^probing
-// consume it. all subset ranges are consumed, check passed.
-func checkIntervalIsSubset(toCheck []kv.KeyRange, subsetOf []kv.KeyRange) error {
- i := 0
- si := 0
-
- for {
- // We have checked all ranges.
- if si >= len(subsetOf) {
- return nil
- }
- // There are some ranges doesn't reach the end.
- if i >= len(toCheck) {
- return errors.Annotatef(berrors.ErrPiTRMalformedMetadata,
- "there remains a range doesn't be fully consumed: %s",
- logutil.StringifyRange(subsetOf[si]))
- }
-
- checking := toCheck[i]
- probing := subsetOf[si]
- // checking: |___________|
- // probing: |_________|
- // A rare case: the "first" range is out of bound or not fully covers the probing range.
- if utils.CompareBytesExt(checking.StartKey, false, probing.StartKey, false) > 0 {
- holeEnd := checking.StartKey
- if utils.CompareBytesExt(holeEnd, false, probing.EndKey, true) > 0 {
- holeEnd = probing.EndKey
- }
- return errors.Annotatef(berrors.ErrPiTRMalformedMetadata, "probably a hole in key ranges: %s", logutil.StringifyRange{
- StartKey: probing.StartKey,
- EndKey: holeEnd,
- })
- }
-
- // checking: |_____|
- // probing: |_______|
- // Just move forward checking.
- if utils.CompareBytesExt(checking.EndKey, true, probing.StartKey, false) < 0 {
- i += 1
- continue
- }
-
- // checking: |_________|
- // probing: |__________________|
- // Given all of the ranges are "collapsed", the next checking range must
- // not be adjacent with the current checking range.
- // And hence there must be a "hole" in the probing key space.
- if utils.CompareBytesExt(checking.EndKey, true, probing.EndKey, true) < 0 {
- next := probing.EndKey
- if i+1 < len(toCheck) {
- next = toCheck[i+1].EndKey
- }
- return errors.Annotatef(berrors.ErrPiTRMalformedMetadata, "probably a hole in key ranges: %s", logutil.StringifyRange{
- StartKey: checking.EndKey,
- EndKey: next,
- })
- }
- // checking: |________________|
- // probing: |_____________|
- // The current checking range fills the current probing range,
- // or the current checking range is out of the current range.
- // let's move the probing forward.
- si += 1
- }
-}
diff --git a/br/pkg/streamhelper/tsheap_test.go b/br/pkg/streamhelper/tsheap_test.go
deleted file mode 100644
index 173bc2e0a0334..0000000000000
--- a/br/pkg/streamhelper/tsheap_test.go
+++ /dev/null
@@ -1,248 +0,0 @@
-// Copyright 2022 PingCAP, Inc. Licensed under Apache-2.0.
-package streamhelper_test
-
-import (
- "fmt"
- "math"
- "math/rand"
- "testing"
-
- "github.com/pingcap/tidb/br/pkg/streamhelper"
- "github.com/pingcap/tidb/kv"
- "github.com/stretchr/testify/require"
-)
-
-func TestInsert(t *testing.T) {
- cases := []func(func(ts uint64, a, b string)){
- func(insert func(ts uint64, a, b string)) {
- insert(1, "", "01")
- insert(1, "01", "02")
- insert(2, "02", "022")
- insert(4, "022", "")
- },
- func(insert func(ts uint64, a, b string)) {
- insert(1, "", "01")
- insert(2, "", "01")
- insert(2, "011", "02")
- insert(1, "", "")
- insert(65, "03", "04")
- },
- }
-
- for _, c := range cases {
- cps := streamhelper.NewCheckpoints()
- expected := map[uint64]*streamhelper.RangesSharesTS{}
- checkpoint := uint64(math.MaxUint64)
- insert := func(ts uint64, a, b string) {
- cps.InsertRange(ts, kv.KeyRange{
- StartKey: []byte(a),
- EndKey: []byte(b),
- })
- i, ok := expected[ts]
- if !ok {
- expected[ts] = &streamhelper.RangesSharesTS{TS: ts, Ranges: []kv.KeyRange{{StartKey: []byte(a), EndKey: []byte(b)}}}
- } else {
- i.Ranges = append(i.Ranges, kv.KeyRange{StartKey: []byte(a), EndKey: []byte(b)})
- }
- if ts < checkpoint {
- checkpoint = ts
- }
- }
- c(insert)
- require.Equal(t, checkpoint, cps.CheckpointTS())
- rngs := cps.PopRangesWithGapGT(0)
- for _, rng := range rngs {
- other := expected[rng.TS]
- require.Equal(t, other, rng)
- }
- }
-}
-
-func TestMergeRanges(t *testing.T) {
- r := func(a, b string) kv.KeyRange {
- return kv.KeyRange{StartKey: []byte(a), EndKey: []byte(b)}
- }
- type Case struct {
- expected []kv.KeyRange
- parameter []kv.KeyRange
- }
- cases := []Case{
- {
- parameter: []kv.KeyRange{r("01", "01111"), r("0111", "0112")},
- expected: []kv.KeyRange{r("01", "0112")},
- },
- {
- parameter: []kv.KeyRange{r("01", "03"), r("02", "04")},
- expected: []kv.KeyRange{r("01", "04")},
- },
- {
- parameter: []kv.KeyRange{r("04", "08"), r("09", "10")},
- expected: []kv.KeyRange{r("04", "08"), r("09", "10")},
- },
- {
- parameter: []kv.KeyRange{r("01", "03"), r("02", "04"), r("05", "07"), r("08", "09")},
- expected: []kv.KeyRange{r("01", "04"), r("05", "07"), r("08", "09")},
- },
- {
- parameter: []kv.KeyRange{r("01", "02"), r("012", "")},
- expected: []kv.KeyRange{r("01", "")},
- },
- {
- parameter: []kv.KeyRange{r("", "01"), r("02", "03"), r("021", "")},
- expected: []kv.KeyRange{r("", "01"), r("02", "")},
- },
- {
- parameter: []kv.KeyRange{r("", "01"), r("001", "")},
- expected: []kv.KeyRange{r("", "")},
- },
- {
- parameter: []kv.KeyRange{r("", "01"), r("", ""), r("", "02")},
- expected: []kv.KeyRange{r("", "")},
- },
- {
- parameter: []kv.KeyRange{r("", "01"), r("01", ""), r("", "02"), r("", "03"), r("01", "02")},
- expected: []kv.KeyRange{r("", "")},
- },
- {
- parameter: []kv.KeyRange{r("", ""), r("", "01"), r("01", ""), r("01", "02")},
- expected: []kv.KeyRange{r("", "")},
- },
- }
-
- for i, c := range cases {
- result := streamhelper.CollapseRanges(len(c.parameter), func(i int) kv.KeyRange {
- return c.parameter[i]
- })
- require.Equal(t, c.expected, result, "case = %d", i)
- }
-}
-
-func TestInsertRanges(t *testing.T) {
- r := func(a, b string) kv.KeyRange {
- return kv.KeyRange{StartKey: []byte(a), EndKey: []byte(b)}
- }
- rs := func(ts uint64, ranges ...kv.KeyRange) streamhelper.RangesSharesTS {
- return streamhelper.RangesSharesTS{TS: ts, Ranges: ranges}
- }
-
- type Case struct {
- Expected []streamhelper.RangesSharesTS
- Parameters []streamhelper.RangesSharesTS
- }
-
- cases := []Case{
- {
- Parameters: []streamhelper.RangesSharesTS{
- rs(1, r("0", "1"), r("1", "2")),
- rs(1, r("2", "3"), r("3", "4")),
- },
- Expected: []streamhelper.RangesSharesTS{
- rs(1, r("0", "1"), r("1", "2"), r("2", "3"), r("3", "4")),
- },
- },
- {
- Parameters: []streamhelper.RangesSharesTS{
- rs(1, r("0", "1")),
- rs(2, r("2", "3")),
- rs(1, r("4", "5"), r("6", "7")),
- },
- Expected: []streamhelper.RangesSharesTS{
- rs(1, r("0", "1"), r("4", "5"), r("6", "7")),
- rs(2, r("2", "3")),
- },
- },
- }
-
- for _, c := range cases {
- theTree := streamhelper.NewCheckpoints()
- for _, p := range c.Parameters {
- theTree.InsertRanges(p)
- }
- ranges := theTree.PopRangesWithGapGT(0)
- for i, rs := range ranges {
- require.ElementsMatch(t, c.Expected[i].Ranges, rs.Ranges, "case = %#v", c)
- }
- }
-}
-
-func TestConsistencyCheckOverRange(t *testing.T) {
- r := func(a, b string) kv.KeyRange {
- return kv.KeyRange{StartKey: []byte(a), EndKey: []byte(b)}
- }
- type Case struct {
- checking []kv.KeyRange
- probing []kv.KeyRange
- isSubset bool
- }
-
- cases := []Case{
- // basic: exactly match.
- {
- checking: []kv.KeyRange{r("0001", "0002"), r("0002", "0003"), r("0004", "0005")},
- probing: []kv.KeyRange{r("0001", "0003"), r("0004", "0005")},
- isSubset: true,
- },
- // not fully match, probing longer.
- {
- checking: []kv.KeyRange{r("0001", "0002"), r("0002", "0003"), r("0004", "0005")},
- probing: []kv.KeyRange{r("0000", "0003"), r("0004", "00051")},
- isSubset: false,
- },
- // with infinity end keys.
- {
- checking: []kv.KeyRange{r("0001", "0002"), r("0002", "0003"), r("0004", "")},
- probing: []kv.KeyRange{r("0001", "0003"), r("0004", "")},
- isSubset: true,
- },
- {
- checking: []kv.KeyRange{r("0001", "0002"), r("0002", "0003"), r("0004", "")},
- probing: []kv.KeyRange{r("0001", "0003"), r("0004", "0005")},
- isSubset: true,
- },
- {
- checking: []kv.KeyRange{r("0001", "0002"), r("0002", "0003"), r("0004", "0005")},
- probing: []kv.KeyRange{r("0001", "0003"), r("0004", "")},
- isSubset: false,
- },
- // overlapped probe.
- {
- checking: []kv.KeyRange{r("0001", "0002"), r("0002", "0003"), r("0004", "0007")},
- probing: []kv.KeyRange{r("0001", "0008")},
- isSubset: false,
- },
- {
- checking: []kv.KeyRange{r("0001", "0008")},
- probing: []kv.KeyRange{r("0001", "0002"), r("0002", "0003"), r("0004", "0007")},
- isSubset: true,
- },
- {
- checking: []kv.KeyRange{r("0100", "0120"), r("0130", "0141")},
- probing: []kv.KeyRange{r("0000", "0001")},
- isSubset: false,
- },
- {
- checking: []kv.KeyRange{r("0100", "0120")},
- probing: []kv.KeyRange{r("0090", "0110"), r("0115", "0120")},
- isSubset: false,
- },
- }
-
- run := func(t *testing.T, c Case) {
- tree := streamhelper.NewCheckpoints()
- for _, r := range c.checking {
- tree.InsertRange(rand.Uint64()%10, r)
- }
- err := tree.ConsistencyCheck(c.probing)
- if c.isSubset {
- require.NoError(t, err)
- } else {
- require.Error(t, err)
- }
- }
-
- for i, c := range cases {
- t.Run(fmt.Sprintf("#%d", i), func(tc *testing.T) {
- run(tc, c)
- })
- }
-}
diff --git a/br/pkg/summary/collector.go b/br/pkg/summary/collector.go
index 705c26df3e4ac..1a16fb6dc9cfc 100644
--- a/br/pkg/summary/collector.go
+++ b/br/pkg/summary/collector.go
@@ -46,6 +46,10 @@ type LogCollector interface {
SetSuccessStatus(success bool)
+ NowDureTime() time.Duration
+
+ AdjustStartTimeToEarlierTime(t time.Duration)
+
Summary(name string)
Log(msg string, fields ...zap.Field)
@@ -163,6 +167,18 @@ func logKeyFor(key string) string {
return strings.ReplaceAll(key, " ", "-")
}
+func (tc *logCollector) NowDureTime() time.Duration {
+ tc.mu.Lock()
+ defer tc.mu.Unlock()
+ return time.Since(tc.startTime)
+}
+
+func (tc *logCollector) AdjustStartTimeToEarlierTime(t time.Duration) {
+ tc.mu.Lock()
+ defer tc.mu.Unlock()
+ tc.startTime = tc.startTime.Add(-t)
+}
+
func (tc *logCollector) Summary(name string) {
tc.mu.Lock()
defer func() {
diff --git a/br/pkg/summary/summary.go b/br/pkg/summary/summary.go
index 7ae488785760e..45c8fbbc55997 100644
--- a/br/pkg/summary/summary.go
+++ b/br/pkg/summary/summary.go
@@ -43,6 +43,15 @@ func SetSuccessStatus(success bool) {
collector.SetSuccessStatus(success)
}
+// NowDureTime returns the duration between start time and current time
+func NowDureTime() time.Duration {
+ return collector.NowDureTime()
+}
+
+func AdjustStartTimeToEarlierTime(t time.Duration) {
+ collector.AdjustStartTimeToEarlierTime(t)
+}
+
// Summary outputs summary log.
func Summary(name string) {
collector.Summary(name)
diff --git a/br/pkg/task/backup.go b/br/pkg/task/backup.go
index 8b3a03c9a8719..63e3f43ae5d30 100644
--- a/br/pkg/task/backup.go
+++ b/br/pkg/task/backup.go
@@ -4,6 +4,8 @@ package task
import (
"context"
+ "crypto/sha256"
+ "encoding/json"
"fmt"
"os"
"strconv"
@@ -26,6 +28,7 @@ import (
"github.com/pingcap/tidb/br/pkg/storage"
"github.com/pingcap/tidb/br/pkg/summary"
"github.com/pingcap/tidb/br/pkg/utils"
+ "github.com/pingcap/tidb/br/pkg/version"
"github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/sessionctx/stmtctx"
"github.com/pingcap/tidb/statistics/handle"
@@ -45,11 +48,13 @@ const (
flagRemoveSchedulers = "remove-schedulers"
flagIgnoreStats = "ignore-stats"
flagUseBackupMetaV2 = "use-backupmeta-v2"
+ flagUseCheckpoint = "use-checkpoint"
flagGCTTL = "gcttl"
defaultBackupConcurrency = 4
maxBackupConcurrency = 256
+ checkpointDefaultGCTTL = 72 * 60 // 72 minutes
)
const (
@@ -77,6 +82,7 @@ type BackupConfig struct {
RemoveSchedulers bool `json:"remove-schedulers" toml:"remove-schedulers"`
IgnoreStats bool `json:"ignore-stats" toml:"ignore-stats"`
UseBackupMetaV2 bool `json:"use-backupmeta-v2"`
+ UseCheckpoint bool `json:"use-checkpoint" toml:"use-checkpoint"`
CompressionConfig
// for ebs-based backup
@@ -126,6 +132,9 @@ func DefineBackupFlags(flags *pflag.FlagSet) {
// but will generate v1 meta due to this flag is false. the behaviour is as same as v4.0.15, v4.0.16.
// finally v4.0.17 will set this flag to true, and generate v2 meta.
_ = flags.MarkHidden(flagUseBackupMetaV2)
+
+ flags.Bool(flagUseCheckpoint, true, "use checkpoint mode")
+ _ = flags.MarkHidden(flagUseCheckpoint)
}
// ParseFromFlags parses the backup-related flags from the flag set.
@@ -150,10 +159,34 @@ func (cfg *BackupConfig) ParseFromFlags(flags *pflag.FlagSet) error {
if err != nil {
return errors.Trace(err)
}
+ cfg.UseBackupMetaV2, err = flags.GetBool(flagUseBackupMetaV2)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ cfg.UseCheckpoint, err = flags.GetBool(flagUseCheckpoint)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ if cfg.LastBackupTS > 0 {
+ // TODO: compatible with incremental backup
+ cfg.UseCheckpoint = false
+ log.Info("since incremental backup is used, turn off checkpoint mode")
+ }
+ if cfg.UseBackupMetaV2 {
+ // TODO: compatible with backup meta v2, maybe just clean the meta files
+ cfg.UseCheckpoint = false
+ log.Info("since backup meta v2 is used, turn off checkpoint mode")
+ }
gcTTL, err := flags.GetInt64(flagGCTTL)
if err != nil {
return errors.Trace(err)
}
+ // if use checkpoint and gcTTL is the default value
+ // update gcttl to checkpoint's default gc ttl
+ if cfg.UseCheckpoint && gcTTL == utils.DefaultBRGCSafePointTTL {
+ gcTTL = checkpointDefaultGCTTL
+ log.Info("use checkpoint's default GC TTL", zap.Int64("GC TTL", gcTTL))
+ }
cfg.GCTTL = gcTTL
compressionCfg, err := parseCompressionFlags(flags)
@@ -173,10 +206,6 @@ func (cfg *BackupConfig) ParseFromFlags(flags *pflag.FlagSet) error {
if err != nil {
return errors.Trace(err)
}
- cfg.UseBackupMetaV2, err = flags.GetBool(flagUseBackupMetaV2)
- if err != nil {
- return errors.Trace(err)
- }
if flags.Lookup(flagFullBackupType) != nil {
// for backup full
@@ -269,6 +298,23 @@ func (cfg *BackupConfig) Adjust() {
}
}
+// a rough hash for checkpoint checker
+func (cfg *BackupConfig) Hash() ([]byte, error) {
+ config := &BackupConfig{
+ LastBackupTS: cfg.LastBackupTS,
+ IgnoreStats: cfg.IgnoreStats,
+ UseCheckpoint: cfg.UseCheckpoint,
+ Config: cfg.Config,
+ }
+ data, err := json.Marshal(config)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ hash := sha256.Sum256(data)
+
+ return hash[:], nil
+}
+
func isFullBackup(cmdName string) bool {
return cmdName == FullBackupCmd
}
@@ -301,6 +347,14 @@ func RunBackup(c context.Context, g glue.Glue, cmdName string, cfg *BackupConfig
return errors.Trace(err)
}
defer mgr.Close()
+ // after version check, check the cluster whether support checkpoint mode
+ if cfg.UseCheckpoint {
+ err = version.CheckCheckpointSupport()
+ if err != nil {
+ log.Warn("unable to use checkpoint mode, fall back to normal mode", zap.Error(err))
+ cfg.UseCheckpoint = false
+ }
+ }
var statsHandle *handle.Handle
if !skipStats {
statsHandle = mgr.GetDomain().StatsHandle()
@@ -308,22 +362,23 @@ func RunBackup(c context.Context, g glue.Glue, cmdName string, cfg *BackupConfig
var newCollationEnable string
err = g.UseOneShotSession(mgr.GetStorage(), !needDomain, func(se glue.Session) error {
- newCollationEnable, err = se.GetGlobalVariable(tidbNewCollationEnabled)
+ newCollationEnable, err = se.GetGlobalVariable(utils.GetTidbNewCollationEnabled())
if err != nil {
return errors.Trace(err)
}
log.Info("get new_collations_enabled_on_first_bootstrap config from system table",
- zap.String(tidbNewCollationEnabled, newCollationEnable))
+ zap.String(utils.GetTidbNewCollationEnabled(), newCollationEnable))
return nil
})
if err != nil {
return errors.Trace(err)
}
- client, err := backup.NewBackupClient(ctx, mgr)
- if err != nil {
- return errors.Trace(err)
- }
+ client := backup.NewBackupClient(ctx, mgr)
+
+ // set cipher only for checkpoint
+ client.SetCipher(&cfg.CipherInfo)
+
opts := storage.ExternalStorageOptions{
NoCredentials: cfg.NoCreds,
SendCredentials: cfg.SendCreds,
@@ -332,6 +387,16 @@ func RunBackup(c context.Context, g glue.Glue, cmdName string, cfg *BackupConfig
if err = client.SetStorageAndCheckNotInUse(ctx, u, &opts); err != nil {
return errors.Trace(err)
}
+ // if checkpoint mode is unused at this time but there is checkpoint meta,
+ // CheckCheckpoint will stop backing up
+ cfgHash, err := cfg.Hash()
+ if err != nil {
+ return errors.Trace(err)
+ }
+ err = client.CheckCheckpoint(cfgHash)
+ if err != nil {
+ return errors.Trace(err)
+ }
err = client.SetLockFile(ctx)
if err != nil {
return errors.Trace(err)
@@ -343,24 +408,45 @@ func RunBackup(c context.Context, g glue.Glue, cmdName string, cfg *BackupConfig
return errors.Trace(err)
}
g.Record("BackupTS", backupTS)
+ safePointID := client.GetSafePointID()
sp := utils.BRServiceSafePoint{
BackupTS: backupTS,
TTL: client.GetGCTTL(),
- ID: utils.MakeSafePointID(),
+ ID: safePointID,
}
+
// use lastBackupTS as safePoint if exists
- if cfg.LastBackupTS > 0 {
+ isIncrementalBackup := cfg.LastBackupTS > 0
+ if isIncrementalBackup {
sp.BackupTS = cfg.LastBackupTS
}
log.Info("current backup safePoint job", zap.Object("safePoint", sp))
- err = utils.StartServiceSafePointKeeper(ctx, mgr.GetPDClient(), sp)
+ cctx, gcSafePointKeeperCancel := context.WithCancel(ctx)
+ gcSafePointKeeperRemovable := false
+ defer func() {
+ // don't reset the gc-safe-point if checkpoint mode is used and backup is not finished
+ if cfg.UseCheckpoint && !gcSafePointKeeperRemovable {
+ log.Info("skip removing gc-safepoint keeper for next retry", zap.String("gc-id", sp.ID))
+ return
+ }
+ log.Info("start to remove gc-safepoint keeper")
+ // close the gc safe point keeper at first
+ gcSafePointKeeperCancel()
+ // set the ttl to 0 to remove the gc-safe-point
+ sp.TTL = 0
+ if err := utils.UpdateServiceSafePoint(ctx, mgr.GetPDClient(), sp); err != nil {
+ log.Warn("failed to update service safe point, backup may fail if gc triggered",
+ zap.Error(err),
+ )
+ }
+ log.Info("finish removing gc-safepoint keeper")
+ }()
+ err = utils.StartServiceSafePointKeeper(cctx, mgr.GetPDClient(), sp)
if err != nil {
return errors.Trace(err)
}
- isIncrementalBackup := cfg.LastBackupTS > 0
-
if cfg.RemoveSchedulers {
log.Debug("removing some PD schedulers")
restore, e := mgr.RemoveSchedulers(ctx)
@@ -395,7 +481,7 @@ func RunBackup(c context.Context, g glue.Glue, cmdName string, cfg *BackupConfig
return errors.Trace(err)
}
- ranges, schemas, policies, err := backup.BuildBackupRangeAndSchema(mgr.GetStorage(), cfg.TableFilter, backupTS, isFullBackup(cmdName))
+ ranges, schemas, policies, err := client.BuildBackupRangeAndSchema(mgr.GetStorage(), cfg.TableFilter, backupTS, isFullBackup(cmdName))
if err != nil {
return errors.Trace(err)
}
@@ -422,7 +508,7 @@ func RunBackup(c context.Context, g glue.Glue, cmdName string, cfg *BackupConfig
}
// nothing to backup
- if ranges == nil || len(ranges) <= 0 {
+ if len(ranges) == 0 {
pdAddress := strings.Join(cfg.PD, ",")
log.Warn("Nothing to backup, maybe connected to cluster for restoring",
zap.String("PD address", pdAddress))
@@ -503,6 +589,18 @@ func RunBackup(c context.Context, g glue.Glue, cmdName string, cfg *BackupConfig
})
}
}
+
+ if cfg.UseCheckpoint {
+ if err = client.StartCheckpointRunner(ctx, cfgHash, backupTS, ranges, safePointID, progressCallBack); err != nil {
+ return errors.Trace(err)
+ }
+ defer func() {
+ if !gcSafePointKeeperRemovable {
+ log.Info("wait for flush checkpoint...")
+ client.WaitForFinishCheckpoint()
+ }
+ }()
+ }
metawriter.StartWriteMetasAsync(ctx, metautil.AppendDataFile)
err = client.BackupRanges(ctx, ranges, req, uint(cfg.Concurrency), metawriter, progressCallBack)
if err != nil {
@@ -532,7 +630,7 @@ func RunBackup(c context.Context, g glue.Glue, cmdName string, cfg *BackupConfig
schemasConcurrency := uint(mathutil.Min(backup.DefaultSchemaConcurrency, schemas.Len()))
err = schemas.BackupSchemas(
- ctx, metawriter, mgr.GetStorage(), statsHandle, backupTS, schemasConcurrency, cfg.ChecksumConcurrency, skipChecksum, updateCh)
+ ctx, metawriter, client.GetCheckpointRunner(), mgr.GetStorage(), statsHandle, backupTS, schemasConcurrency, cfg.ChecksumConcurrency, skipChecksum, updateCh)
if err != nil {
return errors.Trace(err)
}
@@ -541,6 +639,9 @@ func RunBackup(c context.Context, g glue.Glue, cmdName string, cfg *BackupConfig
if err != nil {
return errors.Trace(err)
}
+ // Since backupmeta is flushed on the external storage,
+ // we can remove the gc safepoint keeper
+ gcSafePointKeeperRemovable = true
// Checksum has finished, close checksum progress.
updateCh.Close()
diff --git a/br/pkg/task/backup_ebs.go b/br/pkg/task/backup_ebs.go
index 5d9a262d7cce6..ff0fb6a01a461 100644
--- a/br/pkg/task/backup_ebs.go
+++ b/br/pkg/task/backup_ebs.go
@@ -111,10 +111,7 @@ func RunBackupEBS(c context.Context, g glue.Glue, cfg *BackupConfig) error {
return errors.Trace(err)
}
defer mgr.Close()
- client, err := backup.NewBackupClient(ctx, mgr)
- if err != nil {
- return errors.Trace(err)
- }
+ client := backup.NewBackupClient(ctx, mgr)
opts := storage.ExternalStorageOptions{
NoCredentials: cfg.NoCreds,
diff --git a/br/pkg/task/backup_raw.go b/br/pkg/task/backup_raw.go
index 9d46c151d23c7..2b46347327501 100644
--- a/br/pkg/task/backup_raw.go
+++ b/br/pkg/task/backup_raw.go
@@ -144,10 +144,7 @@ func RunBackupRaw(c context.Context, g glue.Glue, cmdName string, cfg *RawKvConf
}
defer mgr.Close()
- client, err := backup.NewBackupClient(ctx, mgr)
- if err != nil {
- return errors.Trace(err)
- }
+ client := backup.NewBackupClient(ctx, mgr)
opts := storage.ExternalStorageOptions{
NoCredentials: cfg.NoCreds,
SendCredentials: cfg.SendCreds,
@@ -216,9 +213,18 @@ func RunBackupRaw(c context.Context, g glue.Glue, cmdName string, cfg *RawKvConf
CompressionLevel: cfg.CompressionLevel,
CipherInfo: &cfg.CipherInfo,
}
+ rg := rtree.Range{
+ StartKey: backupRange.StartKey,
+ EndKey: backupRange.EndKey,
+ }
+ progressRange := &rtree.ProgressRange{
+ Res: rtree.NewRangeTree(),
+ Incomplete: []rtree.Range{rg},
+ Origin: rg,
+ }
metaWriter := metautil.NewMetaWriter(client.GetStorage(), metautil.MetaFileSize, false, metautil.MetaFile, &cfg.CipherInfo)
metaWriter.StartWriteMetasAsync(ctx, metautil.AppendDataFile)
- err = client.BackupRange(ctx, req, metaWriter, progressCallBack)
+ err = client.BackupRange(ctx, req, progressRange, metaWriter, progressCallBack)
if err != nil {
return errors.Trace(err)
}
diff --git a/br/pkg/task/common.go b/br/pkg/task/common.go
index 5d76a2db4f85b..2d04f916d98ec 100644
--- a/br/pkg/task/common.go
+++ b/br/pkg/task/common.go
@@ -96,8 +96,6 @@ const (
crypterAES192KeyLen = 24
crypterAES256KeyLen = 32
- tidbNewCollationEnabled = "new_collation_enabled"
-
flagFullBackupType = "type"
)
diff --git a/br/pkg/task/restore.go b/br/pkg/task/restore.go
index cf1ce4682a09f..903b721f0a644 100644
--- a/br/pkg/task/restore.go
+++ b/br/pkg/task/restore.go
@@ -26,7 +26,6 @@ import (
"github.com/pingcap/tidb/br/pkg/utils"
"github.com/pingcap/tidb/br/pkg/version"
"github.com/pingcap/tidb/config"
- "github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/util"
"github.com/pingcap/tidb/util/mathutil"
"github.com/spf13/cobra"
@@ -58,14 +57,22 @@ const (
FlagStreamRestoreTS = "restored-ts"
// FlagStreamFullBackupStorage is used for log restore, represents the full backup storage.
FlagStreamFullBackupStorage = "full-backup-storage"
-
- defaultRestoreConcurrency = 128
- defaultRestoreStreamConcurrency = 16
- maxRestoreBatchSizeLimit = 10240
- defaultPDConcurrency = 1
- defaultBatchFlushInterval = 16 * time.Second
- defaultFlagDdlBatchSize = 128
- resetSpeedLimitRetryTimes = 3
+ // FlagPiTRBatchCount and FlagPiTRBatchSize are used for restore log with batch method.
+ FlagPiTRBatchCount = "pitr-batch-count"
+ FlagPiTRBatchSize = "pitr-batch-size"
+ FlagPiTRConcurrency = "pitr-concurrency"
+
+ FlagResetSysUsers = "reset-sys-users"
+
+ defaultPiTRBatchCount = 8
+ defaultPiTRBatchSize = 16 * 1024 * 1024
+ defaultRestoreConcurrency = 128
+ defaultPiTRConcurrency = 16
+ maxRestoreBatchSizeLimit = 10240
+ defaultPDConcurrency = 1
+ defaultBatchFlushInterval = 16 * time.Second
+ defaultFlagDdlBatchSize = 128
+ resetSpeedLimitRetryTimes = 3
)
const (
@@ -88,6 +95,8 @@ type RestoreCommonConfig struct {
// determines whether enable restore sys table on default, see fullClusterRestore in restore/client.go
WithSysTable bool `json:"with-sys-table" toml:"with-sys-table"`
+
+ ResetSysUsers []string `json:"reset-sys-users" toml:"reset-sys-users"`
}
// adjust adjusts the abnormal config value in the current config.
@@ -113,10 +122,12 @@ func DefineRestoreCommonFlags(flags *pflag.FlagSet) {
flags.Uint(FlagPDConcurrency, defaultPDConcurrency,
"concurrency pd-relative operations like split & scatter.")
flags.Duration(FlagBatchFlushInterval, defaultBatchFlushInterval,
- "after how long a restore batch would be auto sended.")
+ "after how long a restore batch would be auto sent.")
flags.Uint(FlagDdlBatchSize, defaultFlagDdlBatchSize,
- "batch size for ddl to create a batch of tabes once.")
+ "batch size for ddl to create a batch of tables once.")
flags.Bool(flagWithSysTable, false, "whether restore system privilege tables on default setting")
+ flags.StringArrayP(FlagResetSysUsers, "", []string{"cloud_admin", "root"}, "whether reset these users after restoration")
+ _ = flags.MarkHidden(FlagResetSysUsers)
_ = flags.MarkHidden(FlagMergeRegionSizeBytes)
_ = flags.MarkHidden(FlagMergeRegionKeyCount)
_ = flags.MarkHidden(FlagPDConcurrency)
@@ -145,6 +156,10 @@ func (cfg *RestoreCommonConfig) ParseFromFlags(flags *pflag.FlagSet) error {
return errors.Trace(err)
}
}
+ cfg.ResetSysUsers, err = flags.GetStringArray(FlagResetSysUsers)
+ if err != nil {
+ return errors.Trace(err)
+ }
return errors.Trace(err)
}
@@ -169,6 +184,9 @@ type RestoreConfig struct {
StartTS uint64 `json:"start-ts" toml:"start-ts"`
RestoreTS uint64 `json:"restore-ts" toml:"restore-ts"`
tiflashRecorder *tiflashrec.TiFlashRecorder `json:"-" toml:"-"`
+ PitrBatchCount uint32 `json:"pitr-batch-count" toml:"pitr-batch-count"`
+ PitrBatchSize uint32 `json:"pitr-batch-size" toml:"pitr-batch-size"`
+ PitrConcurrency uint32 `json:"-" toml:"-"`
// for ebs-based restore
FullBackupType FullBackupType `json:"full-backup-type" toml:"full-backup-type"`
@@ -200,6 +218,9 @@ func DefineStreamRestoreFlags(command *cobra.Command) {
"support TSO or datetime, e.g. '400036290571534337' or '2018-05-11 01:42:23+0800'")
command.Flags().String(FlagStreamFullBackupStorage, "", "specify the backup full storage. "+
"fill it if want restore full backup before restore log.")
+ command.Flags().Uint32(FlagPiTRBatchCount, defaultPiTRBatchCount, "specify the batch count to restore log.")
+ command.Flags().Uint32(FlagPiTRBatchSize, defaultPiTRBatchSize, "specify the batch size to retore log.")
+ command.Flags().Uint32(FlagPiTRConcurrency, defaultPiTRConcurrency, "specify the concurrency to restore log.")
}
// ParseStreamRestoreFlags parses the `restore stream` flags from the flag set.
@@ -228,6 +249,15 @@ func (cfg *RestoreConfig) ParseStreamRestoreFlags(flags *pflag.FlagSet) error {
FlagStreamStartTS, FlagStreamFullBackupStorage)
}
+ if cfg.PitrBatchCount, err = flags.GetUint32(FlagPiTRBatchCount); err != nil {
+ return errors.Trace(err)
+ }
+ if cfg.PitrBatchSize, err = flags.GetUint32(FlagPiTRBatchSize); err != nil {
+ return errors.Trace(err)
+ }
+ if cfg.PitrConcurrency, err = flags.GetUint32(FlagPiTRConcurrency); err != nil {
+ return errors.Trace(err)
+ }
return nil
}
@@ -354,10 +384,18 @@ func (cfg *RestoreConfig) Adjust() {
}
func (cfg *RestoreConfig) adjustRestoreConfigForStreamRestore() {
- if cfg.Config.Concurrency == 0 || cfg.Config.Concurrency > defaultRestoreStreamConcurrency {
- log.Info("set restore kv files concurrency", zap.Int("concurrency", defaultRestoreStreamConcurrency))
- cfg.Config.Concurrency = defaultRestoreStreamConcurrency
+ if cfg.PitrConcurrency == 0 {
+ cfg.PitrConcurrency = defaultPiTRConcurrency
+ }
+ if cfg.PitrBatchCount == 0 {
+ cfg.PitrBatchCount = defaultPiTRBatchCount
+ }
+ if cfg.PitrBatchSize == 0 {
+ cfg.PitrBatchSize = defaultPiTRBatchSize
}
+
+ log.Info("set restore kv files concurrency", zap.Int("concurrency", int(cfg.PitrConcurrency)))
+ cfg.Config.Concurrency = cfg.PitrConcurrency
}
func configureRestoreClient(ctx context.Context, client *restore.Client, cfg *RestoreConfig) error {
@@ -424,42 +462,6 @@ func CheckRestoreDBAndTable(client *restore.Client, cfg *RestoreConfig) error {
return nil
}
-func CheckNewCollationEnable(
- backupNewCollationEnable string,
- g glue.Glue,
- storage kv.Storage,
- CheckRequirements bool,
-) error {
- if backupNewCollationEnable == "" {
- if CheckRequirements {
- return errors.Annotatef(berrors.ErrUnknown,
- "the config 'new_collations_enabled_on_first_bootstrap' not found in backupmeta. "+
- "you can use \"show config WHERE name='new_collations_enabled_on_first_bootstrap';\" to manually check the config. "+
- "if you ensure the config 'new_collations_enabled_on_first_bootstrap' in backup cluster is as same as restore cluster, "+
- "use --check-requirements=false to skip this check")
- }
- log.Warn("the config 'new_collations_enabled_on_first_bootstrap' is not in backupmeta")
- return nil
- }
-
- se, err := g.CreateSession(storage)
- if err != nil {
- return errors.Trace(err)
- }
-
- newCollationEnable, err := se.GetGlobalVariable(tidbNewCollationEnabled)
- if err != nil {
- return errors.Trace(err)
- }
-
- if !strings.EqualFold(backupNewCollationEnable, newCollationEnable) {
- return errors.Annotatef(berrors.ErrUnknown,
- "the config 'new_collations_enabled_on_first_bootstrap' not match, upstream:%v, downstream: %v",
- backupNewCollationEnable, newCollationEnable)
- }
- return nil
-}
-
func isFullRestore(cmdName string) bool {
return cmdName == FullRestoreCmd
}
@@ -502,10 +504,7 @@ func RunRestore(c context.Context, g glue.Glue, cmdName string, cfg *RestoreConf
// according to https://github.com/pingcap/tidb/issues/34167.
// we should get the real config from tikv to adapt the dynamic region.
httpCli := httputil.NewClient(mgr.GetTLSConfig())
- mergeRegionSize, mergeRegionCount, err = mgr.GetMergeRegionSizeAndCount(ctx, httpCli)
- if err != nil {
- return errors.Trace(err)
- }
+ mergeRegionSize, mergeRegionCount = mgr.GetMergeRegionSizeAndCount(ctx, httpCli)
}
keepaliveCfg.PermitWithoutStream = true
@@ -531,7 +530,7 @@ func RunRestore(c context.Context, g glue.Glue, cmdName string, cfg *RestoreConf
return errors.Trace(versionErr)
}
}
- if err = CheckNewCollationEnable(backupMeta.GetNewCollationsEnabled(), g, mgr.GetStorage(), cfg.CheckRequirements); err != nil {
+ if err = restore.CheckNewCollationEnable(backupMeta.GetNewCollationsEnabled(), g, mgr.GetStorage(), cfg.CheckRequirements); err != nil {
return errors.Trace(err)
}
@@ -555,7 +554,7 @@ func RunRestore(c context.Context, g glue.Glue, cmdName string, cfg *RestoreConf
g.Record(summary.RestoreDataSize, archiveSize)
//restore from tidb will fetch a general Size issue https://github.com/pingcap/tidb/issues/27247
g.Record("Size", archiveSize)
- restoreTS, err := client.GetTS(ctx)
+ restoreTS, err := client.GetTSWithRetry(ctx)
if err != nil {
return errors.Trace(err)
}
diff --git a/br/pkg/task/restore_data.go b/br/pkg/task/restore_data.go
index f8e286dd0e72b..5b177faa9c055 100644
--- a/br/pkg/task/restore_data.go
+++ b/br/pkg/task/restore_data.go
@@ -19,6 +19,7 @@ import (
"github.com/pingcap/tidb/br/pkg/storage"
"github.com/pingcap/tidb/br/pkg/summary"
"github.com/pingcap/tidb/br/pkg/utils"
+ tidbconfig "github.com/pingcap/tidb/config"
"go.uber.org/zap"
)
@@ -71,6 +72,11 @@ func RunResolveKvData(c context.Context, g glue.Glue, cmdName string, cfg *Resto
defer mgr.Close()
keepaliveCfg.PermitWithoutStream = true
+ tc := tidbconfig.GetGlobalConfig()
+ tc.SkipRegisterToDashboard = true
+ tc.EnableGlobalKill = false
+ tidbconfig.StoreGlobalConfig(tc)
+
client := restore.NewRestoreClient(mgr.GetPDClient(), mgr.GetTLSConfig(), keepaliveCfg, false)
restoreTS, err := client.GetTS(ctx)
@@ -153,7 +159,23 @@ func RunResolveKvData(c context.Context, g glue.Glue, cmdName string, cfg *Resto
//TODO: restore volume type into origin type
//ModifyVolume(*ec2.ModifyVolumeInput) (*ec2.ModifyVolumeOutput, error) by backupmeta
+ // this is used for cloud restoration
+ err = client.Init(g, mgr.GetStorage())
+ if err != nil {
+ return errors.Trace(err)
+ }
+ defer client.Close()
+ log.Info("start to clear system user for cloud")
+ err = client.ClearSystemUsers(ctx, cfg.ResetSysUsers)
+
+ if err != nil {
+ return errors.Trace(err)
+ }
+ // since we cannot reset tiflash automaticlly. so we should start it manually
+ if err = client.ResetTiFlashReplicas(ctx, g, mgr.GetStorage()); err != nil {
+ return errors.Trace(err)
+ }
progress.Close()
summary.CollectDuration("restore duration", time.Since(startAll))
summary.SetSuccessStatus(true)
diff --git a/br/pkg/task/restore_raw.go b/br/pkg/task/restore_raw.go
index 6c15cd9989512..7b80ac18b4d87 100644
--- a/br/pkg/task/restore_raw.go
+++ b/br/pkg/task/restore_raw.go
@@ -80,10 +80,7 @@ func RunRestoreRaw(c context.Context, g glue.Glue, cmdName string, cfg *RestoreR
// according to https://github.com/pingcap/tidb/issues/34167.
// we should get the real config from tikv to adapt the dynamic region.
httpCli := httputil.NewClient(mgr.GetTLSConfig())
- mergeRegionSize, mergeRegionCount, err = mgr.GetMergeRegionSizeAndCount(ctx, httpCli)
- if err != nil {
- return errors.Trace(err)
- }
+ mergeRegionSize, mergeRegionCount = mgr.GetMergeRegionSizeAndCount(ctx, httpCli)
}
keepaliveCfg := GetKeepalive(&cfg.Config)
diff --git a/br/pkg/task/restore_test.go b/br/pkg/task/restore_test.go
index 94bbcb3c3692c..b13ecf0eccc08 100644
--- a/br/pkg/task/restore_test.go
+++ b/br/pkg/task/restore_test.go
@@ -63,6 +63,16 @@ func TestConfigureRestoreClient(t *testing.T) {
require.True(t, client.IsOnline())
}
+func TestAdjustRestoreConfigForStreamRestore(t *testing.T) {
+ restoreCfg := RestoreConfig{}
+
+ restoreCfg.adjustRestoreConfigForStreamRestore()
+ require.Equal(t, restoreCfg.PitrBatchCount, uint32(defaultPiTRBatchCount))
+ require.Equal(t, restoreCfg.PitrBatchSize, uint32(defaultPiTRBatchSize))
+ require.Equal(t, restoreCfg.PitrConcurrency, uint32(defaultPiTRConcurrency))
+ require.Equal(t, restoreCfg.Concurrency, restoreCfg.PitrConcurrency)
+}
+
func TestCheckRestoreDBAndTable(t *testing.T) {
cases := []struct {
cfgSchemas map[string]struct{}
diff --git a/br/pkg/task/stream.go b/br/pkg/task/stream.go
index a259452b14b2d..ced88b27e3f3d 100644
--- a/br/pkg/task/stream.go
+++ b/br/pkg/task/stream.go
@@ -307,10 +307,7 @@ func NewStreamMgr(ctx context.Context, cfg *StreamConfig, g glue.Glue, isStreamS
mgr: mgr,
}
if isStreamStart {
- client, err := backup.NewBackupClient(ctx, mgr)
- if err != nil {
- return nil, errors.Trace(err)
- }
+ client := backup.NewBackupClient(ctx, mgr)
backend, err := storage.ParseBackend(cfg.Storage, &cfg.BackendOptions)
if err != nil {
@@ -427,7 +424,7 @@ func (s *streamMgr) backupFullSchemas(ctx context.Context, g glue.Glue) error {
}
schemasConcurrency := uint(mathutil.Min(backup.DefaultSchemaConcurrency, schemas.Len()))
- err = schemas.BackupSchemas(ctx, metaWriter, s.mgr.GetStorage(), nil,
+ err = schemas.BackupSchemas(ctx, metaWriter, nil, s.mgr.GetStorage(), nil,
s.cfg.StartTS, schemasConcurrency, 0, true, nil)
if err != nil {
return errors.Trace(err)
@@ -461,6 +458,39 @@ func (s *streamMgr) checkStreamStartEnable(g glue.Glue) error {
return nil
}
+type RestoreFunc func() error
+
+// KeepGcDisabled keeps GC disabled and return a function that used to gc enabled.
+// gc.ratio-threshold = "-1.0", which represents disable gc in TiKV.
+func KeepGcDisabled(g glue.Glue, store kv.Storage) (RestoreFunc, error) {
+ se, err := g.CreateSession(store)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+
+ execCtx := se.GetSessionCtx().(sqlexec.RestrictedSQLExecutor)
+ oldRatio, err := utils.GetGcRatio(execCtx)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+
+ newRatio := "-1.0"
+ err = utils.SetGcRatio(execCtx, newRatio)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+
+ // If the oldRatio is negative, which is not normal status.
+ // It should set default value "1.1" after PiTR finished.
+ if strings.HasPrefix(oldRatio, "-") {
+ oldRatio = "1.1"
+ }
+
+ return func() error {
+ return utils.SetGcRatio(execCtx, oldRatio)
+ }, nil
+}
+
// RunStreamCommand run all kinds of `stream task`
func RunStreamCommand(
ctx context.Context,
@@ -1132,7 +1162,7 @@ func restoreStream(
}
defer client.Close()
- currentTS, err := client.GetTS(ctx)
+ currentTS, err := client.GetTSWithRetry(ctx)
if err != nil {
return errors.Trace(err)
}
@@ -1146,6 +1176,18 @@ func restoreStream(
// mode or emptied schedulers
defer restorePostWork(ctx, client, restoreSchedulers)
+ // It need disable GC in TiKV when PiTR.
+ // because the process of PITR is concurrent and kv events isn't sorted by tso.
+ restoreGc, err := KeepGcDisabled(g, mgr.GetStorage())
+ if err != nil {
+ return errors.Trace(err)
+ }
+ defer func() {
+ if err := restoreGc(); err != nil {
+ log.Error("failed to set gc enabled", zap.Error(err))
+ }
+ }()
+
err = client.InstallLogFileManager(ctx, cfg.StartTS, cfg.RestoreTS)
if err != nil {
return err
@@ -1200,10 +1242,10 @@ func restoreStream(
}
updateRewriteRules(rewriteRules, schemasReplace)
- dmlFiles, err := client.LoadDMLFiles(ctx)
+ logFilesIter, err := client.LoadDMLFiles(ctx)
pd := g.StartProgress(ctx, "Restore KV Files", int64(dataFileCount), !cfg.LogProgress)
err = withProgress(pd, func(p glue.Progress) error {
- return client.RestoreKVFiles(ctx, rewriteRules, dmlFiles, updateStats, p.Inc)
+ return client.RestoreKVFiles(ctx, rewriteRules, logFilesIter, cfg.PitrBatchCount, cfg.PitrBatchSize, updateStats, p.IncBy)
})
if err != nil {
return errors.Annotate(err, "failed to restore kv files")
@@ -1549,7 +1591,7 @@ func initRewriteRules(client *restore.Client, tables map[int64]*metautil.Table)
zap.Stringer("database", t.DB.Name),
zap.Int("old-id", int(t.Info.ID)),
zap.Array("rewrite-rules", zapcore.ArrayMarshalerFunc(func(ae zapcore.ArrayEncoder) error {
- for _, r := range rules {
+ for _, r := range tableRules {
for _, rule := range r.Data {
if err := ae.AppendObject(logutil.RewriteRuleObject(rule)); err != nil {
return err
diff --git a/br/pkg/utils/BUILD.bazel b/br/pkg/utils/BUILD.bazel
index 0ae948d18a779..c3bcc629183d5 100644
--- a/br/pkg/utils/BUILD.bazel
+++ b/br/pkg/utils/BUILD.bazel
@@ -79,6 +79,7 @@ go_test(
],
embed = [":utils"],
flaky = True,
+ shard_count = 20,
deps = [
"//br/pkg/errors",
"//br/pkg/metautil",
diff --git a/br/pkg/utils/db.go b/br/pkg/utils/db.go
index 23911fa6f0a93..9574c06670573 100644
--- a/br/pkg/utils/db.go
+++ b/br/pkg/utils/db.go
@@ -8,6 +8,7 @@ import (
"strings"
"sync"
+ "github.com/pingcap/errors"
"github.com/pingcap/log"
"github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/sessionctx"
@@ -15,6 +16,10 @@ import (
"go.uber.org/zap"
)
+const (
+ tidbNewCollationEnabled = "new_collation_enabled"
+)
+
var (
// check sql.DB and sql.Conn implement QueryExecutor and DBExecutor
_ DBExecutor = &sql.DB{}
@@ -94,14 +99,47 @@ func IsLogBackupEnabled(ctx sqlexec.RestrictedSQLExecutor) (bool, error) {
return true, nil
}
-// CheckLogBackupTaskExist increases the count of log backup task.
+func GetGcRatio(ctx sqlexec.RestrictedSQLExecutor) (string, error) {
+ valStr := "show config where name = 'gc.ratio-threshold' and type = 'tikv'"
+ rows, fields, errSQL := ctx.ExecRestrictedSQL(
+ kv.WithInternalSourceType(context.Background(), kv.InternalTxnBR),
+ nil,
+ valStr,
+ )
+ if errSQL != nil {
+ return "", errSQL
+ }
+ if len(rows) == 0 {
+ // no rows mean not support log backup.
+ return "", nil
+ }
+
+ d := rows[0].GetDatum(3, &fields[3].Column.FieldType)
+ return d.ToString()
+}
+
+func SetGcRatio(ctx sqlexec.RestrictedSQLExecutor, ratio string) error {
+ _, _, err := ctx.ExecRestrictedSQL(
+ kv.WithInternalSourceType(context.Background(), kv.InternalTxnBR),
+ nil,
+ "set config tikv `gc.ratio-threshold`=%?",
+ ratio,
+ )
+ if err != nil {
+ return errors.Annotatef(err, "failed to set config `gc.ratio-threshold`=%s", ratio)
+ }
+ log.Warn("set config tikv gc.ratio-threshold", zap.String("ratio", ratio))
+ return nil
+}
+
+// LogBackupTaskCountInc increases the count of log backup task.
func LogBackupTaskCountInc() {
LogBackupTaskMutex.Lock()
logBackupTaskCount++
LogBackupTaskMutex.Unlock()
}
-// CheckLogBackupTaskExist decreases the count of log backup task.
+// LogBackupTaskCountDec decreases the count of log backup task.
func LogBackupTaskCountDec() {
LogBackupTaskMutex.Lock()
logBackupTaskCount--
@@ -117,3 +155,8 @@ func CheckLogBackupTaskExist() bool {
func IsLogBackupInUse(ctx sessionctx.Context) bool {
return CheckLogBackupEnabled(ctx) && CheckLogBackupTaskExist()
}
+
+// GetTidbNewCollationEnabled returns the variable name of NewCollationEnabled.
+func GetTidbNewCollationEnabled() string {
+ return tidbNewCollationEnabled
+}
diff --git a/br/pkg/utils/db_test.go b/br/pkg/utils/db_test.go
index 08eac1e82594c..1334d868641f0 100644
--- a/br/pkg/utils/db_test.go
+++ b/br/pkg/utils/db_test.go
@@ -4,6 +4,7 @@ package utils_test
import (
"context"
+ "strings"
"testing"
"github.com/pingcap/errors"
@@ -35,7 +36,19 @@ func (m *mockRestrictedSQLExecutor) ExecRestrictedSQL(ctx context.Context, opts
if m.errHappen {
return nil, nil, errors.New("injected error")
}
- return m.rows, m.fields, nil
+
+ if strings.Contains(sql, "show config") {
+ return m.rows, m.fields, nil
+ } else if strings.Contains(sql, "set config") && strings.Contains(sql, "gc.ratio-threshold") {
+ value := args[0].(string)
+
+ for _, r := range m.rows {
+ d := types.Datum{}
+ d.SetString(value, "")
+ chunk.MutRow(r).SetDatum(3, d)
+ }
+ }
+ return nil, nil, nil
}
func TestIsLogBackupEnabled(t *testing.T) {
@@ -115,3 +128,43 @@ func TestCheckLogBackupTaskExist(t *testing.T) {
utils.LogBackupTaskCountDec()
require.False(t, utils.CheckLogBackupTaskExist())
}
+
+func TestGc(t *testing.T) {
+ // config format:
+ // MySQL [(none)]> show config where name = 'gc.ratio-threshold';
+ // +------+-------------------+--------------------+-------+
+ // | Type | Instance | Name | Value |
+ // +------+-------------------+--------------------+-------+
+ // | tikv | 172.16.6.46:3460 | gc.ratio-threshold | 1.1 |
+ // | tikv | 172.16.6.47:3460 | gc.ratio-threshold | 1.1 |
+ // +------+-------------------+--------------------+-------+
+ fields := make([]*ast.ResultField, 4)
+ tps := []*types.FieldType{
+ types.NewFieldType(mysql.TypeString),
+ types.NewFieldType(mysql.TypeString),
+ types.NewFieldType(mysql.TypeString),
+ types.NewFieldType(mysql.TypeString),
+ }
+ for i := 0; i < len(tps); i++ {
+ rf := new(ast.ResultField)
+ rf.Column = new(model.ColumnInfo)
+ rf.Column.FieldType = *tps[i]
+ fields[i] = rf
+ }
+ rows := make([]chunk.Row, 0, 2)
+ row := chunk.MutRowFromValues("tikv", " 127.0.0.1:20161", "log-backup.enable", "1.1").ToRow()
+ rows = append(rows, row)
+ row = chunk.MutRowFromValues("tikv", " 127.0.0.1:20162", "log-backup.enable", "1.1").ToRow()
+ rows = append(rows, row)
+
+ s := &mockRestrictedSQLExecutor{rows: rows, fields: fields}
+ ratio, err := utils.GetGcRatio(s)
+ require.Nil(t, err)
+ require.Equal(t, ratio, "1.1")
+
+ err = utils.SetGcRatio(s, "-1.0")
+ require.Nil(t, err)
+ ratio, err = utils.GetGcRatio(s)
+ require.Nil(t, err)
+ require.Equal(t, ratio, "-1.0")
+}
diff --git a/br/pkg/utils/key.go b/br/pkg/utils/key.go
index 062f4b5aac52d..62d194ca57a2e 100644
--- a/br/pkg/utils/key.go
+++ b/br/pkg/utils/key.go
@@ -163,7 +163,7 @@ func CloneSlice[T any](s []T) []T {
// toClampIn: |_____| |____| |________________|
// result: |_____| |_| |______________|
// we are assuming the arguments are sorted by the start key and no overlaps.
-// you can call CollapseRanges to get key ranges fits this requirements.
+// you can call spans.Collapse to get key ranges fits this requirements.
// Note: this algorithm is pretty like the `checkIntervalIsSubset`, can we get them together?
func IntersectAll(s1 []kv.KeyRange, s2 []kv.KeyRange) []kv.KeyRange {
currentClamping := 0
diff --git a/br/pkg/version/BUILD.bazel b/br/pkg/version/BUILD.bazel
index 8171081ae5df1..7a15014e378e6 100644
--- a/br/pkg/version/BUILD.bazel
+++ b/br/pkg/version/BUILD.bazel
@@ -10,7 +10,6 @@ go_library(
"//br/pkg/logutil",
"//br/pkg/utils",
"//br/pkg/version/build",
- "//sessionctx/variable",
"//util/engine",
"@com_github_coreos_go_semver//semver",
"@com_github_pingcap_errors//:errors",
@@ -29,7 +28,6 @@ go_test(
flaky = True,
deps = [
"//br/pkg/version/build",
- "//sessionctx/variable",
"@com_github_coreos_go_semver//semver",
"@com_github_data_dog_go_sqlmock//:go-sqlmock",
"@com_github_pingcap_kvproto//pkg/metapb",
diff --git a/br/pkg/version/version.go b/br/pkg/version/version.go
index ba3551f58b463..9cb974d48e13f 100644
--- a/br/pkg/version/version.go
+++ b/br/pkg/version/version.go
@@ -18,7 +18,6 @@ import (
"github.com/pingcap/tidb/br/pkg/logutil"
"github.com/pingcap/tidb/br/pkg/utils"
"github.com/pingcap/tidb/br/pkg/version/build"
- "github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/util/engine"
pd "github.com/tikv/pd/client"
"go.uber.org/zap"
@@ -32,6 +31,10 @@ var (
compatibleTiFlashMajor4 = semver.New("4.0.0")
versionHash = regexp.MustCompile("-[0-9]+-g[0-9a-f]{7,}")
+
+ checkpointSupportError error = nil
+ // pitrSupportBatchKVFiles specifies whether TiKV-server supports batch PITR.
+ pitrSupportBatchKVFiles bool = false
)
// NextMajorVersion returns the next major version.
@@ -134,6 +137,12 @@ func CheckVersionForBRPiTR(s *metapb.Store, tikvVersion *semver.Version) error {
return errors.Annotatef(berrors.ErrVersionMismatch, "TiKV node %s version %s is too low when use PiTR, please update tikv's version to at least v6.1.0(v6.2.0+ recommanded)",
s.Address, tikvVersion)
}
+ // If tikv version < 6.5, PITR do not support restoring batch kv files.
+ if tikvVersion.Major < 6 || (tikvVersion.Major == 6 && tikvVersion.Minor < 5) {
+ pitrSupportBatchKVFiles = false
+ } else {
+ pitrSupportBatchKVFiles = true
+ }
// The versions of BR and TiKV should be the same when use BR 6.1.0
if BRVersion.Major == 6 && BRVersion.Minor == 1 {
@@ -148,7 +157,6 @@ func CheckVersionForBRPiTR(s *metapb.Store, tikvVersion *semver.Version) error {
s.Address, tikvVersion, build.ReleaseVersion)
}
}
-
return nil
}
@@ -157,9 +165,7 @@ func CheckVersionForDDL(s *metapb.Store, tikvVersion *semver.Version) error {
// use tikvVersion instead of tidbVersion since br doesn't have mysql client to connect tidb.
requireVersion := semver.New("6.2.0-alpha")
if tikvVersion.Compare(*requireVersion) < 0 {
- log.Info("detected the old version of tidb cluster. set enable concurrent ddl to false")
- variable.EnableConcurrentDDL.Store(false)
- return nil
+ return errors.Errorf("detected the old version of tidb cluster, require: >= 6.2.0, but got %s", tikvVersion.String())
}
return nil
}
@@ -199,6 +205,14 @@ func CheckVersionForBR(s *metapb.Store, tikvVersion *semver.Version) error {
}
}
+ // reset the checkpoint support error
+ checkpointSupportError = nil
+ if tikvVersion.Major < 6 || (tikvVersion.Major == 6 && tikvVersion.Minor < 5) {
+ // checkpoint mode only support after v6.5.0
+ checkpointSupportError = errors.Annotatef(berrors.ErrVersionMismatch, "TiKV node %s version %s is too low when use checkpoint, please update tikv's version to at least v6.5.0",
+ s.Address, tikvVersion)
+ }
+
// don't warn if we are the master build, which always have the version v4.0.0-beta.2-*
if build.GitBranch != "master" && tikvVersion.Compare(*BRVersion) > 0 {
log.Warn(fmt.Sprintf("BR version is outdated, please consider use version %s of BR", tikvVersion))
@@ -306,6 +320,14 @@ func FetchVersion(ctx context.Context, db utils.QueryExecutor) (string, error) {
return versionInfo, nil
}
+func CheckCheckpointSupport() error {
+ return checkpointSupportError
+}
+
+func CheckPITRSupportBatchKVFiles() bool {
+ return pitrSupportBatchKVFiles
+}
+
type ServerType int
const (
diff --git a/br/pkg/version/version_test.go b/br/pkg/version/version_test.go
index f70a2074be0ec..927eeee119d5b 100644
--- a/br/pkg/version/version_test.go
+++ b/br/pkg/version/version_test.go
@@ -13,7 +13,6 @@ import (
"github.com/coreos/go-semver/semver"
"github.com/pingcap/kvproto/pkg/metapb"
"github.com/pingcap/tidb/br/pkg/version/build"
- "github.com/pingcap/tidb/sessionctx/variable"
"github.com/stretchr/testify/require"
pd "github.com/tikv/pd/client"
)
@@ -76,6 +75,15 @@ func TestCheckClusterVersion(t *testing.T) {
require.Regexp(t, `^TiKV .* version mismatch when use PiTR v6.2.0\+, please `, err.Error())
}
+ {
+ // Default value of `pitrSupportBatchKVFiles` should be `false`.
+ build.ReleaseVersion = "v6.5.0"
+ mock.getAllStores = func() []*metapb.Store {
+ return []*metapb.Store{{Version: `v6.2.0`}}
+ }
+ require.Equal(t, CheckPITRSupportBatchKVFiles(), false)
+ }
+
{
build.ReleaseVersion = "v6.2.0"
mock.getAllStores = func() []*metapb.Store {
@@ -83,6 +91,29 @@ func TestCheckClusterVersion(t *testing.T) {
}
err := CheckClusterVersion(context.Background(), &mock, CheckVersionForBRPiTR)
require.NoError(t, err)
+ require.Equal(t, CheckPITRSupportBatchKVFiles(), false)
+ }
+
+ {
+ pitrSupportBatchKVFiles = true
+ build.ReleaseVersion = "v6.2.0"
+ mock.getAllStores = func() []*metapb.Store {
+ return []*metapb.Store{{Version: `v6.4.0`}}
+ }
+ err := CheckClusterVersion(context.Background(), &mock, CheckVersionForBRPiTR)
+ require.NoError(t, err)
+ require.Equal(t, CheckPITRSupportBatchKVFiles(), false)
+ }
+
+ {
+ pitrSupportBatchKVFiles = true
+ build.ReleaseVersion = "v6.2.0"
+ mock.getAllStores = func() []*metapb.Store {
+ return []*metapb.Store{{Version: `v6.5.0`}}
+ }
+ err := CheckClusterVersion(context.Background(), &mock, CheckVersionForBRPiTR)
+ require.NoError(t, err)
+ require.Equal(t, CheckPITRSupportBatchKVFiles(), true)
}
{
@@ -205,6 +236,29 @@ func TestCheckClusterVersion(t *testing.T) {
}
err := CheckClusterVersion(context.Background(), &mock, CheckVersionForBR)
require.NoError(t, err)
+ require.Error(t, CheckCheckpointSupport())
+ }
+
+ {
+ build.ReleaseVersion = "v6.0.0-rc.2"
+ mock.getAllStores = func() []*metapb.Store {
+ // TiKV v6.0.0-rc.1 with BR v6.0.0-rc.2 is ok
+ return []*metapb.Store{{Version: "v6.0.0-rc.1"}}
+ }
+ err := CheckClusterVersion(context.Background(), &mock, CheckVersionForBR)
+ require.NoError(t, err)
+ require.Error(t, CheckCheckpointSupport())
+ }
+
+ {
+ build.ReleaseVersion = "v6.5.0-rc.2"
+ mock.getAllStores = func() []*metapb.Store {
+ // TiKV v6.5.0-rc.1 with BR v6.5.0-rc.2 is ok
+ return []*metapb.Store{{Version: "v6.5.0-rc.1"}}
+ }
+ err := CheckClusterVersion(context.Background(), &mock, CheckVersionForBR)
+ require.NoError(t, err)
+ require.NoError(t, CheckCheckpointSupport())
}
{
@@ -266,50 +320,40 @@ func TestCheckClusterVersion(t *testing.T) {
mock.getAllStores = func() []*metapb.Store {
return []*metapb.Store{{Version: "v6.4.0"}}
}
- originVal := variable.EnableConcurrentDDL.Load()
err := CheckClusterVersion(context.Background(), &mock, CheckVersionForDDL)
require.NoError(t, err)
- require.Equal(t, originVal, variable.EnableConcurrentDDL.Load())
}
{
mock.getAllStores = func() []*metapb.Store {
return []*metapb.Store{{Version: "v6.2.0"}}
}
- originVal := variable.EnableConcurrentDDL.Load()
err := CheckClusterVersion(context.Background(), &mock, CheckVersionForDDL)
require.NoError(t, err)
- require.Equal(t, originVal, variable.EnableConcurrentDDL.Load())
}
{
mock.getAllStores = func() []*metapb.Store {
return []*metapb.Store{{Version: "v6.2.0-alpha"}}
}
- originVal := variable.EnableConcurrentDDL.Load()
err := CheckClusterVersion(context.Background(), &mock, CheckVersionForDDL)
require.NoError(t, err)
- require.Equal(t, originVal, variable.EnableConcurrentDDL.Load())
}
{
mock.getAllStores = func() []*metapb.Store {
return []*metapb.Store{{Version: "v6.1.0"}}
}
- variable.EnableConcurrentDDL.Store(true)
err := CheckClusterVersion(context.Background(), &mock, CheckVersionForDDL)
- require.NoError(t, err)
- require.False(t, variable.EnableConcurrentDDL.Load())
+ require.Error(t, err)
}
{
mock.getAllStores = func() []*metapb.Store {
return []*metapb.Store{{Version: "v5.4.0"}}
}
- variable.EnableConcurrentDDL.Store(true)
err := CheckClusterVersion(context.Background(), &mock, CheckVersionForDDL)
- require.NoError(t, err)
- require.False(t, variable.EnableConcurrentDDL.Load())
+ require.Error(t, err)
}
}
diff --git a/br/tests/br_foreign_key/run.sh b/br/tests/br_foreign_key/run.sh
new file mode 100644
index 0000000000000..eafd38a180d40
--- /dev/null
+++ b/br/tests/br_foreign_key/run.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+#
+# Copyright 2022 PingCAP, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eu
+DB="$TEST_NAME"
+
+run_sql "set @@global.foreign_key_checks=1;"
+run_sql "set @@foreign_key_checks=1;"
+run_sql "create schema $DB;"
+run_sql "create table $DB.t1 (id int key);"
+run_sql "create table $DB.t2 (id int key, a int, b int, foreign key fk_1 (a) references t1(id) ON UPDATE SET NULL ON DELETE SET NULL, foreign key fk_2 (b) references t1(id) ON DELETE CASCADE ON UPDATE CASCADE);"
+run_sql "insert into $DB.t1 values (1), (2), (3);"
+run_sql "insert into $DB.t2 values (1, 1, 1), (2, 2, 2), (3, 3, 3);"
+run_sql "update $DB.t1 set id=id+10 where id in (1, 3);"
+run_sql "delete from $DB.t1 where id = 2;"
+
+echo "backup start..."
+run_br backup db --db "$DB" -s "local://$TEST_DIR/$DB" --pd $PD_ADDR
+
+run_sql "drop schema $DB;"
+
+echo "restore start..."
+run_br restore db --db $DB -s "local://$TEST_DIR/$DB" --pd $PD_ADDR
+
+set -x
+
+run_sql "select count(*) from $DB.t1;"
+check_contains 'count(*): 2'
+
+run_sql "select count(*) from $DB.t2;"
+check_contains 'count(*): 2'
+
+run_sql "select id, a, b from $DB.t2;"
+check_contains 'id: 1'
+check_contains 'id: 3'
+check_contains 'a: NULL'
+check_contains 'b: 11'
+check_contains 'b: 13'
+
+run_sql "drop schema $DB"
diff --git a/br/tests/br_full_cluster_restore/run.sh b/br/tests/br_full_cluster_restore/run.sh
index e75b4d49fc914..14074e61f3825 100644
--- a/br/tests/br_full_cluster_restore/run.sh
+++ b/br/tests/br_full_cluster_restore/run.sh
@@ -55,7 +55,8 @@ restart_services
# mock incompatible manually
run_sql "alter table mysql.user add column xx int;"
run_br restore full --with-sys-table --log-file $br_log_file -s "local://$backup_dir" > $res_file 2>&1 || true
-check_contains "the target cluster is not compatible with the backup data"
+run_sql "select count(*) from mysql.user"
+check_contains "count(*): 6"
echo "--> incompatible system table: less column on target cluster"
restart_services
diff --git a/br/tests/br_ttl/run.sh b/br/tests/br_ttl/run.sh
new file mode 100644
index 0000000000000..cfb1a38c8281b
--- /dev/null
+++ b/br/tests/br_ttl/run.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+#
+# Copyright 2022 PingCAP, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eu
+DB="$TEST_NAME"
+
+PROGRESS_FILE="$TEST_DIR/progress_file"
+BACKUPMETAV1_LOG="$TEST_DIR/backup.log"
+BACKUPMETAV2_LOG="$TEST_DIR/backupv2.log"
+RESTORE_LOG="$TEST_DIR/restore.log"
+rm -rf $PROGRESS_FILE
+
+run_sql "create schema $DB;"
+run_sql "create table $DB.ttl_test_tbl(id int primary key, t datetime) TTL=\`t\` + interval 1 day TTL_ENABLE='ON'"
+
+# backup db
+echo "full backup meta v2 start..."
+unset BR_LOG_TO_TERM
+rm -f $BACKUPMETAV2_LOG
+run_br backup full --log-file $BACKUPMETAV2_LOG -s "local://$TEST_DIR/${DB}v2" --pd $PD_ADDR --use-backupmeta-v2
+
+echo "full backup meta v1 start..."
+rm -f $BACKUPMETAV1_LOG
+run_br backup full --log-file $BACKUPMETAV1_LOG -s "local://$TEST_DIR/$DB" --pd $PD_ADDR
+
+TTL_MARK='![ttl]'
+CREATE_SQL_CONTAINS="/*T${TTL_MARK} TTL=\`t\` + INTERVAL 1 DAY */ /*T${TTL_MARK} TTL_ENABLE='OFF' */"
+
+# restore v2
+run_sql "DROP DATABASE $DB;"
+echo "restore ttl table start v2..."
+run_br restore db --db $DB -s "local://$TEST_DIR/${DB}v2" --pd $PD_ADDR
+run_sql "show create table $DB.ttl_test_tbl;"
+check_contains "$CREATE_SQL_CONTAINS"
+
+# restore v1
+run_sql "DROP DATABASE $DB;"
+echo "restore ttl table start v1..."
+run_br restore db --db $DB -s "local://$TEST_DIR/$DB" --pd $PD_ADDR
+run_sql "show create table $DB.ttl_test_tbl;"
+check_contains "$CREATE_SQL_CONTAINS"
diff --git a/br/tests/lightning_check_partial_imported/config.toml b/br/tests/lightning_check_partial_imported/config.toml
new file mode 100644
index 0000000000000..30cb6fe6b4eb3
--- /dev/null
+++ b/br/tests/lightning_check_partial_imported/config.toml
@@ -0,0 +1,5 @@
+[tikv-importer]
+backend = "local"
+
+[mydumper.csv]
+header = true
diff --git a/br/tests/lightning_check_partial_imported/data/db01.tbl01-schema.sql b/br/tests/lightning_check_partial_imported/data/db01.tbl01-schema.sql
new file mode 100644
index 0000000000000..b6832e95d95e3
--- /dev/null
+++ b/br/tests/lightning_check_partial_imported/data/db01.tbl01-schema.sql
@@ -0,0 +1,12 @@
+CREATE TABLE tbl01 (
+ `id` INTEGER,
+ `val` VARCHAR(64),
+ `aaa` CHAR(66) DEFAULT NULL,
+ `bbb` CHAR(10) NOT NULL,
+ `ccc` CHAR(42) DEFAULT NULL,
+ `ddd` CHAR(42) DEFAULT NULL,
+ `eee` CHAR(66) DEFAULT NULL,
+ `fff` VARCHAR(128) DEFAULT NULL,
+ KEY `aaa` (`aaa`),
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
diff --git a/br/tests/lightning_check_partial_imported/data/db01.tbl01.csv b/br/tests/lightning_check_partial_imported/data/db01.tbl01.csv
new file mode 100644
index 0000000000000..108134af2ee72
--- /dev/null
+++ b/br/tests/lightning_check_partial_imported/data/db01.tbl01.csv
@@ -0,0 +1,6 @@
+id,val,aaa,bbb,ccc,ddd,eee,fff
+1,"v01","a01","b01","c01","d01","e01","f01"
+2,"v02","a02","b02","c02","d02","e02","f02"
+3,"v03","a03","b03","c03","d03","e03","f03"
+4,"v04","a04","b04","c04","d04","e04","f04"
+5,"v05","a05","b05","c05","d05","e05","f05"
diff --git a/br/tests/lightning_check_partial_imported/run.sh b/br/tests/lightning_check_partial_imported/run.sh
new file mode 100755
index 0000000000000..00ed78a5013d1
--- /dev/null
+++ b/br/tests/lightning_check_partial_imported/run.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+#
+# Copyright 2022 PingCAP, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+MYDIR=$(dirname "${BASH_SOURCE[0]}")
+set -eux
+
+check_cluster_version 4 0 0 'local backend' || exit 0
+
+export GO_FAILPOINTS="github.com/pingcap/tidb/br/pkg/lightning/restore/FailBeforeStartImportingIndexEngine=return"
+set +e
+if run_lightning; then
+ echo "The first import doesn't fail as expected" >&2
+ exit 1
+fi
+set -e
+
+data_records=$(tail -n +2 "${MYDIR}/data/db01.tbl01.csv" | wc -l | xargs echo )
+run_sql "SELECT COUNT(*) FROM db01.tbl01 USE INDEX();"
+check_contains "${data_records}"
+
+export GO_FAILPOINTS=""
+set +e
+if run_lightning --check-requirements=1; then
+ echo "The pre-check doesn't find out the non-empty table problem"
+ exit 2
+fi
+set -e
+
+run_sql "TRUNCATE TABLE db01.tbl01;"
+run_lightning --check-requirements=1
+run_sql "SELECT COUNT(*) FROM db01.tbl01;"
+check_contains "${data_records}"
+run_sql "SELECT COUNT(*) FROM db01.tbl01 USE INDEX();"
+check_contains "${data_records}"
diff --git a/br/tests/lightning_checkpoint/run.sh b/br/tests/lightning_checkpoint/run.sh
index 86551fd6246eb..5263dd90f1acf 100755
--- a/br/tests/lightning_checkpoint/run.sh
+++ b/br/tests/lightning_checkpoint/run.sh
@@ -79,6 +79,9 @@ for i in $(seq "$TABLE_COUNT"); do
done
set -e
+# at the failure of last table, all data engines are imported so finished == total
+grep "print lightning status" "$TEST_DIR/lightning.log" | grep -q "equal=true"
+
export GO_FAILPOINTS="$SLOWDOWN_FAILPOINTS"
# After everything is done, there should be no longer new calls to ImportEngine
# (and thus `kill_lightning_after_one_import` will spare this final check)
diff --git a/br/tests/lightning_checkpoint_columns/run.sh b/br/tests/lightning_checkpoint_columns/run.sh
index 401c75cfb9f64..5809d05a1b830 100755
--- a/br/tests/lightning_checkpoint_columns/run.sh
+++ b/br/tests/lightning_checkpoint_columns/run.sh
@@ -29,6 +29,8 @@ echo "INSERT INTO tbl (j, i) VALUES (3, 1),(4, 2);" > "$DBPATH/cp_tsr.tbl.sql"
# Set the failpoint to kill the lightning instance as soon as one row is written
PKG="github.com/pingcap/tidb/br/pkg/lightning/restore"
export GO_FAILPOINTS="$PKG/SlowDownWriteRows=sleep(1000);$PKG/FailAfterWriteRows=panic;$PKG/SetMinDeliverBytes=return(1)"
+# Check after 1 row is written in tidb backend, the finished progress is updated
+export GO_FAILPOINTS="${GO_FAILPOINTS};github.com/pingcap/tidb/br/pkg/lightning/PrintStatus=return()"
# Start importing the tables.
run_sql 'DROP DATABASE IF EXISTS cp_tsr'
@@ -40,11 +42,16 @@ set -e
run_sql 'SELECT count(*) FROM `cp_tsr`.tbl'
check_contains "count(*): 1"
+# After FailAfterWriteRows, the finished bytes is 36 as the first row size
+grep "PrintStatus Failpoint" "$TEST_DIR/lightning.log" | grep -q "finished=36"
+
# restart lightning from checkpoint, the second line should be written successfully
-export GO_FAILPOINTS=
+# also check after restart from checkpoint, final finished equals to total
+export GO_FAILPOINTS="github.com/pingcap/tidb/br/pkg/lightning/PrintStatus=return()"
set +e
run_lightning -d "$DBPATH" --backend tidb --enable-checkpoint=1 2> /dev/null
set -e
run_sql 'SELECT j FROM `cp_tsr`.tbl WHERE i = 2;'
check_contains "j: 4"
+grep "PrintStatus Failpoint" "$TEST_DIR/lightning.log" | grep -q "equal=true"
diff --git a/br/tests/lightning_compress/config.toml b/br/tests/lightning_compress/config.toml
new file mode 100644
index 0000000000000..000018c5c41d4
--- /dev/null
+++ b/br/tests/lightning_compress/config.toml
@@ -0,0 +1,18 @@
+[mydumper.csv]
+separator = ','
+delimiter = '"'
+header = true
+not-null = false
+null = '\N'
+backslash-escape = true
+trim-last-separator = false
+
+[checkpoint]
+enable = true
+schema = "tidb_lightning_checkpoint_test"
+driver = "mysql"
+keep-after-success = true
+
+[tikv-importer]
+send-kv-pairs=10
+region-split-size = 1024
diff --git a/br/tests/lightning_compress/data.gzip/compress-schema-create.sql.gz b/br/tests/lightning_compress/data.gzip/compress-schema-create.sql.gz
new file mode 100644
index 0000000000000..6571d2a15b507
Binary files /dev/null and b/br/tests/lightning_compress/data.gzip/compress-schema-create.sql.gz differ
diff --git a/br/tests/lightning_compress/data.gzip/compress.empty_strings-schema.sql.gz b/br/tests/lightning_compress/data.gzip/compress.empty_strings-schema.sql.gz
new file mode 100644
index 0000000000000..542898561bab1
Binary files /dev/null and b/br/tests/lightning_compress/data.gzip/compress.empty_strings-schema.sql.gz differ
diff --git a/br/tests/lightning_compress/data.gzip/compress.empty_strings.000000000.csv.gz b/br/tests/lightning_compress/data.gzip/compress.empty_strings.000000000.csv.gz
new file mode 100644
index 0000000000000..bfa13ed67b006
Binary files /dev/null and b/br/tests/lightning_compress/data.gzip/compress.empty_strings.000000000.csv.gz differ
diff --git a/br/tests/lightning_compress/data.gzip/compress.escapes-schema.sql.gz b/br/tests/lightning_compress/data.gzip/compress.escapes-schema.sql.gz
new file mode 100644
index 0000000000000..bed4b7859ac92
Binary files /dev/null and b/br/tests/lightning_compress/data.gzip/compress.escapes-schema.sql.gz differ
diff --git a/br/tests/lightning_compress/data.gzip/compress.escapes.000000000.csv.gz b/br/tests/lightning_compress/data.gzip/compress.escapes.000000000.csv.gz
new file mode 100644
index 0000000000000..37028e36d9de8
Binary files /dev/null and b/br/tests/lightning_compress/data.gzip/compress.escapes.000000000.csv.gz differ
diff --git a/br/tests/lightning_compress/data.gzip/compress.multi_rows-schema.sql.gz b/br/tests/lightning_compress/data.gzip/compress.multi_rows-schema.sql.gz
new file mode 100644
index 0000000000000..328fed9cb3df8
Binary files /dev/null and b/br/tests/lightning_compress/data.gzip/compress.multi_rows-schema.sql.gz differ
diff --git a/br/tests/lightning_compress/data.gzip/compress.multi_rows.000000000.csv.gz b/br/tests/lightning_compress/data.gzip/compress.multi_rows.000000000.csv.gz
new file mode 100644
index 0000000000000..c732af263d576
Binary files /dev/null and b/br/tests/lightning_compress/data.gzip/compress.multi_rows.000000000.csv.gz differ
diff --git a/br/tests/lightning_compress/data.gzip/compress.threads-schema.sql.gz b/br/tests/lightning_compress/data.gzip/compress.threads-schema.sql.gz
new file mode 100644
index 0000000000000..1782675bfc7fe
Binary files /dev/null and b/br/tests/lightning_compress/data.gzip/compress.threads-schema.sql.gz differ
diff --git a/br/tests/lightning_compress/data.gzip/compress.threads.000000000.csv.gz b/br/tests/lightning_compress/data.gzip/compress.threads.000000000.csv.gz
new file mode 100644
index 0000000000000..683eade1cdb9f
Binary files /dev/null and b/br/tests/lightning_compress/data.gzip/compress.threads.000000000.csv.gz differ
diff --git a/br/tests/lightning_compress/data.snappy/compress-schema-create.sql.snappy b/br/tests/lightning_compress/data.snappy/compress-schema-create.sql.snappy
new file mode 100644
index 0000000000000..afa2211c77475
Binary files /dev/null and b/br/tests/lightning_compress/data.snappy/compress-schema-create.sql.snappy differ
diff --git a/br/tests/lightning_compress/data.snappy/compress.empty_strings-schema.sql.snappy b/br/tests/lightning_compress/data.snappy/compress.empty_strings-schema.sql.snappy
new file mode 100644
index 0000000000000..cab30d082385a
Binary files /dev/null and b/br/tests/lightning_compress/data.snappy/compress.empty_strings-schema.sql.snappy differ
diff --git a/br/tests/lightning_compress/data.snappy/compress.empty_strings.000000000.sql.snappy b/br/tests/lightning_compress/data.snappy/compress.empty_strings.000000000.sql.snappy
new file mode 100644
index 0000000000000..9c81e8f78f234
Binary files /dev/null and b/br/tests/lightning_compress/data.snappy/compress.empty_strings.000000000.sql.snappy differ
diff --git a/br/tests/lightning_compress/data.snappy/compress.escapes-schema.sql.snappy b/br/tests/lightning_compress/data.snappy/compress.escapes-schema.sql.snappy
new file mode 100644
index 0000000000000..9e27befa522a0
Binary files /dev/null and b/br/tests/lightning_compress/data.snappy/compress.escapes-schema.sql.snappy differ
diff --git a/br/tests/lightning_compress/data.snappy/compress.escapes.000000000.sql.snappy b/br/tests/lightning_compress/data.snappy/compress.escapes.000000000.sql.snappy
new file mode 100644
index 0000000000000..1380b47d9881e
Binary files /dev/null and b/br/tests/lightning_compress/data.snappy/compress.escapes.000000000.sql.snappy differ
diff --git a/br/tests/lightning_compress/data.snappy/compress.multi_rows-schema.sql.snappy b/br/tests/lightning_compress/data.snappy/compress.multi_rows-schema.sql.snappy
new file mode 100644
index 0000000000000..5cc0365d1c65d
Binary files /dev/null and b/br/tests/lightning_compress/data.snappy/compress.multi_rows-schema.sql.snappy differ
diff --git a/br/tests/lightning_compress/data.snappy/compress.multi_rows.000000000.sql.snappy b/br/tests/lightning_compress/data.snappy/compress.multi_rows.000000000.sql.snappy
new file mode 100644
index 0000000000000..7f5bf585e106c
Binary files /dev/null and b/br/tests/lightning_compress/data.snappy/compress.multi_rows.000000000.sql.snappy differ
diff --git a/br/tests/lightning_compress/data.snappy/compress.threads-schema.sql.snappy b/br/tests/lightning_compress/data.snappy/compress.threads-schema.sql.snappy
new file mode 100644
index 0000000000000..b1c8b89565bfb
Binary files /dev/null and b/br/tests/lightning_compress/data.snappy/compress.threads-schema.sql.snappy differ
diff --git a/br/tests/lightning_compress/data.snappy/compress.threads.000000000.sql.snappy b/br/tests/lightning_compress/data.snappy/compress.threads.000000000.sql.snappy
new file mode 100644
index 0000000000000..dc7c1ee8adc0b
Binary files /dev/null and b/br/tests/lightning_compress/data.snappy/compress.threads.000000000.sql.snappy differ
diff --git a/br/tests/lightning_compress/data.zstd/compress-schema-create.sql.zst b/br/tests/lightning_compress/data.zstd/compress-schema-create.sql.zst
new file mode 100644
index 0000000000000..12bdbd710973e
Binary files /dev/null and b/br/tests/lightning_compress/data.zstd/compress-schema-create.sql.zst differ
diff --git a/br/tests/lightning_compress/data.zstd/compress.empty_strings-schema.sql.zst b/br/tests/lightning_compress/data.zstd/compress.empty_strings-schema.sql.zst
new file mode 100644
index 0000000000000..f9b922954ff3d
Binary files /dev/null and b/br/tests/lightning_compress/data.zstd/compress.empty_strings-schema.sql.zst differ
diff --git a/br/tests/lightning_compress/data.zstd/compress.empty_strings.000000000.csv.zst b/br/tests/lightning_compress/data.zstd/compress.empty_strings.000000000.csv.zst
new file mode 100644
index 0000000000000..aa89918bb2cee
Binary files /dev/null and b/br/tests/lightning_compress/data.zstd/compress.empty_strings.000000000.csv.zst differ
diff --git a/br/tests/lightning_compress/data.zstd/compress.escapes-schema.sql.zst b/br/tests/lightning_compress/data.zstd/compress.escapes-schema.sql.zst
new file mode 100644
index 0000000000000..fa4b4e6b3497d
Binary files /dev/null and b/br/tests/lightning_compress/data.zstd/compress.escapes-schema.sql.zst differ
diff --git a/br/tests/lightning_compress/data.zstd/compress.escapes.000000000.csv.zst b/br/tests/lightning_compress/data.zstd/compress.escapes.000000000.csv.zst
new file mode 100644
index 0000000000000..40994e745bdf3
Binary files /dev/null and b/br/tests/lightning_compress/data.zstd/compress.escapes.000000000.csv.zst differ
diff --git a/br/tests/lightning_compress/data.zstd/compress.multi_rows-schema.sql.zst b/br/tests/lightning_compress/data.zstd/compress.multi_rows-schema.sql.zst
new file mode 100644
index 0000000000000..d64a9a4a879d3
Binary files /dev/null and b/br/tests/lightning_compress/data.zstd/compress.multi_rows-schema.sql.zst differ
diff --git a/br/tests/lightning_compress/data.zstd/compress.multi_rows.000000000.csv.zst b/br/tests/lightning_compress/data.zstd/compress.multi_rows.000000000.csv.zst
new file mode 100644
index 0000000000000..4db1bea4c69f9
Binary files /dev/null and b/br/tests/lightning_compress/data.zstd/compress.multi_rows.000000000.csv.zst differ
diff --git a/br/tests/lightning_compress/data.zstd/compress.threads-schema.sql.zst b/br/tests/lightning_compress/data.zstd/compress.threads-schema.sql.zst
new file mode 100644
index 0000000000000..3a41c8de4816c
Binary files /dev/null and b/br/tests/lightning_compress/data.zstd/compress.threads-schema.sql.zst differ
diff --git a/br/tests/lightning_compress/data.zstd/compress.threads.000000000.csv.zst b/br/tests/lightning_compress/data.zstd/compress.threads.000000000.csv.zst
new file mode 100644
index 0000000000000..13eef0ba83011
Binary files /dev/null and b/br/tests/lightning_compress/data.zstd/compress.threads.000000000.csv.zst differ
diff --git a/br/tests/lightning_compress/run.sh b/br/tests/lightning_compress/run.sh
new file mode 100755
index 0000000000000..bf48b09b2cccd
--- /dev/null
+++ b/br/tests/lightning_compress/run.sh
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+set -eu
+
+for BACKEND in tidb local; do
+ for compress in gzip snappy zstd; do
+ if [ "$BACKEND" = 'local' ]; then
+ check_cluster_version 4 0 0 'local backend' || continue
+ fi
+
+ # Set minDeliverBytes to a small enough number to only write only 1 row each time
+ # Set the failpoint to kill the lightning instance as soon as one row is written
+ PKG="github.com/pingcap/tidb/br/pkg/lightning/restore"
+ export GO_FAILPOINTS="$PKG/SlowDownWriteRows=sleep(1000);$PKG/FailAfterWriteRows=panic;$PKG/SetMinDeliverBytes=return(1)"
+
+ # Start importing the tables.
+ run_sql 'DROP DATABASE IF EXISTS compress'
+ run_sql 'DROP DATABASE IF EXISTS tidb_lightning_checkpoint_test'
+ set +e
+ run_lightning --backend $BACKEND -d "tests/$TEST_NAME/data.$compress" --enable-checkpoint=1 2> /dev/null
+ set -e
+
+ # restart lightning from checkpoint, the second line should be written successfully
+ export GO_FAILPOINTS=
+ set +e
+ run_lightning --backend $BACKEND -d "tests/$TEST_NAME/data.$compress" --enable-checkpoint=1 2> /dev/null
+ set -e
+
+ run_sql 'SELECT count(*), sum(PROCESSLIST_TIME), sum(THREAD_OS_ID), count(PROCESSLIST_STATE) FROM compress.threads'
+ check_contains 'count(*): 43'
+ check_contains 'sum(PROCESSLIST_TIME): 322253'
+ check_contains 'sum(THREAD_OS_ID): 303775702'
+ check_contains 'count(PROCESSLIST_STATE): 3'
+
+ run_sql 'SELECT count(*) FROM compress.threads WHERE PROCESSLIST_TIME IS NOT NULL'
+ check_contains 'count(*): 12'
+
+ run_sql 'SELECT count(*) FROM compress.multi_rows WHERE a="aaaaaaaaaa"'
+ check_contains 'count(*): 100000'
+
+ run_sql 'SELECT hex(t), j, hex(b) FROM compress.escapes WHERE i = 1'
+ check_contains 'hex(t): 5C'
+ check_contains 'j: {"?": []}'
+ check_contains 'hex(b): FFFFFFFF'
+
+ run_sql 'SELECT hex(t), j, hex(b) FROM compress.escapes WHERE i = 2'
+ check_contains 'hex(t): 22'
+ check_contains 'j: "\n\n\n"'
+ check_contains 'hex(b): 0D0A0D0A'
+
+ run_sql 'SELECT hex(t), j, hex(b) FROM compress.escapes WHERE i = 3'
+ check_contains 'hex(t): 0A'
+ check_contains 'j: [",,,"]'
+ check_contains 'hex(b): 5C2C5C2C'
+
+ run_sql 'SELECT id FROM compress.empty_strings WHERE a = """"'
+ check_contains 'id: 3'
+ run_sql 'SELECT id FROM compress.empty_strings WHERE b <> ""'
+ check_not_contains 'id:'
+ done
+done
diff --git a/br/tests/lightning_fail_fast/run.sh b/br/tests/lightning_fail_fast/run.sh
index 7e057e3ee999c..5f8efb8b44712 100755
--- a/br/tests/lightning_fail_fast/run.sh
+++ b/br/tests/lightning_fail_fast/run.sh
@@ -25,7 +25,7 @@ for CFG in chunk engine; do
! run_lightning --backend tidb --enable-checkpoint=0 --log-file "$TEST_DIR/lightning-tidb.log" --config "tests/$TEST_NAME/$CFG.toml"
[ $? -eq 0 ]
- tail -n 10 $TEST_DIR/lightning-tidb.log | grep "ERROR" | tail -n 1 | grep -Fq "Error 1062: Duplicate entry '1-1' for key 'tb.uq'"
+ tail -n 10 $TEST_DIR/lightning-tidb.log | grep "ERROR" | tail -n 1 | grep -Fq "Error 1062 (23000): Duplicate entry '1-1' for key 'tb.uq'"
! grep -Fq "restore file completed" $TEST_DIR/lightning-tidb.log
[ $? -eq 0 ]
diff --git a/br/tests/lightning_foreign_key/config.toml b/br/tests/lightning_foreign_key/config.toml
new file mode 100644
index 0000000000000..3c85a830bfa22
--- /dev/null
+++ b/br/tests/lightning_foreign_key/config.toml
@@ -0,0 +1,3 @@
+[tikv-importer]
+# Set on-duplicate=error to force using insert statement to write data.
+on-duplicate = "error"
diff --git a/br/tests/lightning_foreign_key/data/fk.child-schema.sql b/br/tests/lightning_foreign_key/data/fk.child-schema.sql
new file mode 100644
index 0000000000000..18c361bf4c2e0
--- /dev/null
+++ b/br/tests/lightning_foreign_key/data/fk.child-schema.sql
@@ -0,0 +1 @@
+create table child (id int key, pid int, constraint fk_1 foreign key (pid) references parent(id));
diff --git a/br/tests/lightning_foreign_key/data/fk.child.sql b/br/tests/lightning_foreign_key/data/fk.child.sql
new file mode 100644
index 0000000000000..12e531eb96a34
--- /dev/null
+++ b/br/tests/lightning_foreign_key/data/fk.child.sql
@@ -0,0 +1 @@
+insert into child values (1,1),(2,2),(3,3),(4,4);
diff --git a/br/tests/lightning_foreign_key/data/fk.parent-schema.sql b/br/tests/lightning_foreign_key/data/fk.parent-schema.sql
new file mode 100644
index 0000000000000..8ae8af2de6a2e
--- /dev/null
+++ b/br/tests/lightning_foreign_key/data/fk.parent-schema.sql
@@ -0,0 +1 @@
+create table parent(id int key, a int);
diff --git a/br/tests/lightning_foreign_key/data/fk.parent.sql b/br/tests/lightning_foreign_key/data/fk.parent.sql
new file mode 100644
index 0000000000000..7a31a9f18db0f
--- /dev/null
+++ b/br/tests/lightning_foreign_key/data/fk.parent.sql
@@ -0,0 +1 @@
+insert into parent values (1,1),(2,2),(3,3),(4,4);
diff --git a/br/tests/lightning_foreign_key/data/fk.t-schema.sql b/br/tests/lightning_foreign_key/data/fk.t-schema.sql
new file mode 100644
index 0000000000000..98f00b9cadca8
--- /dev/null
+++ b/br/tests/lightning_foreign_key/data/fk.t-schema.sql
@@ -0,0 +1,8 @@
+CREATE TABLE `t`
+(
+ `a` bigint(20) NOT NULL,
+ `b` bigint(20) DEFAULT NULL,
+ PRIMARY KEY (`a`) /*T![clustered_index] CLUSTERED */,
+ KEY `fk_1` (`b`),
+ CONSTRAINT `fk_1` FOREIGN KEY (`b`) REFERENCES `test`.`t2` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
diff --git a/br/tests/lightning_foreign_key/data/fk.t.csv b/br/tests/lightning_foreign_key/data/fk.t.csv
new file mode 100644
index 0000000000000..cd0368580a4c8
--- /dev/null
+++ b/br/tests/lightning_foreign_key/data/fk.t.csv
@@ -0,0 +1,6 @@
+a,b
+1,1
+2,2
+3,3
+4,4
+5,5
diff --git a/br/tests/lightning_foreign_key/run.sh b/br/tests/lightning_foreign_key/run.sh
new file mode 100755
index 0000000000000..1c045b61f43be
--- /dev/null
+++ b/br/tests/lightning_foreign_key/run.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+#
+# Copyright 2022 PingCAP, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eu
+
+run_sql 'DROP DATABASE IF EXISTS fk;'
+run_sql 'CREATE DATABASE IF NOT EXISTS fk;'
+# Create existing tables that import data will reference.
+run_sql 'CREATE TABLE fk.t2 (a BIGINT PRIMARY KEY);'
+
+for BACKEND in tidb local; do
+ run_sql 'DROP TABLE IF EXISTS fk.t, fk.parent, fk.child;'
+
+ run_lightning --backend $BACKEND
+ run_sql 'SELECT GROUP_CONCAT(a) FROM fk.t ORDER BY a;'
+ check_contains '1,2,3,4,5'
+
+ run_sql 'SELECT count(1), sum(a) FROM fk.parent;'
+ check_contains 'count(1): 4'
+ check_contains 'sum(a): 10'
+
+ run_sql 'SELECT count(1), sum(pid) FROM fk.child;'
+ check_contains 'count(1): 4'
+ check_contains 'sum(pid): 10'
+done
diff --git a/br/tests/lightning_record_network/config.toml b/br/tests/lightning_record_network/config.toml
new file mode 100644
index 0000000000000..2de41a1f43dab
--- /dev/null
+++ b/br/tests/lightning_record_network/config.toml
@@ -0,0 +1,2 @@
+[tikv-importer]
+backend = 'tidb'
diff --git a/br/tests/lightning_record_network/data/db-schema-create.sql b/br/tests/lightning_record_network/data/db-schema-create.sql
new file mode 100644
index 0000000000000..c88b0e3150e76
--- /dev/null
+++ b/br/tests/lightning_record_network/data/db-schema-create.sql
@@ -0,0 +1 @@
+create database db;
\ No newline at end of file
diff --git a/br/tests/lightning_record_network/data/db.test-schema.sql b/br/tests/lightning_record_network/data/db.test-schema.sql
new file mode 100644
index 0000000000000..7bee5f9ad639c
--- /dev/null
+++ b/br/tests/lightning_record_network/data/db.test-schema.sql
@@ -0,0 +1 @@
+create table test ( id int primary key, a int, b int );
\ No newline at end of file
diff --git a/br/tests/lightning_record_network/data/db.test.1.sql b/br/tests/lightning_record_network/data/db.test.1.sql
new file mode 100644
index 0000000000000..3748d5fa91e80
--- /dev/null
+++ b/br/tests/lightning_record_network/data/db.test.1.sql
@@ -0,0 +1,21 @@
+insert into db.test values
+(1,1,1),
+(2,1,1),
+(3,1,1),
+(4,1,1),
+(5,1,1),
+(6,1,1),
+(7,1,1),
+(8,1,1),
+(9,1,1),
+(10,1,1),
+(11,1,1),
+(12,1,1),
+(13,1,1),
+(14,1,1),
+(15,1,1),
+(16,1,1),
+(17,1,1),
+(18,1,1),
+(19,1,1),
+(20,1,1);
\ No newline at end of file
diff --git a/br/tests/lightning_record_network/run.sh b/br/tests/lightning_record_network/run.sh
new file mode 100644
index 0000000000000..e31f9d151d76a
--- /dev/null
+++ b/br/tests/lightning_record_network/run.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+#
+# Copyright 2022 PingCAP, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -euE
+
+export GO_FAILPOINTS="github.com/pingcap/tidb/br/pkg/lightning/SetIOTotalBytes=return(1)"
+run_lightning
+
+grep 'IOTotal' "$TEST_DIR/lightning.log" | grep -v 'IOTotalBytes=0'
diff --git a/br/tests/lightning_ttl/config.toml b/br/tests/lightning_ttl/config.toml
new file mode 100644
index 0000000000000..d2152b47c922a
--- /dev/null
+++ b/br/tests/lightning_ttl/config.toml
@@ -0,0 +1,2 @@
+[tikv-importer]
+backend = 'local'
diff --git a/br/tests/lightning_ttl/data/ttldb-schema-create.sql b/br/tests/lightning_ttl/data/ttldb-schema-create.sql
new file mode 100644
index 0000000000000..46609f11e6635
--- /dev/null
+++ b/br/tests/lightning_ttl/data/ttldb-schema-create.sql
@@ -0,0 +1 @@
+CREATE DATABASE `ttldb`;
diff --git a/br/tests/lightning_ttl/data/ttldb.t1-schema.sql b/br/tests/lightning_ttl/data/ttldb.t1-schema.sql
new file mode 100644
index 0000000000000..7531d7f18ae01
--- /dev/null
+++ b/br/tests/lightning_ttl/data/ttldb.t1-schema.sql
@@ -0,0 +1,4 @@
+CREATE TABLE `t1` (
+ `id` int(11) PRIMARY KEY,
+ `t` datetime
+) TTL = `t` + INTERVAL 1 DAY TTL_ENABLE = 'ON';
diff --git a/br/tests/lightning_ttl/run.sh b/br/tests/lightning_ttl/run.sh
new file mode 100644
index 0000000000000..4a1d9ffc04d57
--- /dev/null
+++ b/br/tests/lightning_ttl/run.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# Copyright 2022 PingCAP, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eu
+
+run_sql 'drop database if exists ttldb;'
+run_lightning
+
+TTL_MARK='![ttl]'
+CREATE_SQL_CONTAINS="/*T${TTL_MARK} TTL=\`t\` + INTERVAL 1 DAY */ /*T${TTL_MARK} TTL_ENABLE='OFF' */"
+
+run_sql 'show create table ttldb.t1'
+check_contains "$CREATE_SQL_CONTAINS"
diff --git a/build/nogo_config.json b/build/nogo_config.json
index 731eed4c54f00..3aecc81b0519e 100644
--- a/build/nogo_config.json
+++ b/build/nogo_config.json
@@ -229,6 +229,7 @@
},
"gci": {
"exclude_files": {
+ "external/": "no need to vet third party code",
"/external/": "no need to vet third party code",
".*_generated\\.go$": "ignore generated code",
"/cgo/": "ignore cgo code",
@@ -364,6 +365,8 @@
"ddl/backfilling.go": "ddl/backfilling.go",
"ddl/column.go": "ddl/column.go",
"ddl/index.go": "ddl/index.go",
+ "ddl/ttl.go": "ddl/ttl.go",
+ "ddl/ttl_test.go": "ddl/ttl_test.go",
"ddl/ingest/": "ddl/ingest/",
"expression/builtin_cast.go": "expression/builtin_cast code",
"server/conn.go": "server/conn.go",
@@ -401,7 +404,8 @@
"util/": "util code",
"parser/": "parser code",
"meta/": "parser code",
- "extension/": "extension code"
+ "extension/": "extension code",
+ "resourcemanager/": "resourcemanager code"
}
},
"shift": {
@@ -744,23 +748,26 @@
"exclude_files": {
"/build/": "no need to linter code",
"/external/": "no need to vet third party code",
- ".*_generated\\.go$": "ignore generated code"
+ ".*_generated\\.go$": "ignore generated code",
+ ".*_test\\.go$": "ignore test code"
},
"only_files": {
"util/gctuner": "util/gctuner",
+ "util/cgroup": "util/cgroup code",
+ "util/watcher": "util/watcher",
+ "br/pkg/lightning/restore/": "br/pkg/lightning/restore/",
"br/pkg/lightning/mydump/": "br/pkg/lightning/mydump/",
- "br/pkg/lightning/restore/opts": "br/pkg/lightning/restore/opts",
"executor/aggregate.go": "executor/aggregate.go",
"types/json_binary_functions.go": "types/json_binary_functions.go",
"types/json_binary_test.go": "types/json_binary_test.go",
"ddl/": "enable to ddl",
- "util/cgroup": "util/cgroup code",
"expression/builtin_cast.go": "enable expression/builtin_cast.go",
"planner/core/plan.go": "planner/core/plan.go",
"server/conn.go": "server/conn.go",
"server/conn_stmt.go": "server/conn_stmt.go",
"server/conn_test.go": "server/conn_test.go",
- "extension/": "extension code"
+ "extension/": "extension code",
+ "resourcemanager/": "resourcemanager code"
}
},
"SA2000": {
diff --git a/build/patches/io_etcd_go_etcd_raft_v3.patch b/build/patches/io_etcd_go_etcd_raft_v3.patch
deleted file mode 100644
index 11c777b38f4de..0000000000000
--- a/build/patches/io_etcd_go_etcd_raft_v3.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -urN a/raftpb/BUILD.bazel b/raftpb/BUILD.bazel
---- a/raftpb/BUILD.bazel 1969-12-31 19:00:00.000000000 -0500
-+++ b/raftpb/BUILD.bazel 2000-01-01 00:00:00.000000000 -0000
-@@ -1,4 +1,5 @@
- load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
-+load("@rules_proto//proto:defs.bzl", "proto_library")
-
- go_library(
- name = "raftpb",
-@@ -28,3 +29,12 @@
- srcs = ["confstate_test.go"],
- embed = [":raftpb"],
- )
-+
-+# keep
-+proto_library(
-+ name = "raftpb_proto",
-+ srcs = ["raft.proto"],
-+ deps = ["@com_github_gogo_protobuf//gogoproto:gogo_proto"],
-+ import_prefix = "etcd/raft/v3/",
-+ visibility = ["//visibility:public"],
-+)
diff --git a/cmd/benchkv/main.go b/cmd/benchkv/main.go
index 73a388bebbfe5..2b7cf5c9e9abb 100644
--- a/cmd/benchkv/main.go
+++ b/cmd/benchkv/main.go
@@ -14,7 +14,6 @@
package main
-// #nosec G108
import (
"context"
"flag"
diff --git a/cmd/benchraw/main.go b/cmd/benchraw/main.go
index 80f1a1d2289bc..c042d59e9f180 100644
--- a/cmd/benchraw/main.go
+++ b/cmd/benchraw/main.go
@@ -14,7 +14,6 @@
package main
-// #nosec G108
import (
"context"
"flag"
diff --git a/cmd/ddltest/BUILD.bazel b/cmd/ddltest/BUILD.bazel
index 344d46dac3cad..39ac3c9bdb7b4 100644
--- a/cmd/ddltest/BUILD.bazel
+++ b/cmd/ddltest/BUILD.bazel
@@ -11,6 +11,7 @@ go_test(
"random_test.go",
],
flaky = True,
+ race = "on",
deps = [
"//config",
"//domain",
diff --git a/cmd/ddltest/index_test.go b/cmd/ddltest/index_test.go
index 7d3206197eba4..dbd96aa62aa39 100644
--- a/cmd/ddltest/index_test.go
+++ b/cmd/ddltest/index_test.go
@@ -18,11 +18,13 @@ import (
goctx "context"
"fmt"
"math"
+ "os"
"sync"
"sync/atomic"
"testing"
"time"
+ "github.com/pingcap/log"
"github.com/pingcap/tidb/store/gcworker"
"github.com/pingcap/tidb/table"
"github.com/stretchr/testify/require"
@@ -48,6 +50,11 @@ func (s *ddlSuite) checkDropIndex(t *testing.T, tableName string) {
// TestIndex operations on table test_index (c int, c1 bigint, c2 double, c3 varchar(256), primary key(c)).
func TestIndex(t *testing.T) {
+ err := os.Setenv("tidb_manager_ttl", fmt.Sprintf("%d", *lease+5))
+ if err != nil {
+ log.Fatal("set tidb_manager_ttl failed")
+ }
+
s := createDDLSuite(t)
defer s.teardown(t)
diff --git a/cmd/ddltest/main_test.go b/cmd/ddltest/main_test.go
index 7f6815d4f6340..d0ca25b750a14 100644
--- a/cmd/ddltest/main_test.go
+++ b/cmd/ddltest/main_test.go
@@ -41,6 +41,7 @@ func TestMain(m *testing.M) {
goleak.IgnoreTopFunction("net/http.(*persistConn).writeLoop"),
goleak.IgnoreTopFunction("github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher.func1"),
goleak.IgnoreTopFunction("database/sql.(*DB).connectionOpener"),
+ goleak.IgnoreTopFunction("go.etcd.io/etcd/client/v3.waitRetryBackoff"),
}
goleak.VerifyTestMain(m, opts...)
}
diff --git a/cmd/explaintest/r/collation_agg_func_disabled.result b/cmd/explaintest/r/collation_agg_func_disabled.result
index 4b4a9d1074af8..b5075b3c82f83 100644
--- a/cmd/explaintest/r/collation_agg_func_disabled.result
+++ b/cmd/explaintest/r/collation_agg_func_disabled.result
@@ -133,13 +133,13 @@ approx_count_distinct(value collate utf8mb4_bin, value1)
create table tt(a char(10), b enum('a', 'B', 'c'), c set('a', 'B', 'c'), d json) collate utf8mb4_general_ci;
insert into tt values ("a", "a", "a", JSON_OBJECT("a", "a"));
insert into tt values ("A", "A", "A", JSON_OBJECT("A", "A"));
-Error 1265: Data truncated for column 'b' at row 1
+Error 1265 (01000): Data truncated for column 'b' at row 1
insert into tt values ("b", "b", "b", JSON_OBJECT("b", "b"));
-Error 1265: Data truncated for column 'b' at row 1
+Error 1265 (01000): Data truncated for column 'b' at row 1
insert into tt values ("B", "B", "B", JSON_OBJECT("B", "B"));
insert into tt values ("c", "c", "c", JSON_OBJECT("c", "c"));
insert into tt values ("C", "C", "C", JSON_OBJECT("C", "C"));
-Error 1265: Data truncated for column 'b' at row 1
+Error 1265 (01000): Data truncated for column 'b' at row 1
split table tt by (0), (1), (2), (3), (4), (5);
desc format='brief' select min(a) from tt;
id estRows task access object operator info
@@ -210,9 +210,9 @@ select min(b) from tt;
min(b)
B
desc format='brief' select min(b collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
select min(b collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
desc format='brief' select max(b) from tt;
id estRows task access object operator info
StreamAgg 1.00 root funcs:max(Column#8)->Column#6
@@ -223,9 +223,9 @@ select max(b) from tt;
max(b)
c
desc format='brief' select max(b collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
select max(b collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
desc format='brief' select min(c) from tt;
id estRows task access object operator info
HashAgg 1.00 root funcs:min(collation_agg_func.tt.c)->Column#6
@@ -235,9 +235,9 @@ select min(c) from tt;
min(c)
B
desc format='brief' select min(c collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
select min(c collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
desc format='brief' select max(c) from tt;
id estRows task access object operator info
HashAgg 1.00 root funcs:max(collation_agg_func.tt.c)->Column#6
@@ -247,9 +247,9 @@ select max(c) from tt;
max(c)
c
desc format='brief' select max(c collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
select max(c collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
desc format='brief' select min(d) from tt;
id estRows task access object operator info
StreamAgg 1.00 root funcs:min(collation_agg_func.tt.d)->Column#6
diff --git a/cmd/explaintest/r/collation_agg_func_enabled.result b/cmd/explaintest/r/collation_agg_func_enabled.result
index ea345c13ede58..5b587ff02d279 100644
--- a/cmd/explaintest/r/collation_agg_func_enabled.result
+++ b/cmd/explaintest/r/collation_agg_func_enabled.result
@@ -207,9 +207,9 @@ select min(b) from tt;
min(b)
a
desc format='brief' select min(b collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
select min(b collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
desc format='brief' select max(b) from tt;
id estRows task access object operator info
StreamAgg 1.00 root funcs:max(Column#8)->Column#6
@@ -220,9 +220,9 @@ select max(b) from tt;
max(b)
c
desc format='brief' select max(b collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
select max(b collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
desc format='brief' select min(c) from tt;
id estRows task access object operator info
HashAgg 1.00 root funcs:min(collation_agg_func.tt.c)->Column#6
@@ -232,9 +232,9 @@ select min(c) from tt;
min(c)
a
desc format='brief' select min(c collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
select min(c collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
desc format='brief' select max(c) from tt;
id estRows task access object operator info
HashAgg 1.00 root funcs:max(collation_agg_func.tt.c)->Column#6
@@ -244,9 +244,9 @@ select max(c) from tt;
max(c)
c
desc format='brief' select max(c collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
select max(c collate utf8mb4_bin) from tt;
-Error 1235: This version of TiDB doesn't yet support 'use collate clause for enum or set'
+Error 1235 (42000): This version of TiDB doesn't yet support 'use collate clause for enum or set'
desc format='brief' select min(d) from tt;
id estRows task access object operator info
StreamAgg 1.00 root funcs:min(collation_agg_func.tt.d)->Column#6
diff --git a/cmd/explaintest/r/collation_check_use_collation_disabled.result b/cmd/explaintest/r/collation_check_use_collation_disabled.result
index 493b26812bfbb..2c0bd306f445b 100644
--- a/cmd/explaintest/r/collation_check_use_collation_disabled.result
+++ b/cmd/explaintest/r/collation_check_use_collation_disabled.result
@@ -32,7 +32,7 @@ drop table if exists t;
create table t(a enum('a', 'b') charset utf8mb4 collate utf8mb4_general_ci, b varchar(20));
insert into t values ("b", "c");
insert into t values ("B", "b");
-Error 1265: Data truncated for column 'a' at row 1
+Error 1265 (01000): Data truncated for column 'a' at row 1
select * from t where 'B' collate utf8mb4_general_ci in (a);
a b
select * from t where 'B' collate utf8mb4_bin in (a);
@@ -82,7 +82,7 @@ drop table if exists t;
create table t(a set('a', 'b') charset utf8mb4 collate utf8mb4_general_ci, b varchar(20));
insert into t values ("b", "c");
insert into t values ("B", "b");
-Error 1265: Data truncated for column 'a' at row 1
+Error 1265 (01000): Data truncated for column 'a' at row 1
select * from t where 'B' collate utf8mb4_general_ci in (a);
a b
select * from t where 'B' collate utf8mb4_bin in (a);
diff --git a/cmd/explaintest/r/collation_misc_disabled.result b/cmd/explaintest/r/collation_misc_disabled.result
index eff046aa33009..a66f63ead2db9 100644
--- a/cmd/explaintest/r/collation_misc_disabled.result
+++ b/cmd/explaintest/r/collation_misc_disabled.result
@@ -15,7 +15,7 @@ select * from t;
a
t_value
alter table t modify column a varchar(20) charset utf8;
-Error 8200: Unsupported modify charset from latin1 to utf8
+Error 8200 (HY000): Unsupported modify charset from latin1 to utf8
drop table t;
create table t(a varchar(20) charset latin1);
insert into t values ("t_value");
@@ -38,13 +38,13 @@ drop table t;
create table t(a varchar(20) charset latin1);
insert into t values ("t_value");
alter table t modify column a varchar(20) charset utf8 collate utf8_bin;
-Error 8200: Unsupported modify charset from latin1 to utf8
+Error 8200 (HY000): Unsupported modify charset from latin1 to utf8
alter table t modify column a varchar(20) charset utf8mb4 collate utf8bin;
[ddl:1273]Unknown collation: 'utf8bin'
alter table t collate LATIN1_GENERAL_CI charset utf8 collate utf8_bin;
-Error 1302: Conflicting declarations: 'CHARACTER SET latin1' and 'CHARACTER SET utf8'
+Error 1302 (HY000): Conflicting declarations: 'CHARACTER SET latin1' and 'CHARACTER SET utf8'
alter table t collate LATIN1_GENERAL_CI collate UTF8MB4_UNICODE_ci collate utf8_bin;
-Error 1253: COLLATION 'utf8mb4_unicode_ci' is not valid for CHARACTER SET 'latin1'
+Error 1253 (42000): COLLATION 'utf8mb4_unicode_ci' is not valid for CHARACTER SET 'latin1'
drop table t;
create table t(a varchar(20) charset latin1);
insert into t values ("t_value");
diff --git a/cmd/explaintest/r/collation_misc_enabled.result b/cmd/explaintest/r/collation_misc_enabled.result
index 235d5896380ee..a088ddb0b2c9d 100644
--- a/cmd/explaintest/r/collation_misc_enabled.result
+++ b/cmd/explaintest/r/collation_misc_enabled.result
@@ -15,7 +15,7 @@ select * from t;
a
t_value
alter table t modify column a varchar(20) charset utf8;
-Error 8200: Unsupported modify charset from latin1 to utf8
+Error 8200 (HY000): Unsupported modify charset from latin1 to utf8
drop table t;
create table t(a varchar(20) charset latin1);
insert into t values ("t_value");
@@ -38,13 +38,13 @@ drop table t;
create table t(a varchar(20) charset latin1);
insert into t values ("t_value");
alter table t modify column a varchar(20) charset utf8 collate utf8_bin;
-Error 8200: Unsupported modify charset from latin1 to utf8
+Error 8200 (HY000): Unsupported modify charset from latin1 to utf8
alter table t modify column a varchar(20) charset utf8mb4 collate utf8bin;
[ddl:1273]Unknown collation: 'utf8bin'
alter table t collate LATIN1_GENERAL_CI charset utf8 collate utf8_bin;
-Error 1273: Unsupported collation when new collation is enabled: 'latin1_general_ci'
+Error 1273 (HY000): Unsupported collation when new collation is enabled: 'latin1_general_ci'
alter table t collate LATIN1_GENERAL_CI collate UTF8MB4_UNICODE_ci collate utf8_bin;
-Error 1273: Unsupported collation when new collation is enabled: 'latin1_general_ci'
+Error 1273 (HY000): Unsupported collation when new collation is enabled: 'latin1_general_ci'
drop table t;
create table t(a varchar(20) charset latin1);
insert into t values ("t_value");
@@ -56,7 +56,7 @@ a
t_value
create database if not exists cd_test_utf8 CHARACTER SET utf8 COLLATE utf8_bin;
create database if not exists cd_test_latin1 CHARACTER SET latin1 COLLATE latin1_swedish_ci;
-Error 1273: Unsupported collation when new collation is enabled: 'latin1_swedish_ci'
+Error 1273 (HY000): Unsupported collation when new collation is enabled: 'latin1_swedish_ci'
use cd_test_utf8;
select @@character_set_database;
@@character_set_database
@@ -65,7 +65,7 @@ select @@collation_database;
@@collation_database
utf8_bin
use cd_test_latin1;
-Error 1049: Unknown database 'cd_test_latin1'
+Error 1049 (42000): Unknown database 'cd_test_latin1'
select @@character_set_database;
@@character_set_database
utf8
@@ -73,7 +73,7 @@ select @@collation_database;
@@collation_database
utf8_bin
create database if not exists test_db CHARACTER SET latin1 COLLATE latin1_swedish_ci;
-Error 1273: Unsupported collation when new collation is enabled: 'latin1_swedish_ci'
+Error 1273 (HY000): Unsupported collation when new collation is enabled: 'latin1_swedish_ci'
with cte as (select cast('2010-09-09' as date) a union select '2010-09-09 ') select count(*) from cte;
count(*)
1
diff --git a/cmd/explaintest/r/collation_pointget_disabled.result b/cmd/explaintest/r/collation_pointget_disabled.result
index a763c54c96344..db7b0a9ab630f 100644
--- a/cmd/explaintest/r/collation_pointget_disabled.result
+++ b/cmd/explaintest/r/collation_pointget_disabled.result
@@ -111,15 +111,15 @@ select *, a, b from t tmp where tmp.a = "aa";
a b a b
aa bb aa bb
select a from t where xxxxx.a = "aa";
-Error 1054: Unknown column 'xxxxx.a' in 'where clause'
+Error 1054 (42S22): Unknown column 'xxxxx.a' in 'where clause'
select xxxxx.a from t where a = "aa";
-Error 1054: Unknown column 'xxxxx.a' in 'field list'
+Error 1054 (42S22): Unknown column 'xxxxx.a' in 'field list'
select a from t tmp where t.a = "aa";
-Error 1054: Unknown column 't.a' in 'where clause'
+Error 1054 (42S22): Unknown column 't.a' in 'where clause'
select t.a from t tmp where a = "aa";
-Error 1054: Unknown column 't.a' in 'field list'
+Error 1054 (42S22): Unknown column 't.a' in 'field list'
select t.* from t tmp where a = "aa";
-Error 1051: Unknown table 't'
+Error 1051 (42S02): Unknown table 't'
drop table if exists t;
create table t(a char(4) primary key, b char(4));
insert into t values("aa", "bb");
diff --git a/cmd/explaintest/r/collation_pointget_enabled.result b/cmd/explaintest/r/collation_pointget_enabled.result
index 156e4d87f931c..7c404177ce587 100644
--- a/cmd/explaintest/r/collation_pointget_enabled.result
+++ b/cmd/explaintest/r/collation_pointget_enabled.result
@@ -124,15 +124,15 @@ select *, a, b from t tmp where tmp.a = "aa";
a b a b
aa bb aa bb
select a from t where xxxxx.a = "aa";
-Error 1054: Unknown column 'xxxxx.a' in 'where clause'
+Error 1054 (42S22): Unknown column 'xxxxx.a' in 'where clause'
select xxxxx.a from t where a = "aa";
-Error 1054: Unknown column 'xxxxx.a' in 'field list'
+Error 1054 (42S22): Unknown column 'xxxxx.a' in 'field list'
select a from t tmp where t.a = "aa";
-Error 1054: Unknown column 't.a' in 'where clause'
+Error 1054 (42S22): Unknown column 't.a' in 'where clause'
select t.a from t tmp where a = "aa";
-Error 1054: Unknown column 't.a' in 'field list'
+Error 1054 (42S22): Unknown column 't.a' in 'field list'
select t.* from t tmp where a = "aa";
-Error 1051: Unknown table 't'
+Error 1051 (42S02): Unknown table 't'
drop table if exists t;
create table t(a char(4) primary key, b char(4));
insert into t values("aa", "bb");
diff --git a/cmd/explaintest/r/cte.result b/cmd/explaintest/r/cte.result
index 7a8677c848294..6f277815bb566 100644
--- a/cmd/explaintest/r/cte.result
+++ b/cmd/explaintest/r/cte.result
@@ -91,7 +91,7 @@ c1 c2
1 1
1 2
with recursive tbl_0 (col_943,col_944,col_945,col_946,col_947) AS ( with recursive tbl_0 (col_948,col_949,col_950,col_951,col_952) AS ( select 1, 2,3,4,5 UNION ALL select col_948 + 1,col_949 + 1,col_950 + 1,col_951 + 1,col_952 + 1 from tbl_0 where col_948 < 5 ) select col_948,col_949,col_951,col_950,col_952 from tbl_0 UNION ALL select col_943 + 1,col_944 + 1,col_945 + 1,col_946 + 1,col_947 + 1 from tbl_0 where col_943 < 5 ) select * from tbl_0;
-Error 1054: Unknown column 'col_943' in 'where clause'
+Error 1054 (42S22): Unknown column 'col_943' in 'where clause'
with recursive cte1 (c1, c2) as (select 1, '1' union select concat(c1, 1), c2 + 1 from cte1 where c1 < 100) select * from cte1;
c1 c2
1 1
@@ -283,15 +283,15 @@ union all
select 3, 0 from qn
)
select * from qn;
-Error 1222: The used SELECT statements have a different number of columns
+Error 1222 (21000): The used SELECT statements have a different number of columns
with recursive cte1 as (select 1 union all (select 1 from cte1 limit 10)) select * from cte1;
-Error 1235: This version of TiDB doesn't yet support 'ORDER BY / LIMIT / SELECT DISTINCT in recursive query block of Common Table Expression'
+Error 1235 (42000): This version of TiDB doesn't yet support 'ORDER BY / LIMIT / SELECT DISTINCT in recursive query block of Common Table Expression'
with recursive qn as (select 123 as a union all select null from qn where a is not null) select * from qn;
a
123
NULL
with recursive q (b) as (select 1, 1 union all select 1, 1 from q) select b from q;
-Error 1353: In definition of view, derived table or common table expression, SELECT list and column names list have different column counts
+Error 1353 (HY000): In definition of view, derived table or common table expression, SELECT list and column names list have different column counts
drop table if exists t1;
create table t1(a int);
insert into t1 values(1);
@@ -356,7 +356,7 @@ drop table if exists t1;
create table t1(c1 bigint unsigned);
insert into t1 values(0);
with recursive cte1 as (select c1 - 1 c1 from t1 union all select c1 - 1 c1 from cte1 where c1 != 0) select * from cte1 dt1, cte1 dt2;
-Error 1690: BIGINT UNSIGNED value is out of range in '(test.t1.c1 - 1)'
+Error 1690 (22003): BIGINT UNSIGNED value is out of range in '(test.t1.c1 - 1)'
drop table if exists t;
create table t(a int, b int, key (b));
desc with cte as (select * from t) select * from cte;
diff --git a/cmd/explaintest/r/explain_complex.result b/cmd/explaintest/r/explain_complex.result
index 8d8b47237b453..d8e1f186a4028 100644
--- a/cmd/explaintest/r/explain_complex.result
+++ b/cmd/explaintest/r/explain_complex.result
@@ -243,6 +243,7 @@ created_on datetime DEFAULT NULL,
updated_on datetime DEFAULT NULL,
UNIQUE KEY org_employee_position_pk (hotel_id,user_id,position_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+set tidb_cost_model_version=2;
explain format = 'brief' SELECT d.id, d.ctx, d.name, d.left_value, d.right_value, d.depth, d.leader_id, d.status, d.created_on, d.updated_on FROM org_department AS d LEFT JOIN org_position AS p ON p.department_id = d.id AND p.status = 1000 LEFT JOIN org_employee_position AS ep ON ep.position_id = p.id AND ep.status = 1000 WHERE (d.ctx = 1 AND (ep.user_id = 62 OR d.id = 20 OR d.id = 20) AND d.status = 1000) GROUP BY d.id ORDER BY d.left_value;
id estRows task access object operator info
Sort 1.00 root test.org_department.left_value
@@ -262,6 +263,7 @@ Sort 1.00 root test.org_department.left_value
└─TableReader(Probe) 9.99 root data:Selection
└─Selection 9.99 cop[tikv] eq(test.org_employee_position.status, 1000), not(isnull(test.org_employee_position.position_id))
└─TableFullScan 10000.00 cop[tikv] table:ep keep order:false, stats:pseudo
+set tidb_cost_model_version=1;
create table test.Tab_A (id int primary key,bid int,cid int,name varchar(20),type varchar(20),num int,amt decimal(11,2));
create table test.Tab_B (id int primary key,name varchar(20));
create table test.Tab_C (id int primary key,name varchar(20),amt decimal(11,2));
diff --git a/cmd/explaintest/r/explain_foreign_key.result b/cmd/explaintest/r/explain_foreign_key.result
new file mode 100644
index 0000000000000..2e92440278a49
--- /dev/null
+++ b/cmd/explaintest/r/explain_foreign_key.result
@@ -0,0 +1,167 @@
+set @@foreign_key_checks=1;
+use test;
+drop table if exists t1,t2;
+create table t1 (id int key);
+create table t2 (id int key, foreign key fk(id) references t1(id) ON UPDATE CASCADE ON DELETE CASCADE);
+create table t3 (id int, unique index idx(id));
+create table t4 (id int, index idx_id(id),foreign key fk(id) references t3(id));
+create table t5 (id int key, id2 int, id3 int, unique index idx2(id2), index idx3(id3));
+create table t6 (id int, id2 int, id3 int, index idx_id(id), index idx_id2(id2), foreign key fk_1 (id) references t5(id) ON UPDATE CASCADE ON DELETE CASCADE, foreign key fk_2 (id2) references t5(id2) ON UPDATE CASCADE, foreign key fk_3 (id3) references t5(id3) ON DELETE CASCADE);
+explain format = 'brief' insert into t2 values (1);
+id estRows task access object operator info
+Insert N/A root N/A
+└─Foreign_Key_Check 0.00 root table:t1 foreign_key:fk, check_exist
+explain format = 'brief' update t2 set id=id+1 where id = 1;
+id estRows task access object operator info
+Update N/A root N/A
+├─Point_Get 1.00 root table:t2 handle:1, lock
+└─Foreign_Key_Check 0.00 root table:t1 foreign_key:fk, check_exist
+explain format = 'brief' delete from t1 where id > 1;
+id estRows task access object operator info
+Delete N/A root N/A
+├─SelectLock 3333.33 root for update 0
+│ └─TableReader 3333.33 root data:TableRangeScan
+│ └─TableRangeScan 3333.33 cop[tikv] table:t1 range:(1,+inf], keep order:false, stats:pseudo
+└─Foreign_Key_Cascade 0.00 root table:t2 foreign_key:fk, on_delete:CASCADE
+explain format = 'brief' update t1 set id=id+1 where id = 1;
+id estRows task access object operator info
+Update N/A root N/A
+├─Point_Get 1.00 root table:t1 handle:1, lock
+└─Foreign_Key_Cascade 0.00 root table:t2 foreign_key:fk, on_update:CASCADE
+explain format = 'brief' insert into t1 values (1);
+id estRows task access object operator info
+Insert N/A root N/A
+explain format = 'brief' insert into t1 values (1) on duplicate key update id = 100;
+id estRows task access object operator info
+Insert N/A root N/A
+└─Foreign_Key_Cascade 0.00 root table:t2 foreign_key:fk, on_update:CASCADE
+explain format = 'brief' insert into t4 values (1);
+id estRows task access object operator info
+Insert N/A root N/A
+└─Foreign_Key_Check 0.00 root table:t3, index:idx foreign_key:fk, check_exist
+explain format = 'brief' update t4 set id=id+1 where id = 1;
+id estRows task access object operator info
+Update N/A root N/A
+├─SelectLock 10.00 root for update 0
+│ └─IndexReader 10.00 root index:IndexRangeScan
+│ └─IndexRangeScan 10.00 cop[tikv] table:t4, index:idx_id(id) range:[1,1], keep order:false, stats:pseudo
+└─Foreign_Key_Check 0.00 root table:t3, index:idx foreign_key:fk, check_exist
+explain format = 'brief' delete from t3 where id > 1;
+id estRows task access object operator info
+Delete N/A root N/A
+├─SelectLock 3333.33 root for update 0
+│ └─IndexReader 3333.33 root index:IndexRangeScan
+│ └─IndexRangeScan 3333.33 cop[tikv] table:t3, index:idx(id) range:(1,+inf], keep order:false, stats:pseudo
+└─Foreign_Key_Check 0.00 root table:t4, index:idx_id foreign_key:fk, check_not_exist
+explain format = 'brief' update t3 set id=id+1 where id = 1;
+id estRows task access object operator info
+Update N/A root N/A
+├─Point_Get 1.00 root table:t3, index:idx(id) lock
+└─Foreign_Key_Check 0.00 root table:t4, index:idx_id foreign_key:fk, check_not_exist
+explain format = 'brief' insert into t3 values (1);
+id estRows task access object operator info
+Insert N/A root N/A
+explain format = 'brief' insert into t3 values (1) on duplicate key update id = 100;
+id estRows task access object operator info
+Insert N/A root N/A
+└─Foreign_Key_Check 0.00 root table:t4, index:idx_id foreign_key:fk, check_not_exist
+explain format = 'brief' insert into t6 values (1,1,1);
+id estRows task access object operator info
+Insert N/A root N/A
+├─Foreign_Key_Check 0.00 root table:t5 foreign_key:fk_1, check_exist
+├─Foreign_Key_Check 0.00 root table:t5, index:idx2 foreign_key:fk_2, check_exist
+└─Foreign_Key_Check 0.00 root table:t5, index:idx3 foreign_key:fk_3, check_exist
+explain format = 'brief' update t6 set id=id+1, id3=id2+1 where id = 1;
+id estRows task access object operator info
+Update N/A root N/A
+├─SelectLock 10.00 root for update 0
+│ └─IndexLookUp 10.00 root
+│ ├─IndexRangeScan(Build) 10.00 cop[tikv] table:t6, index:idx_id(id) range:[1,1], keep order:false, stats:pseudo
+│ └─TableRowIDScan(Probe) 10.00 cop[tikv] table:t6 keep order:false, stats:pseudo
+├─Foreign_Key_Check 0.00 root table:t5 foreign_key:fk_1, check_exist
+└─Foreign_Key_Check 0.00 root table:t5, index:idx3 foreign_key:fk_3, check_exist
+explain format = 'brief' delete from t5 where id > 1;
+id estRows task access object operator info
+Delete N/A root N/A
+├─SelectLock 3333.33 root for update 0
+│ └─TableReader 3333.33 root data:TableRangeScan
+│ └─TableRangeScan 3333.33 cop[tikv] table:t5 range:(1,+inf], keep order:false, stats:pseudo
+├─Foreign_Key_Check 0.00 root table:t6, index:idx_id2 foreign_key:fk_2, check_not_exist
+├─Foreign_Key_Cascade 0.00 root table:t6, index:idx_id foreign_key:fk_1, on_delete:CASCADE
+└─Foreign_Key_Cascade 0.00 root table:t6, index:fk_3 foreign_key:fk_3, on_delete:CASCADE
+explain format = 'brief' update t5 set id=id+1, id2=id2+1 where id = 1;
+id estRows task access object operator info
+Update N/A root N/A
+├─Point_Get 1.00 root table:t5 handle:1, lock
+├─Foreign_Key_Cascade 0.00 root table:t6, index:idx_id foreign_key:fk_1, on_update:CASCADE
+└─Foreign_Key_Cascade 0.00 root table:t6, index:idx_id2 foreign_key:fk_2, on_update:CASCADE
+explain format = 'brief' update t5 set id=id+1, id2=id2+1, id3=id3+1 where id = 1;
+id estRows task access object operator info
+Update N/A root N/A
+├─Point_Get 1.00 root table:t5 handle:1, lock
+├─Foreign_Key_Check 0.00 root table:t6, index:fk_3 foreign_key:fk_3, check_not_exist
+├─Foreign_Key_Cascade 0.00 root table:t6, index:idx_id foreign_key:fk_1, on_update:CASCADE
+└─Foreign_Key_Cascade 0.00 root table:t6, index:idx_id2 foreign_key:fk_2, on_update:CASCADE
+explain format = 'brief' insert into t5 values (1,1,1);
+id estRows task access object operator info
+Insert N/A root N/A
+explain format = 'brief' insert into t5 values (1,1,1) on duplicate key update id = 100, id3=100;
+id estRows task access object operator info
+Insert N/A root N/A
+├─Foreign_Key_Check 0.00 root table:t6, index:fk_3 foreign_key:fk_3, check_not_exist
+└─Foreign_Key_Cascade 0.00 root table:t6, index:idx_id foreign_key:fk_1, on_update:CASCADE
+explain format = 'brief' insert into t5 values (1,1,1) on duplicate key update id = 100, id2=100, id3=100;
+id estRows task access object operator info
+Insert N/A root N/A
+├─Foreign_Key_Check 0.00 root table:t6, index:fk_3 foreign_key:fk_3, check_not_exist
+├─Foreign_Key_Cascade 0.00 root table:t6, index:idx_id foreign_key:fk_1, on_update:CASCADE
+└─Foreign_Key_Cascade 0.00 root table:t6, index:idx_id2 foreign_key:fk_2, on_update:CASCADE
+drop table if exists t1,t2,t3,t4,t5,t6;
+drop table if exists t_1,t_2,t_3,t_4;
+create table t_1 (id int key);
+create table t_2 (id int key);
+create table t_3 (id int key, id2 int, foreign key fk_1(id) references t_1(id), foreign key fk_2(id2) references t_1(id), foreign key fk_3(id) references t_2(id) ON UPDATE CASCADE ON DELETE CASCADE);
+create table t_4 (id int key, id2 int, foreign key fk_1(id) references t_2(id), foreign key fk_2(id2) references t_1(id), foreign key fk_3(id) references t_1(id) ON UPDATE CASCADE ON DELETE CASCADE);
+explain format = 'brief' update t_1,t_2 set t_1.id=2,t_2.id=2 where t_1.id=t_2.id and t_1.id=1;
+id estRows task access object operator info
+Update N/A root N/A
+├─HashJoin 1.00 root CARTESIAN inner join
+│ ├─Point_Get(Build) 1.00 root table:t_2 handle:1
+│ └─Point_Get(Probe) 1.00 root table:t_1 handle:1
+├─Foreign_Key_Check 0.00 root table:t_3 foreign_key:fk_1, check_not_exist
+├─Foreign_Key_Check 0.00 root table:t_3, index:fk_2 foreign_key:fk_2, check_not_exist
+├─Foreign_Key_Check 0.00 root table:t_4, index:fk_2 foreign_key:fk_2, check_not_exist
+├─Foreign_Key_Check 0.00 root table:t_4 foreign_key:fk_1, check_not_exist
+├─Foreign_Key_Cascade 0.00 root table:t_4 foreign_key:fk_3, on_update:CASCADE
+└─Foreign_Key_Cascade 0.00 root table:t_3 foreign_key:fk_3, on_update:CASCADE
+explain format = 'brief' delete t_1,t_2 from t_1 join t_2 where t_1.id=t_2.id and t_1.id > 0;
+id estRows task access object operator info
+Delete N/A root N/A
+├─MergeJoin 4166.67 root inner join, left key:test.t_1.id, right key:test.t_2.id
+│ ├─TableReader(Build) 3333.33 root data:TableRangeScan
+│ │ └─TableRangeScan 3333.33 cop[tikv] table:t_2 range:(0,+inf], keep order:true, stats:pseudo
+│ └─TableReader(Probe) 3333.33 root data:TableRangeScan
+│ └─TableRangeScan 3333.33 cop[tikv] table:t_1 range:(0,+inf], keep order:true, stats:pseudo
+├─Foreign_Key_Check 0.00 root table:t_3 foreign_key:fk_1, check_not_exist
+├─Foreign_Key_Check 0.00 root table:t_3, index:fk_2 foreign_key:fk_2, check_not_exist
+├─Foreign_Key_Check 0.00 root table:t_4, index:fk_2 foreign_key:fk_2, check_not_exist
+├─Foreign_Key_Check 0.00 root table:t_4 foreign_key:fk_1, check_not_exist
+├─Foreign_Key_Cascade 0.00 root table:t_4 foreign_key:fk_3, on_delete:CASCADE
+└─Foreign_Key_Cascade 0.00 root table:t_3 foreign_key:fk_3, on_delete:CASCADE
+set @@foreign_key_checks=0;
+explain format = 'brief' update t_1,t_2 set t_1.id=2,t_2.id=2 where t_1.id=t_2.id and t_1.id=1;
+id estRows task access object operator info
+Update N/A root N/A
+└─HashJoin 1.00 root CARTESIAN inner join
+ ├─Point_Get(Build) 1.00 root table:t_2 handle:1
+ └─Point_Get(Probe) 1.00 root table:t_1 handle:1
+explain format = 'brief' delete t_1,t_2 from t_1 join t_2 where t_1.id=t_2.id and t_1.id > 0;
+id estRows task access object operator info
+Delete N/A root N/A
+└─MergeJoin 4166.67 root inner join, left key:test.t_1.id, right key:test.t_2.id
+ ├─TableReader(Build) 3333.33 root data:TableRangeScan
+ │ └─TableRangeScan 3333.33 cop[tikv] table:t_2 range:(0,+inf], keep order:true, stats:pseudo
+ └─TableReader(Probe) 3333.33 root data:TableRangeScan
+ └─TableRangeScan 3333.33 cop[tikv] table:t_1 range:(0,+inf], keep order:true, stats:pseudo
+drop table if exists t_1,t_2,t_3,t_4;
+set @@foreign_key_checks=0;
diff --git a/cmd/explaintest/r/explain_indexmerge.result b/cmd/explaintest/r/explain_indexmerge.result
index 07530b9596bb5..46ba855e6c2a8 100644
--- a/cmd/explaintest/r/explain_indexmerge.result
+++ b/cmd/explaintest/r/explain_indexmerge.result
@@ -7,33 +7,33 @@ create index td on t (d);
load stats 's/explain_indexmerge_stats_t.json';
explain format = 'brief' select * from t where a < 50 or b < 50;
id estRows task access object operator info
-IndexMerge 98.00 root
+IndexMerge 98.00 root type: union
├─TableRangeScan(Build) 49.00 cop[tikv] table:t range:[-inf,50), keep order:false
├─IndexRangeScan(Build) 49.00 cop[tikv] table:t, index:tb(b) range:[-inf,50), keep order:false
└─TableRowIDScan(Probe) 98.00 cop[tikv] table:t keep order:false
explain format = 'brief' select * from t where (a < 50 or b < 50) and f > 100;
id estRows task access object operator info
-IndexMerge 98.00 root
+IndexMerge 98.00 root type: union
├─TableRangeScan(Build) 49.00 cop[tikv] table:t range:[-inf,50), keep order:false
├─IndexRangeScan(Build) 49.00 cop[tikv] table:t, index:tb(b) range:[-inf,50), keep order:false
└─Selection(Probe) 98.00 cop[tikv] gt(test.t.f, 100)
└─TableRowIDScan 98.00 cop[tikv] table:t keep order:false
explain format = 'brief' select * from t where b < 50 or c < 50;
id estRows task access object operator info
-IndexMerge 98.00 root
+IndexMerge 98.00 root type: union
├─IndexRangeScan(Build) 49.00 cop[tikv] table:t, index:tb(b) range:[-inf,50), keep order:false
├─IndexRangeScan(Build) 49.00 cop[tikv] table:t, index:tc(c) range:[-inf,50), keep order:false
└─TableRowIDScan(Probe) 98.00 cop[tikv] table:t keep order:false
set session tidb_enable_index_merge = on;
explain format = 'brief' select * from t where a < 50 or b < 50;
id estRows task access object operator info
-IndexMerge 98.00 root
+IndexMerge 98.00 root type: union
├─TableRangeScan(Build) 49.00 cop[tikv] table:t range:[-inf,50), keep order:false
├─IndexRangeScan(Build) 49.00 cop[tikv] table:t, index:tb(b) range:[-inf,50), keep order:false
└─TableRowIDScan(Probe) 98.00 cop[tikv] table:t keep order:false
explain format = 'brief' select * from t where (a < 50 or b < 50) and f > 100;
id estRows task access object operator info
-IndexMerge 98.00 root
+IndexMerge 98.00 root type: union
├─TableRangeScan(Build) 49.00 cop[tikv] table:t range:[-inf,50), keep order:false
├─IndexRangeScan(Build) 49.00 cop[tikv] table:t, index:tb(b) range:[-inf,50), keep order:false
└─Selection(Probe) 98.00 cop[tikv] gt(test.t.f, 100)
@@ -45,7 +45,7 @@ TableReader 4999999.00 root data:Selection
└─TableFullScan 5000000.00 cop[tikv] table:t keep order:false
explain format = 'brief' select * from t where b < 50 or c < 50;
id estRows task access object operator info
-IndexMerge 98.00 root
+IndexMerge 98.00 root type: union
├─IndexRangeScan(Build) 49.00 cop[tikv] table:t, index:tb(b) range:[-inf,50), keep order:false
├─IndexRangeScan(Build) 49.00 cop[tikv] table:t, index:tc(c) range:[-inf,50), keep order:false
└─TableRowIDScan(Probe) 98.00 cop[tikv] table:t keep order:false
@@ -56,14 +56,14 @@ TableReader 4999999.00 root data:Selection
└─TableFullScan 5000000.00 cop[tikv] table:t keep order:false
explain format = 'brief' select * from t where a < 50 or b < 50 or c < 50;
id estRows task access object operator info
-IndexMerge 147.00 root
+IndexMerge 147.00 root type: union
├─TableRangeScan(Build) 49.00 cop[tikv] table:t range:[-inf,50), keep order:false
├─IndexRangeScan(Build) 49.00 cop[tikv] table:t, index:tb(b) range:[-inf,50), keep order:false
├─IndexRangeScan(Build) 49.00 cop[tikv] table:t, index:tc(c) range:[-inf,50), keep order:false
└─TableRowIDScan(Probe) 147.00 cop[tikv] table:t keep order:false
explain format = 'brief' select * from t where (b < 10000 or c < 10000) and (a < 10 or d < 10) and f < 10;
id estRows task access object operator info
-IndexMerge 0.00 root
+IndexMerge 0.00 root type: union
├─TableRangeScan(Build) 9.00 cop[tikv] table:t range:[-inf,10), keep order:false
├─IndexRangeScan(Build) 9.00 cop[tikv] table:t, index:td(d) range:[-inf,10), keep order:false
└─Selection(Probe) 0.00 cop[tikv] lt(test.t.f, 10), or(lt(test.t.b, 10000), lt(test.t.c, 10000))
@@ -104,20 +104,20 @@ label = "cop"
set session tidb_enable_index_merge = off;
explain format = 'brief' select /*+ use_index_merge(t, primary, tb, tc) */ * from t where a <= 500000 or b <= 1000000 or c <= 3000000;
id estRows task access object operator info
-IndexMerge 3560000.00 root
+IndexMerge 3560000.00 root type: union
├─TableRangeScan(Build) 500000.00 cop[tikv] table:t range:[-inf,500000], keep order:false
├─IndexRangeScan(Build) 1000000.00 cop[tikv] table:t, index:tb(b) range:[-inf,1000000], keep order:false
├─IndexRangeScan(Build) 3000000.00 cop[tikv] table:t, index:tc(c) range:[-inf,3000000], keep order:false
└─TableRowIDScan(Probe) 3560000.00 cop[tikv] table:t keep order:false
explain format = 'brief' select /*+ use_index_merge(t, tb, tc) */ * from t where b < 50 or c < 5000000;
id estRows task access object operator info
-IndexMerge 4999999.00 root
+IndexMerge 4999999.00 root type: union
├─IndexRangeScan(Build) 49.00 cop[tikv] table:t, index:tb(b) range:[-inf,50), keep order:false
├─IndexRangeScan(Build) 4999999.00 cop[tikv] table:t, index:tc(c) range:[-inf,5000000), keep order:false
└─TableRowIDScan(Probe) 4999999.00 cop[tikv] table:t keep order:false
explain format = 'brief' select /*+ use_index_merge(t, tb, tc) */ * from t where (b < 10000 or c < 10000) and (a < 10 or d < 10) and f < 10;
id estRows task access object operator info
-IndexMerge 0.00 root
+IndexMerge 0.00 root type: union
├─IndexRangeScan(Build) 9999.00 cop[tikv] table:t, index:tb(b) range:[-inf,10000), keep order:false
├─IndexRangeScan(Build) 9999.00 cop[tikv] table:t, index:tc(c) range:[-inf,10000), keep order:false
└─Selection(Probe) 0.00 cop[tikv] lt(test.t.f, 10), or(lt(test.t.a, 10), lt(test.t.d, 10))
@@ -134,7 +134,7 @@ TableReader 4999999.00 root data:Selection
└─TableFullScan 5000000.00 cop[tikv] table:t keep order:false
explain format = 'brief' select /*+ use_index_merge(t, primary, tb) */ * from t where a < 50 or b < 5000000;
id estRows task access object operator info
-IndexMerge 4999999.00 root
+IndexMerge 4999999.00 root type: union
├─TableRangeScan(Build) 49.00 cop[tikv] table:t range:[-inf,50), keep order:false
├─IndexRangeScan(Build) 4999999.00 cop[tikv] table:t, index:tb(b) range:[-inf,5000000), keep order:false
└─TableRowIDScan(Probe) 4999999.00 cop[tikv] table:t keep order:false
@@ -151,7 +151,7 @@ KEY `aid_c2` (`aid`,`c2`)
);
desc select /*+ USE_INDEX_MERGE(t, aid_c1, aid_c2) */ * from t where (aid = 1 and c1='aaa') or (aid = 2 and c2='bbb');
id estRows task access object operator info
-IndexMerge_8 8.08 root
+IndexMerge_8 8.08 root type: union
├─IndexRangeScan_5(Build) 0.10 cop[tikv] table:t, index:aid_c1(aid, c1) range:[1 "aaa",1 "aaa"], keep order:false, stats:pseudo
├─IndexRangeScan_6(Build) 0.10 cop[tikv] table:t, index:aid_c2(aid, c2) range:[2 "bbb",2 "bbb"], keep order:false, stats:pseudo
└─TableRowIDScan_7(Probe) 8.08 cop[tikv] table:t keep order:false, stats:pseudo
diff --git a/cmd/explaintest/r/index_merge.result b/cmd/explaintest/r/index_merge.result
index 1870b6bcd8d5d..6b44c6122987e 100644
--- a/cmd/explaintest/r/index_merge.result
+++ b/cmd/explaintest/r/index_merge.result
@@ -15,7 +15,7 @@ Sort_8 4433.77 root test.t1.c1
└─HashJoin_12 5542.21 root CARTESIAN left outer semi join, other cond:eq(test.t1.c3, test.t1.c3)
├─TableReader_18(Build) 10000.00 root data:TableFullScan_17
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
- └─IndexMerge_16(Probe) 5542.21 root
+ └─IndexMerge_16(Probe) 5542.21 root type: union
├─IndexRangeScan_13(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_14(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_15(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -35,7 +35,7 @@ Sort_8 4433.77 root test.t1.c1
└─HashJoin_12 5542.21 root CARTESIAN anti left outer semi join, other cond:eq(test.t1.c3, test.t1.c3)
├─TableReader_18(Build) 10000.00 root data:TableFullScan_17
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
- └─IndexMerge_16(Probe) 5542.21 root
+ └─IndexMerge_16(Probe) 5542.21 root type: union
├─IndexRangeScan_13(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_14(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_15(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -50,7 +50,7 @@ c1 c2 c3
explain select /*+ use_index_merge(t1) */ * from t1 where c1 < 10 or c2 < 10 and c3 = (select max(c3) from t1) order by 1;
id estRows task access object operator info
Sort_33 3325.55 root test.t1.c1
-└─IndexMerge_40 1843.09 root
+└─IndexMerge_40 1843.09 root type: union
├─IndexRangeScan_36(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_37(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_39(Probe) 1843.09 cop[tikv] or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), eq(test.t1.c3, 5)))
@@ -71,7 +71,7 @@ Sort_9 4433.77 root test.t1.c1
└─HashJoin_22 5542.21 root left outer semi join, equal:[eq(test.t1.c1, test.t2.c1)]
├─IndexReader_30(Build) 10000.00 root index:IndexFullScan_29
│ └─IndexFullScan_29 10000.00 cop[tikv] table:t2, index:c1(c1) keep order:false, stats:pseudo
- └─IndexMerge_26(Probe) 5542.21 root
+ └─IndexMerge_26(Probe) 5542.21 root type: union
├─IndexRangeScan_23(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_24(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_25(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -91,7 +91,7 @@ Sort_9 4433.77 root test.t1.c1
└─HashJoin_22 5542.21 root anti left outer semi join, equal:[eq(test.t1.c1, test.t2.c1)]
├─IndexReader_30(Build) 10000.00 root index:IndexFullScan_29
│ └─IndexFullScan_29 10000.00 cop[tikv] table:t2, index:c1(c1) keep order:false, stats:pseudo
- └─IndexMerge_26(Probe) 5542.21 root
+ └─IndexMerge_26(Probe) 5542.21 root type: union
├─IndexRangeScan_23(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_24(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_25(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -106,7 +106,7 @@ c1 c2 c3
explain select /*+ use_index_merge(t1) */ * from t1 where c1 < 10 or c2 < 10 and c3 = (select count(1) from t2) order by 1;
id estRows task access object operator info
Sort_38 3325.55 root test.t1.c1
-└─IndexMerge_45 1843.09 root
+└─IndexMerge_45 1843.09 root type: union
├─IndexRangeScan_41(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_42(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_44(Probe) 1843.09 cop[tikv] or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), eq(test.t1.c3, 5)))
@@ -128,7 +128,7 @@ Sort_11 5098.44 root test.t1.c1
│ └─IndexReader_44 1.00 root index:StreamAgg_27
│ └─StreamAgg_27 1.00 cop[tikv] funcs:count(1)->Column#25
│ └─IndexFullScan_41 10000.00 cop[tikv] table:t2, index:c1(c1) keep order:false, stats:pseudo
- └─IndexMerge_21(Probe) 2825.66 root
+ └─IndexMerge_21(Probe) 2825.66 root type: union
├─IndexRangeScan_17(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_18(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_20(Probe) 2825.66 cop[tikv] or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), if(isnull(test.t1.c3), NULL, 1)))
@@ -150,7 +150,7 @@ Sort_11 5098.44 root test.t1.c1
│ └─IndexReader_44 1.00 root index:StreamAgg_27
│ └─StreamAgg_27 1.00 cop[tikv] funcs:count(1)->Column#25
│ └─IndexFullScan_41 10000.00 cop[tikv] table:t2, index:c1(c1) keep order:false, stats:pseudo
- └─IndexMerge_21(Probe) 2825.66 root
+ └─IndexMerge_21(Probe) 2825.66 root type: union
├─IndexRangeScan_17(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_18(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_20(Probe) 2825.66 cop[tikv] or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), if(isnull(test.t1.c3), NULL, 1)))
@@ -172,7 +172,7 @@ Sort_11 5542.21 root test.t1.c1
│ └─IndexReader_43 1.00 root index:StreamAgg_26
│ └─StreamAgg_26 1.00 cop[tikv] funcs:count(1)->Column#25
│ └─IndexFullScan_40 10000.00 cop[tikv] table:t2, index:c1(c1) keep order:false, stats:pseudo
- └─IndexMerge_20(Probe) 5542.21 root
+ └─IndexMerge_20(Probe) 5542.21 root type: union
├─IndexRangeScan_17(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_18(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_19(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -194,7 +194,7 @@ Sort_39 5542.21 root test.t1.c1
│ └─IndexReader_71 1.00 root index:StreamAgg_54
│ └─StreamAgg_54 1.00 cop[tikv] funcs:count(1)->Column#38
│ └─IndexFullScan_68 10000.00 cop[tikv] table:t2, index:c1(c1) keep order:false, stats:pseudo
- └─IndexMerge_48(Probe) 5542.21 root
+ └─IndexMerge_48(Probe) 5542.21 root type: union
├─IndexRangeScan_45(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_46(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_47(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -220,7 +220,7 @@ Sort_14 4433.77 root test.t1.c1
│ └─TableReader_51(Probe) 9990.00 root data:Selection_50
│ └─Selection_50 9990.00 cop[tikv] not(isnull(test.t2.c2))
│ └─TableFullScan_49 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo
- └─IndexMerge_22(Probe) 5542.21 root
+ └─IndexMerge_22(Probe) 5542.21 root type: union
├─IndexRangeScan_19(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_20(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_21(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -239,7 +239,7 @@ explain select /*+ use_index_merge(t1) */ * from t1 where c1 < 10 or c2 < 10 and
id estRows task access object operator info
Sort_5 4060.74 root test.t1.c1
└─Selection_12 2250.55 root or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), lt(test.t1.c3, 10)))
- └─IndexMerge_11 5542.21 root
+ └─IndexMerge_11 5542.21 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_10(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -254,7 +254,7 @@ explain select /*+ use_index_merge(t1) */ * from t1 where c1 < 10 or c2 < 10 and
id estRows task access object operator info
Sort_5 5098.44 root test.t1.c1
└─Selection_12 2825.66 root or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), eq(test.t1.c3, plus(test.t1.c1, test.t1.c2))))
- └─IndexMerge_11 5542.21 root
+ └─IndexMerge_11 5542.21 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_10(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -269,7 +269,7 @@ explain select /*+ use_index_merge(t1) */ * from t1 where c1 < 10 or c2 < 10 and
id estRows task access object operator info
Sort_5 5098.44 root test.t1.c1
└─Selection_12 2825.66 root or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), istrue_with_null(cast(substring(cast(test.t1.c3, var_string(20)), test.t1.c2), double BINARY))))
- └─IndexMerge_11 5542.21 root
+ └─IndexMerge_11 5542.21 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_10(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -284,7 +284,7 @@ explain select /*+ use_index_merge(t1) */ * from t1 where c1 < 10 or c2 < 10 and
id estRows task access object operator info
Sort_5 4800.37 root test.t1.c1
└─Selection_12 2660.47 root or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), test.t1.c3))
- └─IndexMerge_11 5542.21 root
+ └─IndexMerge_11 5542.21 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_10(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -304,7 +304,7 @@ explain select * from t1 where c1 < 10 or c2 < 10 and c3 < 10 order by 1;
id estRows task access object operator info
Sort_5 4060.74 root test.t1.c1
└─Selection_12 2250.55 root or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), lt(test.t1.c3, 10)))
- └─IndexMerge_11 5542.21 root
+ └─IndexMerge_11 5542.21 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_10(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -338,7 +338,7 @@ insert into t1 values(1, 1, 1), (2, 2, 2), (3, 3, 3), (4, 4, 4), (5, 5, 5);
explain select /*+ use_index_merge(t1) */ * from t1 where c1 < 10 or c2 < 10 and c3 < 10 order by 1;
id estRows task access object operator info
Sort_5 4060.74 root test.t1.c1
-└─IndexMerge_12 2250.55 root
+└─IndexMerge_12 2250.55 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_11(Probe) 2250.55 cop[tikv] or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), lt(test.t1.c3, 10)))
@@ -368,7 +368,7 @@ alter table t1 add index c1(c1);
explain select /*+ use_index_merge(t1) */ * from t1 where c1 < 10 or c2 < 10 and c3 < 10 order by 1;
id estRows task access object operator info
Sort_5 4060.74 root test.t1.c1
-└─IndexMerge_12 2250.55 root
+└─IndexMerge_12 2250.55 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_11(Probe) 2250.55 cop[tikv] or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), lt(test.t1.c3, 10)))
@@ -391,7 +391,7 @@ Delete_11 N/A root N/A
└─SelectLock_17 4056.68 root for update 0
└─HashJoin_33 4056.68 root inner join, equal:[eq(test.t1.c1, test.t1.c1)]
├─HashAgg_36(Build) 3245.34 root group by:test.t1.c1, funcs:firstrow(test.t1.c1)->test.t1.c1
- │ └─IndexMerge_41 2248.30 root
+ │ └─IndexMerge_41 2248.30 root type: union
│ ├─IndexRangeScan_37(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
│ ├─IndexRangeScan_38(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
│ └─Selection_40(Probe) 2248.30 cop[tikv] not(isnull(test.t1.c1)), or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), lt(test.t1.c3, 10)))
@@ -409,7 +409,7 @@ Update_10 N/A root N/A
└─SelectLock_14 4056.68 root for update 0
└─HashJoin_30 4056.68 root inner join, equal:[eq(test.t1.c1, test.t1.c1)]
├─HashAgg_33(Build) 3245.34 root group by:test.t1.c1, funcs:firstrow(test.t1.c1)->test.t1.c1
- │ └─IndexMerge_38 2248.30 root
+ │ └─IndexMerge_38 2248.30 root type: union
│ ├─IndexRangeScan_34(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
│ ├─IndexRangeScan_35(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
│ └─Selection_37(Probe) 2248.30 cop[tikv] not(isnull(test.t1.c1)), or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), lt(test.t1.c3, 10)))
@@ -426,7 +426,7 @@ id estRows task access object operator info
Sort_6 4060.74 root test.t1.c1
└─Projection_8 4060.74 root test.t1.c1, test.t1.c2, test.t1.c3
└─SelectLock_9 4060.74 root for update 0
- └─IndexMerge_14 2250.55 root
+ └─IndexMerge_14 2250.55 root type: union
├─IndexRangeScan_10(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_11(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_13(Probe) 2250.55 cop[tikv] or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), lt(test.t1.c3, 10)))
@@ -455,9 +455,9 @@ c1 c2 c3
///// MEMORY Table
explain select count(c1) from (select /*+ use_index_merge(t_alias), stream_agg() */ count(1) c1 from information_schema.statements_summary where sum_latency >= 0 or max_latency >= 0 order by 1) dt;
id estRows task access object operator info
-StreamAgg_10 1.00 root funcs:count(Column#93)->Column#94
-└─Sort_11 1.00 root Column#93
- └─StreamAgg_14 1.00 root funcs:count(1)->Column#93
+StreamAgg_10 1.00 root funcs:count(Column#96)->Column#97
+└─Sort_11 1.00 root Column#96
+ └─StreamAgg_14 1.00 root funcs:count(1)->Column#96
└─MemTableScan_18 10000.00 root table:STATEMENTS_SUMMARY
show warnings;
Level Code Message
@@ -471,7 +471,7 @@ insert into t1 values(1, 1, 1), (2, 2, 2), (3, 3, 3), (4, 4, 4), (5, 5, 5);
explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < 10) and c3 < 10 order by 1 limit 1 offset 2;
id estRows task access object operator info
TopN_10 1.00 root test.t1.c1, offset:2, count:1
-└─IndexMerge_19 1841.86 root
+└─IndexMerge_19 1841.86 root type: union
├─IndexRangeScan_15(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_16(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_18(Probe) 1841.86 cop[tikv] lt(test.t1.c3, 10)
@@ -485,7 +485,7 @@ id estRows task access object operator info
Sort_6 1473.49 root Column#5
└─HashAgg_11 1473.49 root group by:Column#10, funcs:sum(Column#9)->Column#5
└─Projection_18 1841.86 root cast(test.t1.c1, decimal(10,0) BINARY)->Column#9, test.t1.c1
- └─IndexMerge_16 1841.86 root
+ └─IndexMerge_16 1841.86 root type: union
├─IndexRangeScan_12(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_13(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_15(Probe) 1841.86 cop[tikv] lt(test.t1.c3, 10)
@@ -507,7 +507,7 @@ Sort_12 1841.86 root test.t1.c1
└─Projection_14 1841.86 root test.t1.c1, test.t1.c2, test.t1.c3
└─Apply_16 1841.86 root inner join, equal:[eq(Column#10, Column#9)]
├─Projection_17(Build) 1841.86 root test.t1.c1, test.t1.c2, test.t1.c3, cast(test.t1.c1, decimal(10,0) BINARY)->Column#10
- │ └─IndexMerge_22 1841.86 root
+ │ └─IndexMerge_22 1841.86 root type: union
│ ├─IndexRangeScan_18(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
│ ├─IndexRangeScan_19(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,-1), keep order:false, stats:pseudo
│ └─Selection_21(Probe) 1841.86 cop[tikv] lt(test.t1.c3, 10)
@@ -530,7 +530,7 @@ Sort_16 1841.86 root test.t1.c1
└─Projection_18 1841.86 root test.t1.c1, test.t1.c2, test.t1.c3
└─Apply_20 1841.86 root inner join, equal:[eq(Column#11, Column#9)]
├─Projection_21(Build) 1841.86 root test.t1.c1, test.t1.c2, test.t1.c3, cast(test.t1.c1, decimal(10,0) BINARY)->Column#11
- │ └─IndexMerge_26 1841.86 root
+ │ └─IndexMerge_26 1841.86 root type: union
│ ├─IndexRangeScan_22(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
│ ├─IndexRangeScan_23(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,-1), keep order:false, stats:pseudo
│ └─Selection_25(Probe) 1841.86 cop[tikv] lt(test.t1.c3, 10)
@@ -538,7 +538,7 @@ Sort_16 1841.86 root test.t1.c1
└─TopN_29(Probe) 1841.86 root test.t2.c1, offset:2, count:1
└─HashAgg_36 4900166.23 root group by:Column#21, funcs:avg(Column#19)->Column#9, funcs:firstrow(Column#20)->test.t2.c1
└─Projection_48 6125207.79 root cast(test.t2.c1, decimal(10,0) BINARY)->Column#19, test.t2.c1, test.t2.c1
- └─IndexMerge_41 6125207.79 root
+ └─IndexMerge_41 6125207.79 root type: union
├─Selection_38(Build) 6121.12 cop[tikv] eq(test.t1.c1, test.t2.c1)
│ └─IndexRangeScan_37 6121120.92 cop[tikv] table:t2, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_39(Build) 6121120.92 cop[tikv] table:t2, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
@@ -553,7 +553,7 @@ insert into t1 values(1, 1, 1, 1, 1), (2, 2, 2, 2, 2), (3, 3, 3, 3, 3), (4, 4, 4
explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < 10) and (c3 < 10 or c4 < 10) order by 1;
id estRows task access object operator info
Sort_5 3071.61 root test.t1.c1
-└─IndexMerge_12 3071.61 root
+└─IndexMerge_12 3071.61 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_11(Probe) 3071.61 cop[tikv] or(lt(test.t1.c3, 10), lt(test.t1.c4, 10))
@@ -568,7 +568,7 @@ c1 c2 c3 c4 c5
explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 and c2 < 10) or (c3 < 10 and c4 < 10) order by 1;
id estRows task access object operator info
Sort_5 2086.93 root test.t1.c1
-└─IndexMerge_12 1156.62 root
+└─IndexMerge_12 1156.62 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c3(c3) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_11(Probe) 1156.62 cop[tikv] or(and(lt(test.t1.c1, 10), lt(test.t1.c2, 10)), and(lt(test.t1.c3, 10), lt(test.t1.c4, 10)))
@@ -583,7 +583,7 @@ c1 c2 c3 c4 c5
explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 and c2 < 10) or (c3 < 10 and c4 < 10) and c5 < 10 order by 1;
id estRows task access object operator info
Sort_5 1430.96 root test.t1.c1
-└─IndexMerge_12 793.07 root
+└─IndexMerge_12 793.07 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c3(c3) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_11(Probe) 793.07 cop[tikv] or(and(lt(test.t1.c1, 10), lt(test.t1.c2, 10)), and(lt(test.t1.c3, 10), and(lt(test.t1.c4, 10), lt(test.t1.c5, 10))))
@@ -598,7 +598,7 @@ c1 c2 c3 c4 c5
explain select /*+ use_index_merge(t1) */ * from t1 where ((c1 < 10 and c4 < 10) or c2 < 10) and (c3 < 10 or c5 < 10) order by 1;
id estRows task access object operator info
Sort_5 2250.55 root test.t1.c1
-└─IndexMerge_12 1247.30 root
+└─IndexMerge_12 1247.30 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_11(Probe) 1247.30 cop[tikv] or(and(lt(test.t1.c1, 10), lt(test.t1.c4, 10)), lt(test.t1.c2, 10)), or(lt(test.t1.c3, 10), lt(test.t1.c5, 10))
@@ -628,7 +628,7 @@ c1 c2 c3 c4 c5
explain select /*+ use_index_merge(t1) */ * from t1 where (((c1 < 10 or c3 < 10) and c1 < 10) or c2 < 10) and (c3 < 10 or c5 < 10) order by 1;
id estRows task access object operator info
Sort_5 2523.42 root test.t1.c1
-└─IndexMerge_12 1398.53 root
+└─IndexMerge_12 1398.53 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_11(Probe) 1398.53 cop[tikv] or(and(or(lt(test.t1.c1, 10), lt(test.t1.c3, 10)), lt(test.t1.c1, 10)), lt(test.t1.c2, 10)), or(lt(test.t1.c3, 10), lt(test.t1.c5, 10))
@@ -645,7 +645,7 @@ c1 c2 c3 c4 c5
explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < 10) and coalesce(c1, c2, c4) = 1 order by 1;
id estRows task access object operator info
Sort_5 4433.77 root test.t1.c1
-└─IndexMerge_12 4433.77 root
+└─IndexMerge_12 4433.77 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_11(Probe) 4433.77 cop[tikv] eq(coalesce(test.t1.c1, test.t1.c2, test.t1.c4), 1)
@@ -657,7 +657,7 @@ explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < 10) a
id estRows task access object operator info
Sort_5 4433.77 root test.t1.c1
└─Selection_12 4433.77 root eq(greatest(test.t1.c1, test.t1.c2, test.t1.c4), 1)
- └─IndexMerge_11 5542.21 root
+ └─IndexMerge_11 5542.21 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_10(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -668,7 +668,7 @@ c1 c2 c3 c4 c5
explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < 10) and abs(c1) = 1 order by 1;
id estRows task access object operator info
Sort_5 4433.77 root test.t1.c1
-└─IndexMerge_12 4433.77 root
+└─IndexMerge_12 4433.77 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_11(Probe) 4433.77 cop[tikv] eq(abs(test.t1.c1), 1)
@@ -679,7 +679,7 @@ c1 c2 c3 c4 c5
explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < 10) and pi() order by 1;
id estRows task access object operator info
Sort_5 5542.21 root test.t1.c1
-└─IndexMerge_11 5542.21 root
+└─IndexMerge_11 5542.21 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_10(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -693,7 +693,7 @@ c1 c2 c3 c4 c5
explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < 10) and ceil(c1) order by 1;
id estRows task access object operator info
Sort_5 4433.77 root test.t1.c1
-└─IndexMerge_12 4433.77 root
+└─IndexMerge_12 4433.77 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_11(Probe) 4433.77 cop[tikv] ceil(test.t1.c1)
@@ -709,7 +709,7 @@ explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < 10) a
id estRows task access object operator info
Sort_5 4433.77 root test.t1.c1
└─Selection_8 4433.77 root eq(truncate(test.t1.c1, 1), 1)
- └─IndexMerge_12 5542.21 root
+ └─IndexMerge_12 5542.21 root type: union
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_10(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_11(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -725,7 +725,7 @@ c1 c2 c3 c4 c5
explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < 10) and substring(c3, 1, 1) = '1' order by 1;
id estRows task access object operator info
Sort_5 4433.77 root test.t1.c1
-└─IndexMerge_12 4433.77 root
+└─IndexMerge_12 4433.77 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_11(Probe) 4433.77 cop[tikv] eq(substring(cast(test.t1.c3, var_string(20)), 1, 1), "1")
@@ -737,7 +737,7 @@ c1 c2 c3 c4 c5
explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < 10) and ifnull(c1, c2) order by 1;
id estRows task access object operator info
Sort_5 4433.77 root test.t1.c1
-└─IndexMerge_12 4433.77 root
+└─IndexMerge_12 4433.77 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_11(Probe) 4433.77 cop[tikv] ifnull(test.t1.c1, test.t1.c2)
@@ -752,7 +752,7 @@ c1 c2 c3 c4 c5
explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < 10) and if(c1, c2, c3) order by 1;
id estRows task access object operator info
Sort_5 4433.77 root test.t1.c1
-└─IndexMerge_12 4433.77 root
+└─IndexMerge_12 4433.77 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_11(Probe) 4433.77 cop[tikv] if(test.t1.c1, test.t1.c2, test.t1.c3)
@@ -767,7 +767,7 @@ c1 c2 c3 c4 c5
explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < 10) and (c1 between 1 and 2) order by 1;
id estRows task access object operator info
Sort_5 138.56 root test.t1.c1
-└─IndexMerge_12 138.56 root
+└─IndexMerge_12 138.56 root type: union
├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_11(Probe) 138.56 cop[tikv] ge(test.t1.c1, 1), le(test.t1.c1, 2)
@@ -782,7 +782,7 @@ explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < 10) a
id estRows task access object operator info
Sort_5 4433.77 root test.t1.c1
└─Selection_8 4433.77 root eq(length(substring(cast(sqrt(cast(test.t1.c3, double BINARY)), var_string(5)), getvar("a"), 1)), char_length(cast(if(test.t1.c1, test.t1.c2, test.t1.c3), var_string(20))))
- └─IndexMerge_12 5542.21 root
+ └─IndexMerge_12 5542.21 root type: union
├─IndexRangeScan_9(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_10(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─TableRowIDScan_11(Probe) 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo
@@ -800,7 +800,7 @@ insert into t1 values(1, 1, 1, 1, 1), (2, 2, 2, 2, 2), (3, 3, 3, 3, 3), (4, 4, 4
explain with cte1 as (select /*+ use_index_merge(t1) */ * from t1 where c1 < 10 or c2 < 10 and c3 < 10) select * from cte1 order by 1;
id estRows task access object operator info
Sort_10 4060.74 root test.t1.c1
-└─IndexMerge_17 2250.55 root
+└─IndexMerge_17 2250.55 root type: union
├─IndexRangeScan_13(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
├─IndexRangeScan_14(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
└─Selection_16(Probe) 2250.55 cop[tikv] or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), lt(test.t1.c3, 10)))
@@ -818,7 +818,7 @@ Sort_23 7309.33 root test.t1.c1
└─CTEFullScan_26 7309.33 root CTE:cte1 data:CTE_0
CTE_0 7309.33 root Recursive CTE
├─Projection_14(Seed Part) 4060.74 root test.t1.c1
-│ └─IndexMerge_19 2250.55 root
+│ └─IndexMerge_19 2250.55 root type: union
│ ├─IndexRangeScan_15(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo
│ ├─IndexRangeScan_16(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo
│ └─Selection_18(Probe) 2250.55 cop[tikv] or(lt(test.t1.c1, 10), and(lt(test.t1.c2, 10), lt(test.t1.c3, 10)))
diff --git a/cmd/explaintest/r/new_character_set_builtin.result b/cmd/explaintest/r/new_character_set_builtin.result
index f044ecca1019c..77c9400e3128a 100644
--- a/cmd/explaintest/r/new_character_set_builtin.result
+++ b/cmd/explaintest/r/new_character_set_builtin.result
@@ -399,17 +399,17 @@ a like 0xe4b880 b like 0xd2bb
1 1
1 1
select a = 0xb6fe from t;
-Error 3854: Cannot convert string '\xB6\xFE' from binary to utf8mb4
+Error 3854 (HY000): Cannot convert string '\xB6\xFE' from binary to utf8mb4
select b = 0xe4ba8c from t;
-Error 3854: Cannot convert string '\xE4\xBA\x8C' from binary to gbk
+Error 3854 (HY000): Cannot convert string '\xE4\xBA\x8C' from binary to gbk
select concat(a, 0xb6fe) from t;
-Error 3854: Cannot convert string '\xB6\xFE' from binary to utf8mb4
+Error 3854 (HY000): Cannot convert string '\xB6\xFE' from binary to utf8mb4
select concat(b, 0xe4ba8c) from t;
-Error 3854: Cannot convert string '\xE4\xBA\x8C' from binary to gbk
+Error 3854 (HY000): Cannot convert string '\xE4\xBA\x8C' from binary to gbk
select concat(convert('a' using gbk), 0x3fff) from t;
-Error 3854: Cannot convert string '?\xFF' from binary to gbk
+Error 3854 (HY000): Cannot convert string '?\xFF' from binary to gbk
select concat(convert('a' using gbk), 0x3fffffffffffffff) from t;
-Error 3854: Cannot convert string '?\xFF\xFF\xFF\xFF\xFF...' from binary to gbk
+Error 3854 (HY000): Cannot convert string '?\xFF\xFF\xFF\xFF\xFF...' from binary to gbk
set @@tidb_enable_vectorized_expression = false;
select hex(concat(a, c)), hex(concat(b, c)) from t;
hex(concat(a, c)) hex(concat(b, c))
@@ -502,13 +502,13 @@ a like 0xe4b880 b like 0xd2bb
1 1
1 1
select a = 0xb6fe from t;
-Error 3854: Cannot convert string '\xB6\xFE' from binary to utf8mb4
+Error 3854 (HY000): Cannot convert string '\xB6\xFE' from binary to utf8mb4
select b = 0xe4ba8c from t;
-Error 3854: Cannot convert string '\xE4\xBA\x8C' from binary to gbk
+Error 3854 (HY000): Cannot convert string '\xE4\xBA\x8C' from binary to gbk
select concat(a, 0xb6fe) from t;
-Error 3854: Cannot convert string '\xB6\xFE' from binary to utf8mb4
+Error 3854 (HY000): Cannot convert string '\xB6\xFE' from binary to utf8mb4
select concat(b, 0xe4ba8c) from t;
-Error 3854: Cannot convert string '\xE4\xBA\x8C' from binary to gbk
+Error 3854 (HY000): Cannot convert string '\xE4\xBA\x8C' from binary to gbk
drop table if exists t;
create table t (a char(20) charset utf8mb4, b char(20) charset gbk, c binary(20));
insert into t values ('一二三', '一二三', '一二三');
diff --git a/cmd/explaintest/r/new_character_set_invalid.result b/cmd/explaintest/r/new_character_set_invalid.result
index 7eea6348e2bc7..e0c749d81ab15 100644
--- a/cmd/explaintest/r/new_character_set_invalid.result
+++ b/cmd/explaintest/r/new_character_set_invalid.result
@@ -4,11 +4,11 @@ drop table if exists t;
create table t (a varchar(255) charset gbk, b varchar(255) charset ascii, c varchar(255) charset utf8);
insert into t values ('中文', 'asdf', '字符集');
insert into t values ('À', 'ø', '😂');
-Error 1366: Incorrect string value '\xC3\x80' for column 'a'
+Error 1366 (HY000): Incorrect string value '\xC3\x80' for column 'a'
insert into t values ('中文À中文', 'asdføfdsa', '字符集😂字符集');
-Error 1366: Incorrect string value '\xC3\x80' for column 'a'
+Error 1366 (HY000): Incorrect string value '\xC3\x80' for column 'a'
insert into t values (0x4040ffff, 0x4040ffff, 0x4040ffff);
-Error 1366: Incorrect string value '\xFF\xFF' for column 'a'
+Error 1366 (HY000): Incorrect string value '\xFF\xFF' for column 'a'
select * from t;
a b c
中文 asdf 字符集
diff --git a/cmd/explaintest/r/select.result b/cmd/explaintest/r/select.result
index 02f2486542f45..70101f0218ca8 100644
--- a/cmd/explaintest/r/select.result
+++ b/cmd/explaintest/r/select.result
@@ -96,9 +96,9 @@ SELECT * from t a left join t2 b on a.c1 = b.c1;
c1 c2 c3 c1 c2
1 2 3 1 2
SELECT * from (SELECT 1, 1) as a;
-Error 1060: Duplicate column name '1'
+Error 1060 (42S21): Duplicate column name '1'
SELECT * from (SELECT * FROM t, t2) as a;
-Error 1060: Duplicate column name 'c1'
+Error 1060 (42S21): Duplicate column name 'c1'
DROP TABLE IF EXISTS t;
CREATE TABLE t (c1 INT, c2 INT);
INSERT INTO t VALUES (1, 2), (1, 1), (1, 3);
@@ -656,5 +656,5 @@ drop table if exists t3;
create table t3(a char(10), primary key (a));
insert into t3 values ('a');
select * from t3 where a > 0x80;
-Error 1105: Cannot convert string '\x80' from binary to utf8mb4
+Error 1105 (HY000): Cannot convert string '\x80' from binary to utf8mb4
set @@tidb_enable_outer_join_reorder=false;
diff --git a/cmd/explaintest/r/tpch.result b/cmd/explaintest/r/tpch.result
index 28328e4c63241..a2fc266a653d7 100644
--- a/cmd/explaintest/r/tpch.result
+++ b/cmd/explaintest/r/tpch.result
@@ -27,16 +27,13 @@ S_NATIONKEY INTEGER NOT NULL,
S_PHONE CHAR(15) NOT NULL,
S_ACCTBAL DECIMAL(15,2) NOT NULL,
S_COMMENT VARCHAR(101) NOT NULL,
-PRIMARY KEY (S_SUPPKEY),
-CONSTRAINT FOREIGN KEY SUPPLIER_FK1 (S_NATIONKEY) references nation(N_NATIONKEY));
+PRIMARY KEY (S_SUPPKEY));
CREATE TABLE IF NOT EXISTS partsupp ( PS_PARTKEY INTEGER NOT NULL,
PS_SUPPKEY INTEGER NOT NULL,
PS_AVAILQTY INTEGER NOT NULL,
PS_SUPPLYCOST DECIMAL(15,2) NOT NULL,
PS_COMMENT VARCHAR(199) NOT NULL,
-PRIMARY KEY (PS_PARTKEY,PS_SUPPKEY),
-CONSTRAINT FOREIGN KEY PARTSUPP_FK1 (PS_SUPPKEY) references supplier(S_SUPPKEY),
-CONSTRAINT FOREIGN KEY PARTSUPP_FK2 (PS_PARTKEY) references part(P_PARTKEY));
+PRIMARY KEY (PS_PARTKEY,PS_SUPPKEY));
CREATE TABLE IF NOT EXISTS customer ( C_CUSTKEY INTEGER NOT NULL,
C_NAME VARCHAR(25) NOT NULL,
C_ADDRESS VARCHAR(40) NOT NULL,
@@ -45,8 +42,7 @@ C_PHONE CHAR(15) NOT NULL,
C_ACCTBAL DECIMAL(15,2) NOT NULL,
C_MKTSEGMENT CHAR(10) NOT NULL,
C_COMMENT VARCHAR(117) NOT NULL,
-PRIMARY KEY (C_CUSTKEY),
-CONSTRAINT FOREIGN KEY CUSTOMER_FK1 (C_NATIONKEY) references nation(N_NATIONKEY));
+PRIMARY KEY (C_CUSTKEY));
CREATE TABLE IF NOT EXISTS orders ( O_ORDERKEY INTEGER NOT NULL,
O_CUSTKEY INTEGER NOT NULL,
O_ORDERSTATUS CHAR(1) NOT NULL,
@@ -56,8 +52,7 @@ O_ORDERPRIORITY CHAR(15) NOT NULL,
O_CLERK CHAR(15) NOT NULL,
O_SHIPPRIORITY INTEGER NOT NULL,
O_COMMENT VARCHAR(79) NOT NULL,
-PRIMARY KEY (O_ORDERKEY),
-CONSTRAINT FOREIGN KEY ORDERS_FK1 (O_CUSTKEY) references customer(C_CUSTKEY));
+PRIMARY KEY (O_ORDERKEY));
CREATE TABLE IF NOT EXISTS lineitem ( L_ORDERKEY INTEGER NOT NULL,
L_PARTKEY INTEGER NOT NULL,
L_SUPPKEY INTEGER NOT NULL,
@@ -74,9 +69,7 @@ L_RECEIPTDATE DATE NOT NULL,
L_SHIPINSTRUCT CHAR(25) NOT NULL,
L_SHIPMODE CHAR(10) NOT NULL,
L_COMMENT VARCHAR(44) NOT NULL,
-PRIMARY KEY (L_ORDERKEY,L_LINENUMBER),
-CONSTRAINT FOREIGN KEY LINEITEM_FK1 (L_ORDERKEY) references orders(O_ORDERKEY),
-CONSTRAINT FOREIGN KEY LINEITEM_FK2 (L_PARTKEY,L_SUPPKEY) references partsupp(PS_PARTKEY, PS_SUPPKEY));
+PRIMARY KEY (L_ORDERKEY,L_LINENUMBER));
load stats 's/tpch_stats/nation.json';
load stats 's/tpch_stats/region.json';
load stats 's/tpch_stats/part.json';
diff --git a/cmd/explaintest/t/explain_complex.test b/cmd/explaintest/t/explain_complex.test
index d9d1b9285f727..187ec571857d8 100644
--- a/cmd/explaintest/t/explain_complex.test
+++ b/cmd/explaintest/t/explain_complex.test
@@ -174,7 +174,9 @@ CREATE TABLE org_position (
UNIQUE KEY org_employee_position_pk (hotel_id,user_id,position_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+set tidb_cost_model_version=2;
explain format = 'brief' SELECT d.id, d.ctx, d.name, d.left_value, d.right_value, d.depth, d.leader_id, d.status, d.created_on, d.updated_on FROM org_department AS d LEFT JOIN org_position AS p ON p.department_id = d.id AND p.status = 1000 LEFT JOIN org_employee_position AS ep ON ep.position_id = p.id AND ep.status = 1000 WHERE (d.ctx = 1 AND (ep.user_id = 62 OR d.id = 20 OR d.id = 20) AND d.status = 1000) GROUP BY d.id ORDER BY d.left_value;
+set tidb_cost_model_version=1;
create table test.Tab_A (id int primary key,bid int,cid int,name varchar(20),type varchar(20),num int,amt decimal(11,2));
create table test.Tab_B (id int primary key,name varchar(20));
diff --git a/cmd/explaintest/t/explain_foreign_key.test b/cmd/explaintest/t/explain_foreign_key.test
new file mode 100644
index 0000000000000..ec222d020a5ab
--- /dev/null
+++ b/cmd/explaintest/t/explain_foreign_key.test
@@ -0,0 +1,45 @@
+set @@foreign_key_checks=1;
+use test;
+drop table if exists t1,t2;
+create table t1 (id int key);
+create table t2 (id int key, foreign key fk(id) references t1(id) ON UPDATE CASCADE ON DELETE CASCADE);
+create table t3 (id int, unique index idx(id));
+create table t4 (id int, index idx_id(id),foreign key fk(id) references t3(id));
+create table t5 (id int key, id2 int, id3 int, unique index idx2(id2), index idx3(id3));
+create table t6 (id int, id2 int, id3 int, index idx_id(id), index idx_id2(id2), foreign key fk_1 (id) references t5(id) ON UPDATE CASCADE ON DELETE CASCADE, foreign key fk_2 (id2) references t5(id2) ON UPDATE CASCADE, foreign key fk_3 (id3) references t5(id3) ON DELETE CASCADE);
+
+explain format = 'brief' insert into t2 values (1);
+explain format = 'brief' update t2 set id=id+1 where id = 1;
+explain format = 'brief' delete from t1 where id > 1;
+explain format = 'brief' update t1 set id=id+1 where id = 1;
+explain format = 'brief' insert into t1 values (1);
+explain format = 'brief' insert into t1 values (1) on duplicate key update id = 100;
+explain format = 'brief' insert into t4 values (1);
+explain format = 'brief' update t4 set id=id+1 where id = 1;
+explain format = 'brief' delete from t3 where id > 1;
+explain format = 'brief' update t3 set id=id+1 where id = 1;
+explain format = 'brief' insert into t3 values (1);
+explain format = 'brief' insert into t3 values (1) on duplicate key update id = 100;
+explain format = 'brief' insert into t6 values (1,1,1);
+explain format = 'brief' update t6 set id=id+1, id3=id2+1 where id = 1;
+explain format = 'brief' delete from t5 where id > 1;
+explain format = 'brief' update t5 set id=id+1, id2=id2+1 where id = 1;
+explain format = 'brief' update t5 set id=id+1, id2=id2+1, id3=id3+1 where id = 1;
+explain format = 'brief' insert into t5 values (1,1,1);
+explain format = 'brief' insert into t5 values (1,1,1) on duplicate key update id = 100, id3=100;
+explain format = 'brief' insert into t5 values (1,1,1) on duplicate key update id = 100, id2=100, id3=100;
+drop table if exists t1,t2,t3,t4,t5,t6;
+
+drop table if exists t_1,t_2,t_3,t_4;
+create table t_1 (id int key);
+create table t_2 (id int key);
+create table t_3 (id int key, id2 int, foreign key fk_1(id) references t_1(id), foreign key fk_2(id2) references t_1(id), foreign key fk_3(id) references t_2(id) ON UPDATE CASCADE ON DELETE CASCADE);
+create table t_4 (id int key, id2 int, foreign key fk_1(id) references t_2(id), foreign key fk_2(id2) references t_1(id), foreign key fk_3(id) references t_1(id) ON UPDATE CASCADE ON DELETE CASCADE);
+
+explain format = 'brief' update t_1,t_2 set t_1.id=2,t_2.id=2 where t_1.id=t_2.id and t_1.id=1;
+explain format = 'brief' delete t_1,t_2 from t_1 join t_2 where t_1.id=t_2.id and t_1.id > 0;
+set @@foreign_key_checks=0;
+explain format = 'brief' update t_1,t_2 set t_1.id=2,t_2.id=2 where t_1.id=t_2.id and t_1.id=1;
+explain format = 'brief' delete t_1,t_2 from t_1 join t_2 where t_1.id=t_2.id and t_1.id > 0;
+drop table if exists t_1,t_2,t_3,t_4;
+set @@foreign_key_checks=0;
diff --git a/cmd/explaintest/t/tpch.test b/cmd/explaintest/t/tpch.test
index 33e4256b59e99..fbf20e25637f4 100644
--- a/cmd/explaintest/t/tpch.test
+++ b/cmd/explaintest/t/tpch.test
@@ -31,17 +31,14 @@ CREATE TABLE IF NOT EXISTS supplier ( S_SUPPKEY INTEGER NOT NULL,
S_PHONE CHAR(15) NOT NULL,
S_ACCTBAL DECIMAL(15,2) NOT NULL,
S_COMMENT VARCHAR(101) NOT NULL,
- PRIMARY KEY (S_SUPPKEY),
- CONSTRAINT FOREIGN KEY SUPPLIER_FK1 (S_NATIONKEY) references nation(N_NATIONKEY));
+ PRIMARY KEY (S_SUPPKEY));
CREATE TABLE IF NOT EXISTS partsupp ( PS_PARTKEY INTEGER NOT NULL,
PS_SUPPKEY INTEGER NOT NULL,
PS_AVAILQTY INTEGER NOT NULL,
PS_SUPPLYCOST DECIMAL(15,2) NOT NULL,
PS_COMMENT VARCHAR(199) NOT NULL,
- PRIMARY KEY (PS_PARTKEY,PS_SUPPKEY),
- CONSTRAINT FOREIGN KEY PARTSUPP_FK1 (PS_SUPPKEY) references supplier(S_SUPPKEY),
- CONSTRAINT FOREIGN KEY PARTSUPP_FK2 (PS_PARTKEY) references part(P_PARTKEY));
+ PRIMARY KEY (PS_PARTKEY,PS_SUPPKEY));
CREATE TABLE IF NOT EXISTS customer ( C_CUSTKEY INTEGER NOT NULL,
C_NAME VARCHAR(25) NOT NULL,
@@ -51,8 +48,7 @@ CREATE TABLE IF NOT EXISTS customer ( C_CUSTKEY INTEGER NOT NULL,
C_ACCTBAL DECIMAL(15,2) NOT NULL,
C_MKTSEGMENT CHAR(10) NOT NULL,
C_COMMENT VARCHAR(117) NOT NULL,
- PRIMARY KEY (C_CUSTKEY),
- CONSTRAINT FOREIGN KEY CUSTOMER_FK1 (C_NATIONKEY) references nation(N_NATIONKEY));
+ PRIMARY KEY (C_CUSTKEY));
CREATE TABLE IF NOT EXISTS orders ( O_ORDERKEY INTEGER NOT NULL,
O_CUSTKEY INTEGER NOT NULL,
@@ -63,8 +59,7 @@ CREATE TABLE IF NOT EXISTS orders ( O_ORDERKEY INTEGER NOT NULL,
O_CLERK CHAR(15) NOT NULL,
O_SHIPPRIORITY INTEGER NOT NULL,
O_COMMENT VARCHAR(79) NOT NULL,
- PRIMARY KEY (O_ORDERKEY),
- CONSTRAINT FOREIGN KEY ORDERS_FK1 (O_CUSTKEY) references customer(C_CUSTKEY));
+ PRIMARY KEY (O_ORDERKEY));
CREATE TABLE IF NOT EXISTS lineitem ( L_ORDERKEY INTEGER NOT NULL,
L_PARTKEY INTEGER NOT NULL,
@@ -82,9 +77,7 @@ CREATE TABLE IF NOT EXISTS lineitem ( L_ORDERKEY INTEGER NOT NULL,
L_SHIPINSTRUCT CHAR(25) NOT NULL,
L_SHIPMODE CHAR(10) NOT NULL,
L_COMMENT VARCHAR(44) NOT NULL,
- PRIMARY KEY (L_ORDERKEY,L_LINENUMBER),
- CONSTRAINT FOREIGN KEY LINEITEM_FK1 (L_ORDERKEY) references orders(O_ORDERKEY),
- CONSTRAINT FOREIGN KEY LINEITEM_FK2 (L_PARTKEY,L_SUPPKEY) references partsupp(PS_PARTKEY, PS_SUPPKEY));
+ PRIMARY KEY (L_ORDERKEY,L_LINENUMBER));
-- load stats.
load stats 's/tpch_stats/nation.json';
load stats 's/tpch_stats/region.json';
diff --git a/config/config.go b/config/config.go
index 1ba2c7fbd1595..bc25b8c9b9ec3 100644
--- a/config/config.go
+++ b/config/config.go
@@ -49,7 +49,8 @@ const (
// DefTxnEntrySizeLimit is the default value of TxnEntrySizeLimit.
DefTxnEntrySizeLimit = 6 * 1024 * 1024
// DefTxnTotalSizeLimit is the default value of TxnTxnTotalSizeLimit.
- DefTxnTotalSizeLimit = 100 * 1024 * 1024
+ DefTxnTotalSizeLimit = 100 * 1024 * 1024
+ SuperLargeTxnSize uint64 = 100 * 1024 * 1024 * 1024 * 1024 // 100T, we expect a txn can never be this large
// DefMaxIndexLength is the maximum index length(in bytes). This value is consistent with MySQL.
DefMaxIndexLength = 3072
// DefMaxOfMaxIndexLength is the maximum index length(in bytes) for TiDB v3.0.7 and previous version.
@@ -260,6 +261,9 @@ type Config struct {
// EnableGlobalKill indicates whether to enable global kill.
TrxSummary TrxSummary `toml:"transaction-summary" json:"transaction-summary"`
EnableGlobalKill bool `toml:"enable-global-kill" json:"enable-global-kill"`
+ // InitializeSQLFile is a file that will be executed after first bootstrap only.
+ // It can be used to set GLOBAL system variable values
+ InitializeSQLFile string `toml:"initialize-sql-file" json:"initialize-sql-file"`
// The following items are deprecated. We need to keep them here temporarily
// to support the upgrade process. They can be removed in future.
@@ -278,6 +282,7 @@ type Config struct {
Plugin Plugin `toml:"plugin" json:"plugin"`
MaxServerConnections uint32 `toml:"max-server-connections" json:"max-server-connections"`
RunDDL bool `toml:"run-ddl" json:"run-ddl"`
+ DisaggregatedTiFlash bool `toml:"disaggregated-tiflash" json:"disaggregated-tiflash"`
// TiDBMaxReuseChunk indicates max cached chunk num
TiDBMaxReuseChunk uint32 `toml:"tidb-max-reuse-chunk" json:"tidb-max-reuse-chunk"`
// TiDBMaxReuseColumn indicates max cached column num
@@ -556,6 +561,8 @@ type Security struct {
AuthTokenJWKS string `toml:"auth-token-jwks" json:"auth-token-jwks"`
// The refresh time interval of JWKS
AuthTokenRefreshInterval string `toml:"auth-token-refresh-interval" json:"auth-token-refresh-interval"`
+ // Disconnect directly when the password is expired
+ DisconnectOnExpiredPassword bool `toml:"disconnect-on-expired-password" json:"disconnect-on-expired-password"`
}
// The ErrConfigValidationFailed error is used so that external callers can do a type assertion
@@ -655,14 +662,15 @@ type Performance struct {
// Deprecated
MemProfileInterval string `toml:"-" json:"-"`
- IndexUsageSyncLease string `toml:"index-usage-sync-lease" json:"index-usage-sync-lease"`
- PlanReplayerGCLease string `toml:"plan-replayer-gc-lease" json:"plan-replayer-gc-lease"`
- GOGC int `toml:"gogc" json:"gogc"`
- EnforceMPP bool `toml:"enforce-mpp" json:"enforce-mpp"`
- StatsLoadConcurrency uint `toml:"stats-load-concurrency" json:"stats-load-concurrency"`
- StatsLoadQueueSize uint `toml:"stats-load-queue-size" json:"stats-load-queue-size"`
- AnalyzePartitionConcurrencyQuota uint `toml:"analyze-partition-concurrency-quota" json:"analyze-partition-concurrency-quota"`
- EnableStatsCacheMemQuota bool `toml:"enable-stats-cache-mem-quota" json:"enable-stats-cache-mem-quota"`
+ IndexUsageSyncLease string `toml:"index-usage-sync-lease" json:"index-usage-sync-lease"`
+ PlanReplayerGCLease string `toml:"plan-replayer-gc-lease" json:"plan-replayer-gc-lease"`
+ GOGC int `toml:"gogc" json:"gogc"`
+ EnforceMPP bool `toml:"enforce-mpp" json:"enforce-mpp"`
+ StatsLoadConcurrency uint `toml:"stats-load-concurrency" json:"stats-load-concurrency"`
+ StatsLoadQueueSize uint `toml:"stats-load-queue-size" json:"stats-load-queue-size"`
+ AnalyzePartitionConcurrencyQuota uint `toml:"analyze-partition-concurrency-quota" json:"analyze-partition-concurrency-quota"`
+ PlanReplayerDumpWorkerConcurrency uint `toml:"plan-replayer-dump-worker-concurrency" json:"plan-replayer-dump-worker-concurrency"`
+ EnableStatsCacheMemQuota bool `toml:"enable-stats-cache-mem-quota" json:"enable-stats-cache-mem-quota"`
// The following items are deprecated. We need to keep them here temporarily
// to support the upgrade process. They can be removed in future.
@@ -920,16 +928,17 @@ var defaultConf = Config{
CommitterConcurrency: defTiKVCfg.CommitterConcurrency,
MaxTxnTTL: defTiKVCfg.MaxTxnTTL, // 1hour
// TODO: set indexUsageSyncLease to 60s.
- IndexUsageSyncLease: "0s",
- GOGC: 100,
- EnforceMPP: false,
- PlanReplayerGCLease: "10m",
- StatsLoadConcurrency: 5,
- StatsLoadQueueSize: 1000,
- AnalyzePartitionConcurrencyQuota: 16,
- EnableStatsCacheMemQuota: false,
- RunAutoAnalyze: true,
- EnableLoadFMSketch: false,
+ IndexUsageSyncLease: "0s",
+ GOGC: 100,
+ EnforceMPP: false,
+ PlanReplayerGCLease: "10m",
+ StatsLoadConcurrency: 5,
+ StatsLoadQueueSize: 1000,
+ AnalyzePartitionConcurrencyQuota: 16,
+ PlanReplayerDumpWorkerConcurrency: 1,
+ EnableStatsCacheMemQuota: false,
+ RunAutoAnalyze: true,
+ EnableLoadFMSketch: false,
},
ProxyProtocol: ProxyProtocol{
Networks: "",
@@ -974,6 +983,7 @@ var defaultConf = Config{
RSAKeySize: 4096,
AuthTokenJWKS: "",
AuthTokenRefreshInterval: DefAuthTokenRefreshInterval.String(),
+ DisconnectOnExpiredPassword: true,
},
DeprecateIntegerDisplayWidth: false,
EnableEnumLengthLimit: true,
@@ -982,6 +992,7 @@ var defaultConf = Config{
NewCollationsEnabledOnFirstBootstrap: true,
EnableGlobalKill: true,
TrxSummary: DefaultTrxSummary(),
+ DisaggregatedTiFlash: false,
TiDBMaxReuseChunk: 64,
TiDBMaxReuseColumn: 256,
}
diff --git a/ddl/BUILD.bazel b/ddl/BUILD.bazel
index b54f52a6d192c..a382cbea6bc79 100644
--- a/ddl/BUILD.bazel
+++ b/ddl/BUILD.bazel
@@ -27,6 +27,7 @@ go_library(
"foreign_key.go",
"generated_column.go",
"index.go",
+ "index_cop.go",
"index_merge_tmp.go",
"job_table.go",
"mock.go",
@@ -35,6 +36,7 @@ go_library(
"partition.go",
"placement_policy.go",
"reorg.go",
+ "resource_group.go",
"rollingback.go",
"sanity_check.go",
"schema.go",
@@ -44,6 +46,7 @@ go_library(
"stat.go",
"table.go",
"table_lock.go",
+ "ttl.go",
],
importpath = "github.com/pingcap/tidb/ddl",
visibility = [
@@ -55,6 +58,7 @@ go_library(
"//ddl/ingest",
"//ddl/label",
"//ddl/placement",
+ "//ddl/resourcegroup",
"//ddl/syncer",
"//ddl/util",
"//distsql",
@@ -69,6 +73,7 @@ go_library(
"//parser",
"//parser/ast",
"//parser/charset",
+ "//parser/duration",
"//parser/format",
"//parser/model",
"//parser/mysql",
@@ -99,6 +104,7 @@ go_library(
"//util/domainutil",
"//util/filter",
"//util/gcutil",
+ "//util/generic",
"//util/hack",
"//util/logutil",
"//util/mathutil",
@@ -117,6 +123,7 @@ go_library(
"@com_github_ngaut_pools//:pools",
"@com_github_pingcap_errors//:errors",
"@com_github_pingcap_failpoint//:failpoint",
+ "@com_github_pingcap_kvproto//pkg/errorpb",
"@com_github_pingcap_kvproto//pkg/kvrpcpb",
"@com_github_pingcap_kvproto//pkg/metapb",
"@com_github_pingcap_log//:log",
@@ -161,13 +168,13 @@ go_test(
"ddl_api_test.go",
"ddl_error_test.go",
"ddl_test.go",
- "ddl_tiflash_test.go",
"ddl_worker_test.go",
"ddl_workerpool_test.go",
"export_test.go",
"fail_test.go",
"foreign_key_test.go",
"index_change_test.go",
+ "index_cop_test.go",
"index_merge_tmp_test.go",
"index_modify_test.go",
"integration_test.go",
@@ -175,6 +182,7 @@ go_test(
"main_test.go",
"modify_column_test.go",
"multi_schema_change_test.go",
+ "mv_index_test.go",
"options_test.go",
"partition_test.go",
"placement_policy_ddl_test.go",
@@ -182,6 +190,7 @@ go_test(
"placement_sql_test.go",
"primary_key_handle_test.go",
"repair_table_test.go",
+ "resource_group_test.go",
"restart_test.go",
"rollingback_test.go",
"schema_test.go",
@@ -192,14 +201,17 @@ go_test(
"table_split_test.go",
"table_test.go",
"tiflash_replica_test.go",
+ "ttl_test.go",
],
embed = [":ddl"],
flaky = True,
shard_count = 50,
deps = [
+ "//autoid_service",
"//config",
"//ddl/ingest",
"//ddl/placement",
+ "//ddl/resourcegroup",
"//ddl/schematracker",
"//ddl/testutil",
"//ddl/util",
@@ -215,6 +227,7 @@ go_test(
"//parser/ast",
"//parser/auth",
"//parser/charset",
+ "//parser/duration",
"//parser/model",
"//parser/mysql",
"//parser/terror",
@@ -229,7 +242,6 @@ go_test(
"//store/gcworker",
"//store/helper",
"//store/mockstore",
- "//store/mockstore/unistore",
"//table",
"//table/tables",
"//tablecodec",
@@ -251,7 +263,6 @@ go_test(
"@com_github_ngaut_pools//:pools",
"@com_github_pingcap_errors//:errors",
"@com_github_pingcap_failpoint//:failpoint",
- "@com_github_pingcap_kvproto//pkg/metapb",
"@com_github_stretchr_testify//assert",
"@com_github_stretchr_testify//require",
"@com_github_tikv_client_go_v2//oracle",
diff --git a/ddl/backfilling.go b/ddl/backfilling.go
index dfd213652ab2e..a7c23a545208e 100644
--- a/ddl/backfilling.go
+++ b/ddl/backfilling.go
@@ -15,7 +15,6 @@
package ddl
import (
- "bytes"
"context"
"encoding/hex"
"fmt"
@@ -32,6 +31,7 @@ import (
"github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/metrics"
"github.com/pingcap/tidb/parser/model"
+ "github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/parser/terror"
"github.com/pingcap/tidb/sessionctx"
"github.com/pingcap/tidb/sessionctx/variable"
@@ -39,6 +39,7 @@ import (
"github.com/pingcap/tidb/store/driver/backoff"
"github.com/pingcap/tidb/table"
"github.com/pingcap/tidb/tablecodec"
+ "github.com/pingcap/tidb/types"
"github.com/pingcap/tidb/util"
"github.com/pingcap/tidb/util/dbterror"
"github.com/pingcap/tidb/util/logutil"
@@ -46,19 +47,96 @@ import (
decoder "github.com/pingcap/tidb/util/rowDecoder"
"github.com/pingcap/tidb/util/timeutil"
"github.com/pingcap/tidb/util/topsql"
+ "github.com/tikv/client-go/v2/oracle"
"github.com/tikv/client-go/v2/tikv"
"go.uber.org/zap"
)
-type backfillWorkerType byte
+type backfillerType byte
const (
- typeAddIndexWorker backfillWorkerType = 0
- typeUpdateColumnWorker backfillWorkerType = 1
- typeCleanUpIndexWorker backfillWorkerType = 2
- typeAddIndexMergeTmpWorker backfillWorkerType = 3
+ typeAddIndexWorker backfillerType = 0
+ typeUpdateColumnWorker backfillerType = 1
+ typeCleanUpIndexWorker backfillerType = 2
+ typeAddIndexMergeTmpWorker backfillerType = 3
+
+ // InstanceLease is the instance lease.
+ InstanceLease = 1 * time.Minute
+ updateInstanceLease = 25 * time.Second
+ genTaskBatch = 4096
+ minGenTaskBatch = 1024
+ minDistTaskCnt = 16
+ retrySQLTimes = 3
+ retrySQLInterval = 500 * time.Millisecond
)
+func (bT backfillerType) String() string {
+ switch bT {
+ case typeAddIndexWorker:
+ return "add index"
+ case typeUpdateColumnWorker:
+ return "update column"
+ case typeCleanUpIndexWorker:
+ return "clean up index"
+ case typeAddIndexMergeTmpWorker:
+ return "merge temporary index"
+ default:
+ return "unknown"
+ }
+}
+
+// BackfillJob is for a tidb_ddl_backfill table's record.
+type BackfillJob struct {
+ ID int64
+ JobID int64
+ EleID int64
+ EleKey []byte
+ Tp backfillerType
+ State model.JobState
+ StoreID int64
+ InstanceID string
+ InstanceLease types.Time
+ // range info
+ CurrKey []byte
+ StartKey []byte
+ EndKey []byte
+
+ StartTS uint64
+ FinishTS uint64
+ RowCount int64
+ Meta *model.BackfillMeta
+}
+
+// AbbrStr returns the BackfillJob's info without the Meta info.
+func (bj *BackfillJob) AbbrStr() string {
+ return fmt.Sprintf("ID:%d, JobID:%d, EleID:%d, Type:%s, State:%s, InstanceID:%s, InstanceLease:%s",
+ bj.ID, bj.JobID, bj.EleID, bj.Tp, bj.State, bj.InstanceID, bj.InstanceLease)
+}
+
+// GetOracleTimeWithStartTS returns the current time with txn's startTS.
+func GetOracleTimeWithStartTS(se *session) (time.Time, error) {
+ txn, err := se.Txn(true)
+ if err != nil {
+ return time.Time{}, err
+ }
+ return oracle.GetTimeFromTS(txn.StartTS()).UTC(), nil
+}
+
+// GetOracleTime returns the current time from TS.
+func GetOracleTime(store kv.Storage) (time.Time, error) {
+ currentVer, err := store.CurrentVersion(kv.GlobalTxnScope)
+ if err != nil {
+ return time.Time{}, errors.Trace(err)
+ }
+ return oracle.GetTimeFromTS(currentVer.Ver).UTC(), nil
+}
+
+// GetLeaseGoTime returns a types.Time by adding a lease.
+func GetLeaseGoTime(currTime time.Time, lease time.Duration) types.Time {
+ leaseTime := currTime.Add(lease)
+ return types.NewTime(types.FromGoTime(leaseTime.In(time.UTC)), mysql.TypeTimestamp, types.MaxFsp)
+}
+
// By now the DDL jobs that need backfilling include:
// 1: add-index
// 2: modify-column-type
@@ -111,24 +189,35 @@ const (
// Instead, it is divided into batches, each time a kv transaction completes the backfilling
// of a partial batch.
-func (bWT backfillWorkerType) String() string {
- switch bWT {
- case typeAddIndexWorker:
- return "add index"
- case typeUpdateColumnWorker:
- return "update column"
- case typeCleanUpIndexWorker:
- return "clean up index"
- case typeAddIndexMergeTmpWorker:
- return "merge temporary index"
- default:
- return "unknown"
+type backfillCtx struct {
+ *ddlCtx
+ reorgTp model.ReorgType
+ sessCtx sessionctx.Context
+ schemaName string
+ table table.Table
+ batchCnt int
+}
+
+func newBackfillCtx(ctx *ddlCtx, sessCtx sessionctx.Context, reorgTp model.ReorgType,
+ schemaName string, tbl table.Table) *backfillCtx {
+ return &backfillCtx{
+ ddlCtx: ctx,
+ sessCtx: sessCtx,
+ reorgTp: reorgTp,
+ schemaName: schemaName,
+ table: tbl,
+ batchCnt: int(variable.GetDDLReorgBatchSize()),
}
}
type backfiller interface {
BackfillDataInTxn(handleRange reorgBackfillTask) (taskCtx backfillTaskContext, errInTxn error)
AddMetricInfo(float64)
+ GetTask() (*BackfillJob, error)
+ UpdateTask(bfJob *BackfillJob) error
+ FinishTask(bfJob *BackfillJob) error
+ GetCtx() *backfillCtx
+ String() string
}
type backfillResult struct {
@@ -151,18 +240,40 @@ type backfillTaskContext struct {
}
type reorgBackfillTask struct {
+ bfJob *BackfillJob
+ physicalTable table.PhysicalTable
+
+ // TODO: Remove the following fields after remove the function of run.
id int
physicalTableID int64
startKey kv.Key
endKey kv.Key
endInclude bool
+ jobID int64
+ sqlQuery string
+ priority int
+}
+
+func (r *reorgBackfillTask) getJobID() int64 {
+ jobID := r.jobID
+ if r.bfJob != nil {
+ jobID = r.bfJob.JobID
+ }
+ return jobID
+}
+
+func (r *reorgBackfillTask) excludedEndKey() kv.Key {
+ if r.endInclude {
+ return r.endKey.Next()
+ }
+ return r.endKey
}
func (r *reorgBackfillTask) String() string {
physicalID := strconv.FormatInt(r.physicalTableID, 10)
- startKey := tryDecodeToHandleString(r.startKey)
- endKey := tryDecodeToHandleString(r.endKey)
- rangeStr := "physicalTableID_" + physicalID + "_" + "[" + startKey + "," + endKey
+ startKey := hex.EncodeToString(r.startKey)
+ endKey := hex.EncodeToString(r.endKey)
+ rangeStr := "taskID_" + strconv.Itoa(r.id) + "_physicalTableID_" + physicalID + "_" + "[" + startKey + "," + endKey
if r.endInclude {
return rangeStr + "]"
}
@@ -177,35 +288,49 @@ func mergeBackfillCtxToResult(taskCtx *backfillTaskContext, result *backfillResu
}
type backfillWorker struct {
- id int
- reorgInfo *reorgInfo
- batchCnt int
- sessCtx sessionctx.Context
- taskCh chan *reorgBackfillTask
- resultCh chan *backfillResult
- table table.Table
- priority int
- tp backfillWorkerType
- ctx context.Context
- cancel func()
-}
-
-func newBackfillWorker(ctx context.Context, sessCtx sessionctx.Context, id int, t table.PhysicalTable,
- reorgInfo *reorgInfo, tp backfillWorkerType) *backfillWorker {
+ id int
+ backfiller
+ taskCh chan *reorgBackfillTask
+ resultCh chan *backfillResult
+ ctx context.Context
+ cancel func()
+}
+
+func newBackfillWorker(ctx context.Context, id int, bf backfiller) *backfillWorker {
bfCtx, cancel := context.WithCancel(ctx)
return &backfillWorker{
- id: id,
- table: t,
- reorgInfo: reorgInfo,
- batchCnt: int(variable.GetDDLReorgBatchSize()),
- sessCtx: sessCtx,
- priority: reorgInfo.Job.Priority,
- tp: tp,
- ctx: bfCtx,
- cancel: cancel,
+ backfiller: bf,
+ id: id,
+ taskCh: make(chan *reorgBackfillTask, 1),
+ resultCh: make(chan *backfillResult, 1),
+ ctx: bfCtx,
+ cancel: cancel,
}
}
+func (w *backfillWorker) updateLease(execID string, bfJob *BackfillJob, nextKey kv.Key) error {
+ leaseTime, err := GetOracleTime(w.GetCtx().store)
+ if err != nil {
+ return err
+ }
+ bfJob.CurrKey = nextKey
+ bfJob.InstanceID = execID
+ bfJob.InstanceLease = GetLeaseGoTime(leaseTime, InstanceLease)
+ return w.backfiller.UpdateTask(bfJob)
+}
+
+func (w *backfillWorker) finishJob(bfJob *BackfillJob) error {
+ bfJob.State = model.JobStateDone
+ return w.backfiller.FinishTask(bfJob)
+}
+
+func (w *backfillWorker) String() string {
+ if w.backfiller == nil {
+ return fmt.Sprintf("worker %d", w.id)
+ }
+ return fmt.Sprintf("worker %d, tp %s", w.id, w.backfiller.String())
+}
+
func (w *backfillWorker) Close() {
if w.cancel != nil {
w.cancel()
@@ -231,17 +356,19 @@ func (w *backfillWorker) handleBackfillTask(d *ddlCtx, task *reorgBackfillTask,
addedCount: 0,
nextKey: handleRange.startKey,
}
+ batchStartTime := time.Now()
lastLogCount := 0
lastLogTime := time.Now()
startTime := lastLogTime
- rc := d.getReorgCtx(w.reorgInfo.Job)
+ jobID := task.getJobID()
+ rc := d.getReorgCtx(jobID)
for {
// Give job chance to be canceled, if we not check it here,
// if there is panic in bf.BackfillDataInTxn we will never cancel the job.
// Because reorgRecordTask may run a long time,
// we should check whether this ddl job is still runnable.
- err := d.isReorgRunnable(w.reorgInfo.Job)
+ err := d.isReorgRunnable(jobID)
if err != nil {
result.err = err
return result
@@ -267,13 +394,11 @@ func (w *backfillWorker) handleBackfillTask(d *ddlCtx, task *reorgBackfillTask,
rc.increaseRowCount(int64(taskCtx.addedCount))
rc.mergeWarnings(taskCtx.warnings, taskCtx.warningsCount)
- if num := result.scanCount - lastLogCount; num >= 30000 {
+ if num := result.scanCount - lastLogCount; num >= 90000 {
lastLogCount = result.scanCount
logutil.BgLogger().Info("[ddl] backfill worker back fill index",
- zap.Int("workerID", w.id),
- zap.Int("addedCount", result.addedCount),
- zap.Int("scanCount", result.scanCount),
- zap.String("nextHandle", tryDecodeToHandleString(taskCtx.nextKey)),
+ zap.Int("addedCount", result.addedCount), zap.Int("scanCount", result.scanCount),
+ zap.String("next key", hex.EncodeToString(taskCtx.nextKey)),
zap.Float64("speed(rows/s)", float64(num)/time.Since(lastLogTime).Seconds()))
lastLogTime = time.Now()
}
@@ -282,15 +407,28 @@ func (w *backfillWorker) handleBackfillTask(d *ddlCtx, task *reorgBackfillTask,
if taskCtx.done {
break
}
+
+ if task.bfJob != nil {
+ // TODO: Adjust the updating lease frequency by batch processing time carefully.
+ if time.Since(batchStartTime) < updateInstanceLease {
+ continue
+ }
+ batchStartTime = time.Now()
+ if err := w.updateLease(w.GetCtx().uuid, task.bfJob, result.nextKey); err != nil {
+ logutil.BgLogger().Info("[ddl] backfill worker handle task, update lease failed", zap.Stringer("worker", w),
+ zap.Stringer("task", task), zap.String("backfill job", task.bfJob.AbbrStr()), zap.Error(err))
+ result.err = err
+ return result
+ }
+ }
}
logutil.BgLogger().Info("[ddl] backfill worker finish task",
- zap.Stringer("type", w.tp),
- zap.Int("workerID", w.id),
- zap.String("task", task.String()),
- zap.Int("addedCount", result.addedCount),
- zap.Int("scanCount", result.scanCount),
- zap.String("nextHandle", tryDecodeToHandleString(result.nextKey)),
- zap.String("takeTime", time.Since(startTime).String()))
+ zap.Stringer("worker", w),
+ zap.Stringer("task", task),
+ zap.Int("added count", result.addedCount),
+ zap.Int("scan count", result.scanCount),
+ zap.String("next key", hex.EncodeToString(result.nextKey)),
+ zap.String("take time", time.Since(startTime).String()))
if ResultCounterForTest != nil && result.err == nil {
ResultCounterForTest.Add(1)
}
@@ -298,9 +436,7 @@ func (w *backfillWorker) handleBackfillTask(d *ddlCtx, task *reorgBackfillTask,
}
func (w *backfillWorker) run(d *ddlCtx, bf backfiller, job *model.Job) {
- logutil.BgLogger().Info("[ddl] backfill worker start",
- zap.Stringer("type", w.tp),
- zap.Int("workerID", w.id))
+ logutil.BgLogger().Info("[ddl] backfill worker start", zap.Stringer("worker", w))
var curTaskID int
defer util.Recover(metrics.LabelDDL, "backfillWorker.run", func() {
w.resultCh <- &backfillResult{taskID: curTaskID, err: dbterror.ErrReorgPanic}
@@ -308,17 +444,17 @@ func (w *backfillWorker) run(d *ddlCtx, bf backfiller, job *model.Job) {
for {
if util.HasCancelled(w.ctx) {
logutil.BgLogger().Info("[ddl] backfill worker exit on context done",
- zap.Stringer("type", w.tp), zap.Int("workerID", w.id))
+ zap.Stringer("worker", w), zap.Int("workerID", w.id))
return
}
task, more := <-w.taskCh
if !more {
logutil.BgLogger().Info("[ddl] backfill worker exit",
- zap.Stringer("type", w.tp), zap.Int("workerID", w.id))
+ zap.Stringer("worker", w), zap.Int("workerID", w.id))
return
}
curTaskID = task.id
- d.setDDLLabelForTopSQL(job)
+ d.setDDLLabelForTopSQL(job.ID, job.Query)
logutil.BgLogger().Debug("[ddl] backfill worker got task", zap.Int("workerID", w.id), zap.String("task", task.String()))
failpoint.Inject("mockBackfillRunErr", func() {
@@ -339,9 +475,14 @@ func (w *backfillWorker) run(d *ddlCtx, bf backfiller, job *model.Job) {
})
// Change the batch size dynamically.
- w.batchCnt = int(variable.GetDDLReorgBatchSize())
+ w.GetCtx().batchCnt = int(variable.GetDDLReorgBatchSize())
result := w.handleBackfillTask(d, task, bf)
w.resultCh <- result
+ if result.err != nil {
+ logutil.BgLogger().Info("[ddl] backfill worker exit on error",
+ zap.Stringer("worker", w), zap.Int("workerID", w.id), zap.Error(result.err))
+ return
+ }
}
}
@@ -351,8 +492,8 @@ func (w *backfillWorker) run(d *ddlCtx, bf backfiller, job *model.Job) {
func splitTableRanges(t table.PhysicalTable, store kv.Storage, startKey, endKey kv.Key) ([]kv.KeyRange, error) {
logutil.BgLogger().Info("[ddl] split table range from PD",
zap.Int64("physicalTableID", t.GetPhysicalID()),
- zap.String("startHandle", tryDecodeToHandleString(startKey)),
- zap.String("endHandle", tryDecodeToHandleString(endKey)))
+ zap.String("start key", hex.EncodeToString(startKey)),
+ zap.String("end key", hex.EncodeToString(endKey)))
kvRange := kv.KeyRange{StartKey: startKey, EndKey: endKey}
s, ok := store.(tikv.Storage)
if !ok {
@@ -428,6 +569,9 @@ func (dc *ddlCtx) sendTasksAndWait(scheduler *backfillScheduler, totalAddedCount
batchTasks []*reorgBackfillTask) error {
reorgInfo := scheduler.reorgInfo
for _, task := range batchTasks {
+ if scheduler.copReqSenderPool != nil {
+ scheduler.copReqSenderPool.sendTask(task)
+ }
scheduler.taskCh <- task
}
@@ -436,7 +580,7 @@ func (dc *ddlCtx) sendTasksAndWait(scheduler *backfillScheduler, totalAddedCount
nextKey, taskAddedCount, err := waitTaskResults(scheduler, batchTasks, totalAddedCount)
elapsedTime := time.Since(startTime)
if err == nil {
- err = dc.isReorgRunnable(reorgInfo.Job)
+ err = dc.isReorgRunnable(reorgInfo.Job.ID)
}
if err != nil {
@@ -444,69 +588,40 @@ func (dc *ddlCtx) sendTasksAndWait(scheduler *backfillScheduler, totalAddedCount
err1 := reorgInfo.UpdateReorgMeta(nextKey, scheduler.sessPool)
metrics.BatchAddIdxHistogram.WithLabelValues(metrics.LblError).Observe(elapsedTime.Seconds())
logutil.BgLogger().Warn("[ddl] backfill worker handle batch tasks failed",
- zap.ByteString("elementType", reorgInfo.currElement.TypeKey),
- zap.Int64("elementID", reorgInfo.currElement.ID),
- zap.Int64("totalAddedCount", *totalAddedCount),
- zap.String("startHandle", tryDecodeToHandleString(startKey)),
- zap.String("nextHandle", tryDecodeToHandleString(nextKey)),
- zap.Int64("batchAddedCount", taskAddedCount),
- zap.String("taskFailedError", err.Error()),
- zap.String("takeTime", elapsedTime.String()),
+
+ zap.Int64("total added count", *totalAddedCount),
+ zap.String("start key", hex.EncodeToString(startKey)),
+ zap.String("next key", hex.EncodeToString(nextKey)),
+ zap.Int64("batch added count", taskAddedCount),
+ zap.String("task failed error", err.Error()),
+ zap.String("take time", elapsedTime.String()),
zap.NamedError("updateHandleError", err1))
+ failpoint.Inject("MockGetIndexRecordErr", func() {
+ // Make sure this job didn't failed because by the "Write conflict" error.
+ if dbterror.ErrNotOwner.Equal(err) {
+ time.Sleep(50 * time.Millisecond)
+ }
+ })
return errors.Trace(err)
}
// nextHandle will be updated periodically in runReorgJob, so no need to update it here.
- dc.getReorgCtx(reorgInfo.Job).setNextKey(nextKey)
+ dc.getReorgCtx(reorgInfo.Job.ID).setNextKey(nextKey)
metrics.BatchAddIdxHistogram.WithLabelValues(metrics.LblOK).Observe(elapsedTime.Seconds())
logutil.BgLogger().Info("[ddl] backfill workers successfully processed batch",
- zap.ByteString("elementType", reorgInfo.currElement.TypeKey),
- zap.Int64("elementID", reorgInfo.currElement.ID),
- zap.Int64("totalAddedCount", *totalAddedCount),
- zap.String("startHandle", tryDecodeToHandleString(startKey)),
- zap.String("nextHandle", tryDecodeToHandleString(nextKey)),
- zap.Int64("batchAddedCount", taskAddedCount),
- zap.String("takeTime", elapsedTime.String()))
+ zap.Stringer("element", reorgInfo.currElement),
+ zap.Int64("total added count", *totalAddedCount),
+ zap.String("start key", hex.EncodeToString(startKey)),
+ zap.String("next key", hex.EncodeToString(nextKey)),
+ zap.Int64("batch added count", taskAddedCount),
+ zap.String("take time", elapsedTime.String()))
return nil
}
-func tryDecodeToHandleString(key kv.Key) string {
- defer func() {
- if r := recover(); r != nil {
- logutil.BgLogger().Warn("tryDecodeToHandleString panic",
- zap.Any("recover()", r),
- zap.Binary("key", key))
- }
- }()
- handle, err := tablecodec.DecodeRowKey(key)
- if err != nil {
- recordPrefixIdx := bytes.Index(key, []byte("_r"))
- if recordPrefixIdx == -1 {
- return fmt.Sprintf("key: %x", key)
- }
- handleBytes := key[recordPrefixIdx+2:]
- terminatedWithZero := len(handleBytes) > 0 && handleBytes[len(handleBytes)-1] == 0
- if terminatedWithZero {
- handle, err := tablecodec.DecodeRowKey(key[:len(key)-1])
- if err == nil {
- return handle.String() + ".next"
- }
- }
- return fmt.Sprintf("%x", handleBytes)
- }
- return handle.String()
-}
-
-// handleRangeTasks sends tasks to workers, and returns remaining kvRanges that is not handled.
-func (dc *ddlCtx) handleRangeTasks(scheduler *backfillScheduler, t table.Table,
- totalAddedCount *int64, kvRanges []kv.KeyRange) ([]kv.KeyRange, error) {
- batchTasks := make([]*reorgBackfillTask, 0, backfillTaskChanSize)
- reorgInfo := scheduler.reorgInfo
+func getBatchTasks(t table.Table, reorgInfo *reorgInfo, kvRanges []kv.KeyRange, batch int) []*reorgBackfillTask {
+ batchTasks := make([]*reorgBackfillTask, 0, batch)
physicalTableID := reorgInfo.PhysicalTableID
var prefix kv.Key
- if tbl, ok := t.(table.PartitionedTable); ok {
- t = tbl.GetPartition(physicalTableID)
- }
if reorgInfo.mergingTmpIdx {
prefix = t.IndexPrefix()
} else {
@@ -514,31 +629,50 @@ func (dc *ddlCtx) handleRangeTasks(scheduler *backfillScheduler, t table.Table,
}
// Build reorg tasks.
job := reorgInfo.Job
+ jobCtx := reorgInfo.d.jobContext(reorgInfo.Job.ID)
for i, keyRange := range kvRanges {
+ startKey := keyRange.StartKey
endKey := keyRange.EndKey
- endK, err := getRangeEndKey(scheduler.jobCtx, dc.store, job.Priority, prefix, keyRange.StartKey, endKey)
+ endK, err := getRangeEndKey(jobCtx, reorgInfo.d.store, job.Priority, prefix, keyRange.StartKey, endKey)
if err != nil {
- logutil.BgLogger().Info("[ddl] send range task to workers, get reverse key failed", zap.Error(err))
+ logutil.BgLogger().Info("[ddl] get backfill range task, get reverse key failed", zap.Error(err))
} else {
- logutil.BgLogger().Info("[ddl] send range task to workers, change end key",
+ logutil.BgLogger().Info("[ddl] get backfill range task, change end key",
zap.String("end key", hex.EncodeToString(endKey)), zap.String("current end key", hex.EncodeToString(endK)))
endKey = endK
}
+ if len(startKey) == 0 {
+ startKey = prefix
+ }
+ if len(endKey) == 0 {
+ endKey = prefix.PrefixNext()
+ }
+ //nolint:forcetypeassert
+ phyTbl := t.(table.PhysicalTable)
task := &reorgBackfillTask{
id: i,
+ jobID: reorgInfo.Job.ID,
physicalTableID: physicalTableID,
- startKey: keyRange.StartKey,
+ physicalTable: phyTbl,
+ priority: reorgInfo.Priority,
+ startKey: startKey,
endKey: endKey,
// If the boundaries overlap, we should ignore the preceding endKey.
endInclude: endK.Cmp(keyRange.EndKey) != 0 || i == len(kvRanges)-1}
batchTasks = append(batchTasks, task)
- if len(batchTasks) >= backfillTaskChanSize {
+ if len(batchTasks) >= batch {
break
}
}
+ return batchTasks
+}
+// handleRangeTasks sends tasks to workers, and returns remaining kvRanges that is not handled.
+func (dc *ddlCtx) handleRangeTasks(scheduler *backfillScheduler, t table.Table,
+ totalAddedCount *int64, kvRanges []kv.KeyRange) ([]kv.KeyRange, error) {
+ batchTasks := getBatchTasks(t, scheduler.reorgInfo, kvRanges, backfillTaskChanSize)
if len(batchTasks) == 0 {
return nil, nil
}
@@ -577,8 +711,7 @@ func loadDDLReorgVars(ctx context.Context, sessPool *sessionPool) error {
return ddlutil.LoadDDLReorgVars(ctx, sCtx)
}
-func makeupDecodeColMap(sessCtx sessionctx.Context, t table.Table) (map[int64]decoder.Column, error) {
- dbName := model.NewCIStr(sessCtx.GetSessionVars().CurrentDB)
+func makeupDecodeColMap(sessCtx sessionctx.Context, dbName model.CIStr, t table.Table) (map[int64]decoder.Column, error) {
writableColInfos := make([]*model.ColumnInfo, 0, len(t.WritableCols()))
for _, col := range t.WritableCols() {
writableColInfos = append(writableColInfos, col.ColumnInfo)
@@ -611,7 +744,7 @@ type backfillScheduler struct {
ctx context.Context
reorgInfo *reorgInfo
sessPool *sessionPool
- tp backfillWorkerType
+ tp backfillerType
tbl table.PhysicalTable
decodeColMap map[int64]decoder.Column
jobCtx *JobContext
@@ -621,12 +754,14 @@ type backfillScheduler struct {
taskCh chan *reorgBackfillTask
resultCh chan *backfillResult
+
+ copReqSenderPool *copReqSenderPool // for add index in ingest way.
}
const backfillTaskChanSize = 1024
func newBackfillScheduler(ctx context.Context, info *reorgInfo, sessPool *sessionPool,
- tp backfillWorkerType, tbl table.PhysicalTable, decColMap map[int64]decoder.Column,
+ tp backfillerType, tbl table.PhysicalTable, decColMap map[int64]decoder.Column,
jobCtx *JobContext) *backfillScheduler {
return &backfillScheduler{
ctx: ctx,
@@ -674,6 +809,7 @@ func (b *backfillScheduler) workerSize() int {
}
func (b *backfillScheduler) adjustWorkerSize() error {
+ b.initCopReqSenderPool()
reorgInfo := b.reorgInfo
job := reorgInfo.Job
jc := b.jobCtx
@@ -681,7 +817,11 @@ func (b *backfillScheduler) adjustWorkerSize() error {
logutil.BgLogger().Error("[ddl] load DDL reorganization variable failed", zap.Error(err))
}
workerCnt := int(variable.GetDDLReorgWorkerCounter())
- workerCnt = mathutil.Min(workerCnt, b.maxSize)
+ if b.copReqSenderPool != nil {
+ workerCnt = mathutil.Min(workerCnt/2+1, b.maxSize)
+ } else {
+ workerCnt = mathutil.Min(workerCnt, b.maxSize)
+ }
// Increase the worker.
for i := len(b.workers); i < workerCnt; i++ {
sessCtx, err := b.newSessCtx()
@@ -694,22 +834,33 @@ func (b *backfillScheduler) adjustWorkerSize() error {
)
switch b.tp {
case typeAddIndexWorker:
- idxWorker, err := newAddIndexWorker(sessCtx, i, b.tbl, b.decodeColMap, reorgInfo, jc, job)
+ backfillCtx := newBackfillCtx(reorgInfo.d, sessCtx, reorgInfo.ReorgMeta.ReorgTp, job.SchemaName, b.tbl)
+ idxWorker, err := newAddIndexWorker(b.decodeColMap, i, b.tbl, backfillCtx,
+ jc, job.ID, reorgInfo.currElement.ID, reorgInfo.currElement.TypeKey)
if err != nil {
- return errors.Trace(err)
+ if b.canSkipError(err) {
+ continue
+ }
+ return err
}
- worker, runner = idxWorker, idxWorker.backfillWorker
+ idxWorker.copReqSenderPool = b.copReqSenderPool
+ runner = newBackfillWorker(jc.ddlJobCtx, i, idxWorker)
+ worker = idxWorker
case typeAddIndexMergeTmpWorker:
- tmpIdxWorker := newMergeTempIndexWorker(sessCtx, i, b.tbl, reorgInfo, jc)
- worker, runner = tmpIdxWorker, tmpIdxWorker.backfillWorker
+ backfillCtx := newBackfillCtx(reorgInfo.d, sessCtx, reorgInfo.ReorgMeta.ReorgTp, job.SchemaName, b.tbl)
+ tmpIdxWorker := newMergeTempIndexWorker(backfillCtx, i, b.tbl, reorgInfo.currElement.ID, jc)
+ runner = newBackfillWorker(jc.ddlJobCtx, i, tmpIdxWorker)
+ worker = tmpIdxWorker
case typeUpdateColumnWorker:
// Setting InCreateOrAlterStmt tells the difference between SELECT casting and ALTER COLUMN casting.
sessCtx.GetSessionVars().StmtCtx.InCreateOrAlterStmt = true
- updateWorker := newUpdateColumnWorker(sessCtx, i, b.tbl, b.decodeColMap, reorgInfo, jc)
- worker, runner = updateWorker, updateWorker.backfillWorker
+ updateWorker := newUpdateColumnWorker(sessCtx, b.tbl, b.decodeColMap, reorgInfo, jc)
+ runner = newBackfillWorker(jc.ddlJobCtx, i, updateWorker)
+ worker = updateWorker
case typeCleanUpIndexWorker:
- idxWorker := newCleanUpIndexWorker(sessCtx, i, b.tbl, b.decodeColMap, reorgInfo, jc)
- worker, runner = idxWorker, idxWorker.backfillWorker
+ idxWorker := newCleanUpIndexWorker(sessCtx, b.tbl, b.decodeColMap, reorgInfo, jc)
+ runner = newBackfillWorker(jc.ddlJobCtx, i, idxWorker)
+ worker = idxWorker
default:
return errors.New("unknown backfill type")
}
@@ -724,10 +875,51 @@ func (b *backfillScheduler) adjustWorkerSize() error {
b.workers = b.workers[:workerCnt]
closeBackfillWorkers(workers)
}
- return injectCheckBackfillWorkerNum(len(b.workers))
+ if b.copReqSenderPool != nil {
+ b.copReqSenderPool.adjustSize(len(b.workers))
+ }
+ return injectCheckBackfillWorkerNum(len(b.workers), b.tp == typeAddIndexMergeTmpWorker)
+}
+
+func (b *backfillScheduler) initCopReqSenderPool() {
+ if b.tp != typeAddIndexWorker || b.reorgInfo.Job.ReorgMeta.ReorgTp != model.ReorgTypeLitMerge ||
+ b.copReqSenderPool != nil || len(b.workers) > 0 {
+ return
+ }
+ indexInfo := model.FindIndexInfoByID(b.tbl.Meta().Indices, b.reorgInfo.currElement.ID)
+ if indexInfo == nil {
+ logutil.BgLogger().Warn("[ddl-ingest] cannot init cop request sender",
+ zap.Int64("table ID", b.tbl.Meta().ID), zap.Int64("index ID", b.reorgInfo.currElement.ID))
+ return
+ }
+ sessCtx, err := b.newSessCtx()
+ if err != nil {
+ logutil.BgLogger().Warn("[ddl-ingest] cannot init cop request sender", zap.Error(err))
+ return
+ }
+ copCtx, err := newCopContext(b.tbl.Meta(), indexInfo, sessCtx)
+ if err != nil {
+ logutil.BgLogger().Warn("[ddl-ingest] cannot init cop request sender", zap.Error(err))
+ return
+ }
+ b.copReqSenderPool = newCopReqSenderPool(b.ctx, copCtx, sessCtx.GetStore())
+}
+
+func (b *backfillScheduler) canSkipError(err error) bool {
+ if len(b.workers) > 0 {
+ // The error can be skipped because the rest workers can handle the tasks.
+ return true
+ }
+ logutil.BgLogger().Warn("[ddl] create add index backfill worker failed",
+ zap.Int("current worker count", len(b.workers)),
+ zap.Int64("job ID", b.reorgInfo.ID), zap.Error(err))
+ return false
}
func (b *backfillScheduler) Close() {
+ if b.copReqSenderPool != nil {
+ b.copReqSenderPool.close()
+ }
closeBackfillWorkers(b.workers)
close(b.taskCh)
close(b.resultCh)
@@ -748,18 +940,18 @@ func (b *backfillScheduler) Close() {
//
// The above operations are completed in a transaction.
// Finally, update the concurrent processing of the total number of rows, and store the completed handle value.
-func (dc *ddlCtx) writePhysicalTableRecord(sessPool *sessionPool, t table.PhysicalTable, bfWorkerType backfillWorkerType, reorgInfo *reorgInfo) error {
+func (dc *ddlCtx) writePhysicalTableRecord(sessPool *sessionPool, t table.PhysicalTable, bfWorkerType backfillerType, reorgInfo *reorgInfo) error {
job := reorgInfo.Job
totalAddedCount := job.GetRowCount()
startKey, endKey := reorgInfo.StartKey, reorgInfo.EndKey
sessCtx := newContext(reorgInfo.d.store)
- decodeColMap, err := makeupDecodeColMap(sessCtx, t)
+ decodeColMap, err := makeupDecodeColMap(sessCtx, reorgInfo.dbInfo.Name, t)
if err != nil {
return errors.Trace(err)
}
- if err := dc.isReorgRunnable(reorgInfo.Job); err != nil {
+ if err := dc.isReorgRunnable(reorgInfo.Job.ID); err != nil {
return errors.Trace(err)
}
if startKey == nil && endKey == nil {
@@ -773,10 +965,19 @@ func (dc *ddlCtx) writePhysicalTableRecord(sessPool *sessionPool, t table.Physic
}
})
- jc := dc.jobContext(job)
+ jc := dc.jobContext(job.ID)
scheduler := newBackfillScheduler(dc.ctx, reorgInfo, sessPool, bfWorkerType, t, decodeColMap, jc)
defer scheduler.Close()
+ var ingestBeCtx *ingest.BackendContext
+ if bfWorkerType == typeAddIndexWorker && job.ReorgMeta.ReorgTp == model.ReorgTypeLitMerge {
+ if bc, ok := ingest.LitBackCtxMgr.Load(job.ID); ok {
+ ingestBeCtx = bc
+ } else {
+ return errors.New(ingest.LitErrGetBackendFail)
+ }
+ }
+
for {
kvRanges, err := splitTableRanges(t, reorgInfo.d.store, startKey, endKey)
if err != nil {
@@ -795,14 +996,11 @@ func (dc *ddlCtx) writePhysicalTableRecord(sessPool *sessionPool, t table.Physic
zap.Int("regionCnt", len(kvRanges)),
zap.String("startKey", hex.EncodeToString(startKey)),
zap.String("endKey", hex.EncodeToString(endKey)))
- if bfWorkerType == typeAddIndexWorker && job.ReorgMeta.ReorgTp == model.ReorgTypeLitMerge {
- if bc, ok := ingest.LitBackCtxMgr.Load(job.ID); ok {
- err := bc.Flush(reorgInfo.currElement.ID)
- if err != nil {
- return errors.Trace(err)
- }
- } else {
- return errors.New(ingest.LitErrGetBackendFail)
+
+ if ingestBeCtx != nil {
+ err := ingestBeCtx.Flush(reorgInfo.currElement.ID)
+ if err != nil {
+ return errors.Trace(err)
}
}
remains, err := dc.handleRangeTasks(scheduler, t, &totalAddedCount, kvRanges)
@@ -811,6 +1009,9 @@ func (dc *ddlCtx) writePhysicalTableRecord(sessPool *sessionPool, t table.Physic
}
if len(remains) == 0 {
+ if ingestBeCtx != nil {
+ ingestBeCtx.EngMgr.ResetWorkers(ingestBeCtx, job.ID, reorgInfo.currElement.ID)
+ }
break
}
startKey = remains[0].StartKey
@@ -818,7 +1019,10 @@ func (dc *ddlCtx) writePhysicalTableRecord(sessPool *sessionPool, t table.Physic
return nil
}
-func injectCheckBackfillWorkerNum(curWorkerSize int) error {
+func injectCheckBackfillWorkerNum(curWorkerSize int, isMergeWorker bool) error {
+ if isMergeWorker {
+ return nil
+ }
failpoint.Inject("checkBackfillWorkerNum", func(val failpoint.Value) {
//nolint:forcetypeassert
if val.(bool) {
@@ -837,6 +1041,320 @@ func injectCheckBackfillWorkerNum(curWorkerSize int) error {
return nil
}
+func addBatchBackfillJobs(sess *session, bfWorkerType backfillerType, reorgInfo *reorgInfo, notDistTask bool,
+ batchTasks []*reorgBackfillTask, bJobs []*BackfillJob, isUnique bool, id *int64) error {
+ bJobs = bJobs[:0]
+ instanceID := ""
+ if notDistTask {
+ instanceID = reorgInfo.d.uuid
+ }
+ // TODO: Adjust the number of ranges(region) for each task.
+ for _, task := range batchTasks {
+ bm := &model.BackfillMeta{
+ PhysicalTableID: reorgInfo.PhysicalTableID,
+ IsUnique: isUnique,
+ EndInclude: task.endInclude,
+ ReorgTp: reorgInfo.Job.ReorgMeta.ReorgTp,
+ SQLMode: reorgInfo.ReorgMeta.SQLMode,
+ Location: reorgInfo.ReorgMeta.Location,
+ JobMeta: &model.JobMeta{
+ SchemaID: reorgInfo.Job.SchemaID,
+ TableID: reorgInfo.Job.TableID,
+ Query: reorgInfo.Job.Query,
+ },
+ }
+ bj := &BackfillJob{
+ ID: *id,
+ JobID: reorgInfo.Job.ID,
+ EleID: reorgInfo.currElement.ID,
+ EleKey: reorgInfo.currElement.TypeKey,
+ Tp: bfWorkerType,
+ State: model.JobStateNone,
+ InstanceID: instanceID,
+ CurrKey: task.startKey,
+ StartKey: task.startKey,
+ EndKey: task.endKey,
+ Meta: bm,
+ }
+ *id++
+ bJobs = append(bJobs, bj)
+ }
+ if err := AddBackfillJobs(sess, bJobs); err != nil {
+ return errors.Trace(err)
+ }
+ return nil
+}
+
+func (*ddlCtx) splitTableToBackfillJobs(sess *session, reorgInfo *reorgInfo, pTbl table.PhysicalTable, isUnique bool,
+ bfWorkerType backfillerType, startKey kv.Key, currBackfillJobID int64) error {
+ endKey := reorgInfo.EndKey
+ isFirstOps := true
+ bJobs := make([]*BackfillJob, 0, genTaskBatch)
+ for {
+ kvRanges, err := splitTableRanges(pTbl, reorgInfo.d.store, startKey, endKey)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ batchTasks := getBatchTasks(pTbl, reorgInfo, kvRanges, genTaskBatch)
+ if len(batchTasks) == 0 {
+ break
+ }
+ notNeedDistProcess := isFirstOps && (len(kvRanges) < minDistTaskCnt)
+ if err = addBatchBackfillJobs(sess, bfWorkerType, reorgInfo, notNeedDistProcess, batchTasks, bJobs, isUnique, &currBackfillJobID); err != nil {
+ return errors.Trace(err)
+ }
+ isFirstOps = false
+
+ remains := kvRanges[len(batchTasks):]
+ // TODO: After adding backfillCh do asyncNotify(dc.backfillJobCh).
+ logutil.BgLogger().Info("[ddl] split backfill jobs to the backfill table",
+ zap.Int("batchTasksCnt", len(batchTasks)),
+ zap.Int("totalRegionCnt", len(kvRanges)),
+ zap.Int("remainRegionCnt", len(remains)),
+ zap.String("startHandle", hex.EncodeToString(startKey)),
+ zap.String("endHandle", hex.EncodeToString(endKey)))
+
+ if len(remains) == 0 {
+ break
+ }
+
+ for {
+ bJobCnt, err := checkBackfillJobCount(sess, reorgInfo.Job.ID, reorgInfo.currElement.ID, reorgInfo.currElement.TypeKey)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ if bJobCnt < minGenTaskBatch {
+ break
+ }
+ time.Sleep(retrySQLInterval)
+ }
+ startKey = remains[0].StartKey
+ }
+ return nil
+}
+
+func (dc *ddlCtx) controlWritePhysicalTableRecord(sess *session, t table.PhysicalTable, bfWorkerType backfillerType, reorgInfo *reorgInfo) error {
+ startKey, endKey := reorgInfo.StartKey, reorgInfo.EndKey
+ if startKey == nil && endKey == nil {
+ return nil
+ }
+
+ if err := dc.isReorgRunnable(reorgInfo.Job.ID); err != nil {
+ return errors.Trace(err)
+ }
+
+ currBackfillJobID := int64(1)
+ err := checkAndHandleInterruptedBackfillJobs(sess, reorgInfo.Job.ID, reorgInfo.currElement.ID, reorgInfo.currElement.TypeKey)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ maxBfJob, err := GetMaxBackfillJob(sess, reorgInfo.Job.ID, reorgInfo.currElement.ID, reorgInfo.currElement.TypeKey)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ if maxBfJob != nil {
+ startKey = maxBfJob.EndKey
+ currBackfillJobID = maxBfJob.ID + 1
+ }
+
+ var isUnique bool
+ if bfWorkerType == typeAddIndexWorker {
+ idxInfo := model.FindIndexInfoByID(t.Meta().Indices, reorgInfo.currElement.ID)
+ isUnique = idxInfo.Unique
+ }
+ err = dc.splitTableToBackfillJobs(sess, reorgInfo, t, isUnique, bfWorkerType, startKey, currBackfillJobID)
+ if err != nil {
+ return errors.Trace(err)
+ }
+
+ var backfillJobFinished bool
+ jobID := reorgInfo.Job.ID
+ ticker := time.NewTicker(300 * time.Millisecond)
+ defer ticker.Stop()
+ for {
+ if err := dc.isReorgRunnable(reorgInfo.Job.ID); err != nil {
+ return errors.Trace(err)
+ }
+
+ select {
+ case <-ticker.C:
+ if !backfillJobFinished {
+ err := checkAndHandleInterruptedBackfillJobs(sess, jobID, reorgInfo.currElement.ID, reorgInfo.currElement.TypeKey)
+ if err != nil {
+ logutil.BgLogger().Warn("[ddl] finish interrupted backfill jobs", zap.Int64("job ID", jobID), zap.Error(err))
+ return errors.Trace(err)
+ }
+
+ bfJob, err := getBackfillJobWithRetry(sess, BackfillTable, jobID, reorgInfo.currElement.ID, reorgInfo.currElement.TypeKey, false)
+ if err != nil {
+ logutil.BgLogger().Info("[ddl] getBackfillJobWithRetry failed", zap.Int64("job ID", jobID), zap.Error(err))
+ return errors.Trace(err)
+ }
+ if bfJob == nil {
+ backfillJobFinished = true
+ logutil.BgLogger().Info("[ddl] finish backfill jobs", zap.Int64("job ID", jobID))
+ }
+ }
+ if backfillJobFinished {
+ // TODO: Consider whether these backfill jobs are always out of sync.
+ isSynced, err := checkJobIsSynced(sess, jobID)
+ if err != nil {
+ logutil.BgLogger().Warn("[ddl] checkJobIsSynced failed", zap.Int64("job ID", jobID), zap.Error(err))
+ return errors.Trace(err)
+ }
+ if isSynced {
+ logutil.BgLogger().Info("[ddl] sync backfill jobs", zap.Int64("job ID", jobID))
+ return nil
+ }
+ }
+ case <-dc.ctx.Done():
+ return dc.ctx.Err()
+ }
+ }
+}
+
+func checkJobIsSynced(sess *session, jobID int64) (bool, error) {
+ var err error
+ var unsyncedInstanceIDs []string
+ for i := 0; i < retrySQLTimes; i++ {
+ unsyncedInstanceIDs, err = getUnsyncedInstanceIDs(sess, jobID, "check_backfill_history_job_sync")
+ if err == nil && len(unsyncedInstanceIDs) == 0 {
+ return true, nil
+ }
+
+ logutil.BgLogger().Info("[ddl] checkJobIsSynced failed",
+ zap.Strings("unsyncedInstanceIDs", unsyncedInstanceIDs), zap.Int("tryTimes", i), zap.Error(err))
+ time.Sleep(retrySQLInterval)
+ }
+
+ return false, errors.Trace(err)
+}
+
+func checkAndHandleInterruptedBackfillJobs(sess *session, jobID, currEleID int64, currEleKey []byte) (err error) {
+ var bJobs []*BackfillJob
+ for i := 0; i < retrySQLTimes; i++ {
+ bJobs, err = GetInterruptedBackfillJobsForOneEle(sess, jobID, currEleID, currEleKey)
+ if err == nil {
+ break
+ }
+ logutil.BgLogger().Info("[ddl] getInterruptedBackfillJobsForOneEle failed", zap.Error(err))
+ time.Sleep(retrySQLInterval)
+ }
+ if err != nil {
+ return errors.Trace(err)
+ }
+ if len(bJobs) == 0 {
+ return nil
+ }
+
+ for i := 0; i < retrySQLTimes; i++ {
+ err = MoveBackfillJobsToHistoryTable(sess, bJobs[0])
+ if err == nil {
+ return errors.Errorf(bJobs[0].Meta.ErrMsg)
+ }
+ logutil.BgLogger().Info("[ddl] MoveBackfillJobsToHistoryTable failed", zap.Error(err))
+ time.Sleep(retrySQLInterval)
+ }
+ return errors.Trace(err)
+}
+
+func checkBackfillJobCount(sess *session, jobID, currEleID int64, currEleKey []byte) (backfillJobCnt int, err error) {
+ err = checkAndHandleInterruptedBackfillJobs(sess, jobID, currEleID, currEleKey)
+ if err != nil {
+ return 0, errors.Trace(err)
+ }
+
+ backfillJobCnt, err = GetBackfillJobCount(sess, BackfillTable, fmt.Sprintf("ddl_job_id = %d and ele_id = %d and ele_key = '%s'",
+ jobID, currEleID, currEleKey), "check_backfill_job_count")
+ if err != nil {
+ return 0, errors.Trace(err)
+ }
+
+ return backfillJobCnt, nil
+}
+
+func getBackfillJobWithRetry(sess *session, tableName string, jobID, currEleID int64, currEleKey []byte, isDesc bool) (*BackfillJob, error) {
+ var err error
+ var bJobs []*BackfillJob
+ descStr := ""
+ if isDesc {
+ descStr = "order by id desc"
+ }
+ for i := 0; i < retrySQLTimes; i++ {
+ bJobs, err = GetBackfillJobs(sess, tableName, fmt.Sprintf("ddl_job_id = %d and ele_id = %d and ele_key = '%s' %s limit 1",
+ jobID, currEleID, currEleKey, descStr), "check_backfill_job_state")
+ if err != nil {
+ logutil.BgLogger().Warn("[ddl] GetBackfillJobs failed", zap.Error(err))
+ continue
+ }
+
+ if len(bJobs) != 0 {
+ return bJobs[0], nil
+ }
+ break
+ }
+ return nil, errors.Trace(err)
+}
+
+// GetMaxBackfillJob gets the max backfill job in BackfillTable and BackfillHistoryTable.
+func GetMaxBackfillJob(sess *session, jobID, currEleID int64, currEleKey []byte) (*BackfillJob, error) {
+ bfJob, err := getBackfillJobWithRetry(sess, BackfillTable, jobID, currEleID, currEleKey, true)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ hJob, err := getBackfillJobWithRetry(sess, BackfillHistoryTable, jobID, currEleID, currEleKey, true)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+
+ if bfJob == nil {
+ return hJob, nil
+ }
+ if hJob == nil {
+ return bfJob, nil
+ }
+ if bfJob.ID > hJob.ID {
+ return bfJob, nil
+ }
+ return hJob, nil
+}
+
+// MoveBackfillJobsToHistoryTable moves backfill table jobs to the backfill history table.
+func MoveBackfillJobsToHistoryTable(sessCtx sessionctx.Context, bfJob *BackfillJob) error {
+ sess, ok := sessCtx.(*session)
+ if !ok {
+ return errors.Errorf("sess ctx:%#v convert session failed", sessCtx)
+ }
+
+ return runInTxn(sess, func(se *session) error {
+ // TODO: Consider batch by batch update backfill jobs and insert backfill history jobs.
+ bJobs, err := GetBackfillJobs(sess, BackfillTable, fmt.Sprintf("ddl_job_id = %d and ele_id = %d and ele_key = '%s'",
+ bfJob.JobID, bfJob.EleID, bfJob.EleKey), "update_backfill_job")
+ if err != nil {
+ return errors.Trace(err)
+ }
+ if len(bJobs) == 0 {
+ return nil
+ }
+
+ txn, err := se.txn()
+ if err != nil {
+ return errors.Trace(err)
+ }
+ startTS := txn.StartTS()
+ err = RemoveBackfillJob(sess, true, bJobs[0])
+ if err == nil {
+ for _, bj := range bJobs {
+ bj.State = model.JobStateCancelled
+ bj.FinishTS = startTS
+ }
+ err = AddBackfillHistoryJob(sess, bJobs)
+ }
+ logutil.BgLogger().Info("[ddl] move backfill jobs to history table", zap.Int("job count", len(bJobs)))
+ return errors.Trace(err)
+ })
+}
+
// recordIterFunc is used for low-level record iteration.
type recordIterFunc func(h kv.Handle, rowKey kv.Key, rawRecord []byte) (more bool, err error)
diff --git a/ddl/cancel_test.go b/ddl/cancel_test.go
index cd446f3441baf..3a5c461ad8461 100644
--- a/ddl/cancel_test.go
+++ b/ddl/cancel_test.go
@@ -149,8 +149,8 @@ var allTestCase = []testCancelJob{
{"alter table t modify column c11 char(10)", true, model.StateWriteReorganization, true, true, nil},
{"alter table t modify column c11 char(10)", false, model.StatePublic, false, true, nil},
// Add foreign key.
- {"alter table t add constraint fk foreign key a(c1) references t_ref(c1)", true, model.StateNone, true, false, []string{"create table t_ref (c1 int, c2 int, c3 int, c11 tinyint);"}},
- {"alter table t add constraint fk foreign key a(c1) references t_ref(c1)", false, model.StatePublic, false, true, nil},
+ {"alter table t add constraint fk foreign key a(c1) references t_ref(c1)", true, model.StateNone, true, false, []string{"create table t_ref (c1 int key, c2 int, c3 int, c11 tinyint);"}},
+ {"alter table t add constraint fk foreign key a(c1) references t_ref(c1)", false, model.StatePublic, false, true, []string{"insert into t_ref (c1) select c1 from t;"}},
// Drop foreign key.
{"alter table t drop foreign key fk", true, model.StatePublic, true, false, nil},
{"alter table t drop foreign key fk", false, model.StateNone, false, true, nil},
diff --git a/ddl/cluster.go b/ddl/cluster.go
index ebb833156cec2..cd0053f9e7e4f 100644
--- a/ddl/cluster.go
+++ b/ddl/cluster.go
@@ -19,11 +19,13 @@ import (
"context"
"encoding/hex"
"fmt"
+ "math"
"strings"
"time"
"github.com/pingcap/errors"
"github.com/pingcap/failpoint"
+ "github.com/pingcap/kvproto/pkg/errorpb"
"github.com/pingcap/kvproto/pkg/kvrpcpb"
"github.com/pingcap/tidb/ddl/util"
"github.com/pingcap/tidb/domain/infosync"
@@ -50,11 +52,7 @@ import (
)
var pdScheduleKey = []string{
- "hot-region-schedule-limit",
- "leader-schedule-limit",
"merge-schedule-limit",
- "region-schedule-limit",
- "replica-schedule-limit",
}
const (
@@ -68,7 +66,9 @@ const (
autoAnalyzeOffset
readOnlyOffset
totalLockedRegionsOffset
+ startTSOffset
commitTSOffset
+ ttlJobEnableOffSet
)
func closePDSchedule() error {
@@ -125,6 +125,18 @@ func ValidateFlashbackTS(ctx context.Context, sctx sessionctx.Context, flashBack
return gcutil.ValidateSnapshotWithGCSafePoint(flashBackTS, gcSafePoint)
}
+func getTiDBTTLJobEnable(sess sessionctx.Context) (string, error) {
+ val, err := sess.GetSessionVars().GlobalVarsAccessor.GetGlobalSysVar(variable.TiDBTTLJobEnable)
+ if err != nil {
+ return "", errors.Trace(err)
+ }
+ return val, nil
+}
+
+func setTiDBTTLJobEnable(ctx context.Context, sess sessionctx.Context, value string) error {
+ return sess.GetSessionVars().GlobalVarsAccessor.SetGlobalSysVar(ctx, variable.TiDBTTLJobEnable, value)
+}
+
func setTiDBEnableAutoAnalyze(ctx context.Context, sess sessionctx.Context, value string) error {
return sess.GetSessionVars().GlobalVarsAccessor.SetGlobalSysVar(ctx, variable.TiDBEnableAutoAnalyze, value)
}
@@ -149,6 +161,17 @@ func getTiDBSuperReadOnly(sess sessionctx.Context) (string, error) {
return val, nil
}
+func isFlashbackSupportedDDLAction(action model.ActionType) bool {
+ switch action {
+ case model.ActionSetTiFlashReplica, model.ActionUpdateTiFlashReplicaStatus, model.ActionAlterPlacementPolicy,
+ model.ActionAlterTablePlacement, model.ActionAlterTablePartitionPlacement, model.ActionCreatePlacementPolicy,
+ model.ActionDropPlacementPolicy, model.ActionModifySchemaDefaultPlacement:
+ return false
+ default:
+ return true
+ }
+}
+
func checkAndSetFlashbackClusterInfo(sess sessionctx.Context, d *ddlCtx, t *meta.Meta, job *model.Job, flashbackTS uint64) (err error) {
if err = ValidateFlashbackTS(d.ctx, sess, flashbackTS); err != nil {
return err
@@ -166,25 +189,56 @@ func checkAndSetFlashbackClusterInfo(sess sessionctx.Context, d *ddlCtx, t *meta
if err = setTiDBSuperReadOnly(d.ctx, sess, variable.On); err != nil {
return err
}
+ if err = setTiDBTTLJobEnable(d.ctx, sess, variable.Off); err != nil {
+ return err
+ }
nowSchemaVersion, err := t.GetSchemaVersion()
if err != nil {
return errors.Trace(err)
}
- flashbackSchemaVersion, err := meta.NewSnapshotMeta(d.store.GetSnapshot(kv.NewVersion(flashbackTS))).GetSchemaVersion()
+ flashbackSnapshotMeta := meta.NewSnapshotMeta(d.store.GetSnapshot(kv.NewVersion(flashbackTS)))
+ flashbackSchemaVersion, err := flashbackSnapshotMeta.GetSchemaVersion()
if err != nil {
return errors.Trace(err)
}
- // If flashbackSchemaVersion not same as nowSchemaVersion, we've done ddl during [flashbackTs, now).
+ flashbackTSString := oracle.GetTimeFromTS(flashbackTS).String()
+
+ // Check if there is an upgrade during [flashbackTS, now)
+ sql := fmt.Sprintf("select VARIABLE_VALUE from mysql.tidb as of timestamp '%s' where VARIABLE_NAME='tidb_server_version'", flashbackTSString)
+ rows, err := newSession(sess).execute(d.ctx, sql, "check_tidb_server_version")
+ if err != nil || len(rows) == 0 {
+ return errors.Errorf("Get history `tidb_server_version` failed, can't do flashback")
+ }
+ sql = fmt.Sprintf("select 1 from mysql.tidb where VARIABLE_NAME='tidb_server_version' and VARIABLE_VALUE=%s", rows[0].GetString(0))
+ rows, err = newSession(sess).execute(d.ctx, sql, "check_tidb_server_version")
+ if err != nil {
+ return errors.Trace(err)
+ }
+ if len(rows) == 0 {
+ return errors.Errorf("Detected TiDB upgrade during [%s, now), can't do flashback", flashbackTSString)
+ }
+
+ // Check is there a DDL task at flashbackTS.
+ sql = fmt.Sprintf("select count(*) from mysql.%s as of timestamp '%s'", JobTable, flashbackTSString)
+ rows, err = newSession(sess).execute(d.ctx, sql, "check_history_job")
+ if err != nil || len(rows) == 0 {
+ return errors.Errorf("Get history ddl jobs failed, can't do flashback")
+ }
+ if rows[0].GetInt64(0) != 0 {
+ return errors.Errorf("Detected another DDL job at %s, can't do flashback", flashbackTSString)
+ }
+
+ // If flashbackSchemaVersion not same as nowSchemaVersion, we should check all schema diffs during [flashbackTs, now).
for i := flashbackSchemaVersion + 1; i <= nowSchemaVersion; i++ {
diff, err := t.GetSchemaDiff(i)
if err != nil {
return errors.Trace(err)
}
- if diff != nil && diff.Type != model.ActionFlashbackCluster {
- return errors.Errorf("Detected schema change due to another DDL job during [%s, now), can't do flashback", oracle.GetTimeFromTS(flashbackTS))
+ if diff != nil && !isFlashbackSupportedDDLAction(diff.Type) {
+ return errors.Errorf("Detected unsupported DDL job type(%s) during [%s, now), can't do flashback", diff.Type.String(), flashbackTSString)
}
}
@@ -213,7 +267,7 @@ type flashbackID struct {
func addToSlice(schema string, tableName string, tableID int64, flashbackIDs []flashbackID) []flashbackID {
var excluded bool
- if filter.IsSystemSchema(schema) && !strings.HasPrefix(tableName, "stats_") {
+ if filter.IsSystemSchema(schema) && !strings.HasPrefix(tableName, "stats_") && tableName != "gc_delete_range" {
excluded = true
}
flashbackIDs = append(flashbackIDs, flashbackID{
@@ -272,6 +326,14 @@ func GetFlashbackKeyRanges(sess sessionctx.Context) ([]kv.KeyRange, error) {
})
}
+ // The meta data key ranges.
+ metaStartKey := tablecodec.EncodeMetaKey(meta.DBkey(0), meta.TableKey(0))
+ metaEndKey := tablecodec.EncodeMetaKey(meta.DBkey(math.MaxInt64), meta.TableKey(math.MaxInt64))
+ keyRanges = append(keyRanges, kv.KeyRange{
+ StartKey: metaStartKey,
+ EndKey: metaEndKey,
+ })
+
return keyRanges, nil
}
@@ -280,6 +342,7 @@ func GetFlashbackKeyRanges(sess sessionctx.Context) ([]kv.KeyRange, error) {
func SendPrepareFlashbackToVersionRPC(
ctx context.Context,
s tikv.Storage,
+ flashbackTS, startTS uint64,
r tikvstore.KeyRange,
) (rangetask.TaskStat, error) {
startKey, rangeEndKey := r.StartKey, r.EndKey
@@ -314,6 +377,8 @@ func SendPrepareFlashbackToVersionRPC(
req := tikvrpc.NewRequest(tikvrpc.CmdPrepareFlashbackToVersion, &kvrpcpb.PrepareFlashbackToVersionRequest{
StartKey: startKey,
EndKey: endKey,
+ StartTs: startTS,
+ Version: flashbackTS,
})
resp, err := s.SendReq(bo, req, loc.Region, flashbackTimeout)
@@ -324,15 +389,36 @@ func SendPrepareFlashbackToVersionRPC(
if err != nil {
return taskStat, err
}
+ failpoint.Inject("mockPrepareMeetsEpochNotMatch", func(val failpoint.Value) {
+ if val.(bool) && bo.ErrorsNum() == 0 {
+ regionErr = &errorpb.Error{
+ Message: "stale epoch",
+ EpochNotMatch: &errorpb.EpochNotMatch{},
+ }
+ }
+ })
if regionErr != nil {
- return taskStat, errors.Errorf(regionErr.String())
+ err = bo.Backoff(tikv.BoRegionMiss(), errors.New(regionErr.String()))
+ if err != nil {
+ return taskStat, err
+ }
+ continue
}
if resp.Resp == nil {
- return taskStat, errors.Errorf("prepare flashback missing resp body")
+ logutil.BgLogger().Warn("prepare flashback miss resp body", zap.Uint64("region_id", loc.Region.GetID()))
+ err = bo.Backoff(tikv.BoTiKVRPC(), errors.New("prepare flashback rpc miss resp body"))
+ if err != nil {
+ return taskStat, err
+ }
+ continue
}
prepareFlashbackToVersionResp := resp.Resp.(*kvrpcpb.PrepareFlashbackToVersionResponse)
if err := prepareFlashbackToVersionResp.GetError(); err != "" {
- return taskStat, errors.Errorf(err)
+ boErr := bo.Backoff(tikv.BoTiKVRPC(), errors.New(err))
+ if boErr != nil {
+ return taskStat, boErr
+ }
+ continue
}
taskStat.CompletedRegions++
if isLast {
@@ -481,11 +567,11 @@ func (w *worker) onFlashbackCluster(d *ddlCtx, t *meta.Meta, job *model.Job) (ve
return ver, errors.Errorf("Not support flashback cluster in non-TiKV env")
}
- var flashbackTS, lockedRegions, commitTS uint64
+ var flashbackTS, lockedRegions, startTS, commitTS uint64
var pdScheduleValue map[string]interface{}
- var autoAnalyzeValue, readOnlyValue string
+ var autoAnalyzeValue, readOnlyValue, ttlJobEnableValue string
var gcEnabledValue bool
- if err := job.DecodeArgs(&flashbackTS, &pdScheduleValue, &gcEnabledValue, &autoAnalyzeValue, &readOnlyValue, &lockedRegions, &commitTS); err != nil {
+ if err := job.DecodeArgs(&flashbackTS, &pdScheduleValue, &gcEnabledValue, &autoAnalyzeValue, &readOnlyValue, &lockedRegions, &startTS, &commitTS, &ttlJobEnableValue); err != nil {
job.State = model.JobStateCancelled
return ver, errors.Trace(err)
}
@@ -525,6 +611,12 @@ func (w *worker) onFlashbackCluster(d *ddlCtx, t *meta.Meta, job *model.Job) (ve
return ver, errors.Trace(err)
}
job.Args[readOnlyOffset] = &readOnlyValue
+ ttlJobEnableValue, err = getTiDBTTLJobEnable(sess)
+ if err != nil {
+ job.State = model.JobStateCancelled
+ return ver, errors.Trace(err)
+ }
+ job.Args[ttlJobEnableOffSet] = &ttlJobEnableValue
job.SchemaState = model.StateDeleteOnly
return ver, nil
// Stage 2, check flashbackTS, close GC and PD schedule.
@@ -533,6 +625,13 @@ func (w *worker) onFlashbackCluster(d *ddlCtx, t *meta.Meta, job *model.Job) (ve
job.State = model.JobStateCancelled
return ver, errors.Trace(err)
}
+ // We should get startTS here to avoid lost startTS when TiDB crashed during send prepare flashback RPC.
+ startTS, err = d.store.GetOracle().GetTimestamp(d.ctx, &oracle.Option{TxnScope: oracle.GlobalTxnScope})
+ if err != nil {
+ job.State = model.JobStateCancelled
+ return ver, errors.Trace(err)
+ }
+ job.Args[startTSOffset] = startTS
job.SchemaState = model.StateWriteOnly
return ver, nil
// Stage 3, get key ranges and get locks.
@@ -552,7 +651,7 @@ func (w *worker) onFlashbackCluster(d *ddlCtx, t *meta.Meta, job *model.Job) (ve
for _, r := range keyRanges {
if err = flashbackToVersion(d.ctx, d,
func(ctx context.Context, r tikvstore.KeyRange) (rangetask.TaskStat, error) {
- stats, err := SendPrepareFlashbackToVersionRPC(ctx, d.store.(tikv.Storage), r)
+ stats, err := SendPrepareFlashbackToVersionRPC(ctx, d.store.(tikv.Storage), flashbackTS, startTS, r)
totalRegions.Add(uint64(stats.CompletedRegions))
return stats, err
}, r.StartKey, r.EndKey); err != nil {
@@ -587,8 +686,8 @@ func (w *worker) onFlashbackCluster(d *ddlCtx, t *meta.Meta, job *model.Job) (ve
for _, r := range keyRanges {
if err = flashbackToVersion(d.ctx, d,
func(ctx context.Context, r tikvstore.KeyRange) (rangetask.TaskStat, error) {
- // Use commitTS - 1 as startTS, make sure it less than commitTS.
- stats, err := SendFlashbackToVersionRPC(ctx, d.store.(tikv.Storage), flashbackTS, commitTS-1, commitTS, r)
+ // Use same startTS as prepare phase to simulate 1PC txn.
+ stats, err := SendFlashbackToVersionRPC(ctx, d.store.(tikv.Storage), flashbackTS, startTS, commitTS, r)
completedRegions.Add(uint64(stats.CompletedRegions))
logutil.BgLogger().Info("[ddl] flashback cluster stats",
zap.Uint64("complete regions", completedRegions.Load()),
@@ -604,7 +703,7 @@ func (w *worker) onFlashbackCluster(d *ddlCtx, t *meta.Meta, job *model.Job) (ve
asyncNotifyEvent(d, &util.Event{Tp: model.ActionFlashbackCluster})
job.State = model.JobStateDone
job.SchemaState = model.StatePublic
- return ver, nil
+ return updateSchemaVersion(d, t, job)
}
return ver, nil
}
@@ -615,12 +714,12 @@ func finishFlashbackCluster(w *worker, job *model.Job) error {
return nil
}
- var flashbackTS, lockedRegions, commitTS uint64
+ var flashbackTS, lockedRegions, startTS, commitTS uint64
var pdScheduleValue map[string]interface{}
- var autoAnalyzeValue, readOnlyValue string
+ var autoAnalyzeValue, readOnlyValue, ttlJobEnableValue string
var gcEnabled bool
- if err := job.DecodeArgs(&flashbackTS, &pdScheduleValue, &gcEnabled, &autoAnalyzeValue, &readOnlyValue, &lockedRegions, &commitTS); err != nil {
+ if err := job.DecodeArgs(&flashbackTS, &pdScheduleValue, &gcEnabled, &autoAnalyzeValue, &readOnlyValue, &lockedRegions, &startTS, &commitTS, &ttlJobEnableValue); err != nil {
return errors.Trace(err)
}
sess, err := w.sessPool.get()
@@ -641,6 +740,14 @@ func finishFlashbackCluster(w *worker, job *model.Job) error {
if err = setTiDBSuperReadOnly(w.ctx, sess, readOnlyValue); err != nil {
return err
}
+
+ if job.IsCancelled() {
+ // only restore `tidb_ttl_job_enable` when flashback failed
+ if err = setTiDBTTLJobEnable(w.ctx, sess, ttlJobEnableValue); err != nil {
+ return err
+ }
+ }
+
return setTiDBEnableAutoAnalyze(w.ctx, sess, autoAnalyzeValue)
})
if err != nil {
diff --git a/ddl/cluster_test.go b/ddl/cluster_test.go
index 2cbf5ee45336a..4e9b77884d2c6 100644
--- a/ddl/cluster_test.go
+++ b/ddl/cluster_test.go
@@ -42,15 +42,16 @@ func TestGetFlashbackKeyRanges(t *testing.T) {
kvRanges, err := ddl.GetFlashbackKeyRanges(se)
require.NoError(t, err)
- // The results are 6 key ranges
- // 0: (stats_meta,stats_histograms,stats_buckets)
+ // The results are 8 key ranges
+ // 0: (stats_meta,stats_histograms,stats_buckets, gc_delete_range)
// 1: (stats_feedback)
// 2: (stats_top_n)
// 3: (stats_extended)
// 4: (stats_fm_sketch)
// 5: (stats_history, stats_meta_history)
// 6: (stats_table_locked)
- require.Len(t, kvRanges, 7)
+ // 7: meta Ranges
+ require.Len(t, kvRanges, 8)
tk.MustExec("use test")
tk.MustExec("CREATE TABLE employees (" +
@@ -64,7 +65,7 @@ func TestGetFlashbackKeyRanges(t *testing.T) {
");")
tk.MustExec("truncate table mysql.analyze_jobs")
- // truncate all `stats_` tables, make table ID consecutive.
+ // truncate all `stats_` and `gc_delete_range` tables, make table ID consecutive.
tk.MustExec("truncate table mysql.stats_meta")
tk.MustExec("truncate table mysql.stats_histograms")
tk.MustExec("truncate table mysql.stats_buckets")
@@ -75,14 +76,15 @@ func TestGetFlashbackKeyRanges(t *testing.T) {
tk.MustExec("truncate table mysql.stats_history")
tk.MustExec("truncate table mysql.stats_meta_history")
tk.MustExec("truncate table mysql.stats_table_locked")
+ tk.MustExec("truncate table mysql.gc_delete_range")
kvRanges, err = ddl.GetFlashbackKeyRanges(se)
require.NoError(t, err)
- require.Len(t, kvRanges, 2)
+ require.Len(t, kvRanges, 3)
tk.MustExec("truncate table test.employees")
kvRanges, err = ddl.GetFlashbackKeyRanges(se)
require.NoError(t, err)
- require.Len(t, kvRanges, 1)
+ require.Len(t, kvRanges, 2)
}
func TestFlashbackCloseAndResetPDSchedule(t *testing.T) {
@@ -98,7 +100,7 @@ func TestFlashbackCloseAndResetPDSchedule(t *testing.T) {
fmt.Sprintf("return(%v)", injectSafeTS)))
oldValue := map[string]interface{}{
- "hot-region-schedule-limit": 1,
+ "merge-schedule-limit": 1,
}
require.NoError(t, infosync.SetPDScheduleConfig(context.Background(), oldValue))
@@ -112,7 +114,7 @@ func TestFlashbackCloseAndResetPDSchedule(t *testing.T) {
if job.SchemaState == model.StateWriteReorganization {
closeValue, err := infosync.GetPDScheduleConfig(context.Background())
assert.NoError(t, err)
- assert.Equal(t, closeValue["hot-region-schedule-limit"], 0)
+ assert.Equal(t, closeValue["merge-schedule-limit"], 0)
// cancel flashback job
job.State = model.JobStateCancelled
job.Error = dbterror.ErrCancelledDDLJob
@@ -120,6 +122,7 @@ func TestFlashbackCloseAndResetPDSchedule(t *testing.T) {
}
dom.DDL().SetHook(hook)
+ time.Sleep(10 * time.Millisecond)
ts, err := tk.Session().GetStore().GetOracle().GetTimestamp(context.Background(), &oracle.Option{})
require.NoError(t, err)
@@ -128,7 +131,7 @@ func TestFlashbackCloseAndResetPDSchedule(t *testing.T) {
finishValue, err := infosync.GetPDScheduleConfig(context.Background())
require.NoError(t, err)
- require.EqualValues(t, finishValue["hot-region-schedule-limit"], 1)
+ require.EqualValues(t, finishValue["merge-schedule-limit"], 1)
require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/ddl/mockFlashbackTest"))
require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/expression/injectSafeTS"))
@@ -142,6 +145,7 @@ func TestAddDDLDuringFlashback(t *testing.T) {
tk.MustExec("use test")
tk.MustExec("create table t(a int)")
+ time.Sleep(10 * time.Millisecond)
ts, err := tk.Session().GetStore().GetOracle().GetTimestamp(context.Background(), &oracle.Option{})
require.NoError(t, err)
@@ -180,6 +184,7 @@ func TestGlobalVariablesOnFlashback(t *testing.T) {
tk.MustExec("use test")
tk.MustExec("create table t(a int)")
+ time.Sleep(10 * time.Millisecond)
ts, err := tk.Session().GetStore().GetOracle().GetTimestamp(context.Background(), &oracle.Option{})
require.NoError(t, err)
@@ -207,12 +212,16 @@ func TestGlobalVariablesOnFlashback(t *testing.T) {
rs, err = tk.Exec("show variables like 'tidb_super_read_only'")
assert.NoError(t, err)
assert.Equal(t, tk.ResultSetToResult(rs, "").Rows()[0][1], variable.On)
+ rs, err = tk.Exec("show variables like 'tidb_ttl_job_enable'")
+ assert.NoError(t, err)
+ assert.Equal(t, tk.ResultSetToResult(rs, "").Rows()[0][1], variable.Off)
}
}
dom.DDL().SetHook(hook)
- // first try with `tidb_gc_enable` = on and `tidb_super_read_only` = off
+ // first try with `tidb_gc_enable` = on and `tidb_super_read_only` = off and `tidb_ttl_job_enable` = on
tk.MustExec("set global tidb_gc_enable = on")
tk.MustExec("set global tidb_super_read_only = off")
+ tk.MustExec("set global tidb_ttl_job_enable = on")
tk.MustExec(fmt.Sprintf("flashback cluster to timestamp '%s'", oracle.GetTimeFromTS(ts)))
@@ -222,10 +231,14 @@ func TestGlobalVariablesOnFlashback(t *testing.T) {
rs, err = tk.Exec("show variables like 'tidb_gc_enable'")
require.NoError(t, err)
require.Equal(t, tk.ResultSetToResult(rs, "").Rows()[0][1], variable.On)
+ rs, err = tk.Exec("show variables like 'tidb_ttl_job_enable'")
+ require.NoError(t, err)
+ require.Equal(t, tk.ResultSetToResult(rs, "").Rows()[0][1], variable.Off)
- // second try with `tidb_gc_enable` = off and `tidb_super_read_only` = on
+ // second try with `tidb_gc_enable` = off and `tidb_super_read_only` = on and `tidb_ttl_job_enable` = off
tk.MustExec("set global tidb_gc_enable = off")
tk.MustExec("set global tidb_super_read_only = on")
+ tk.MustExec("set global tidb_ttl_job_enable = off")
ts, err = tk.Session().GetStore().GetOracle().GetTimestamp(context.Background(), &oracle.Option{})
require.NoError(t, err)
@@ -236,6 +249,9 @@ func TestGlobalVariablesOnFlashback(t *testing.T) {
rs, err = tk.Exec("show variables like 'tidb_gc_enable'")
require.NoError(t, err)
require.Equal(t, tk.ResultSetToResult(rs, "").Rows()[0][1], variable.Off)
+ rs, err = tk.Exec("show variables like 'tidb_ttl_job_enable'")
+ assert.NoError(t, err)
+ assert.Equal(t, tk.ResultSetToResult(rs, "").Rows()[0][1], variable.Off)
dom.DDL().SetHook(originHook)
require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/ddl/mockFlashbackTest"))
@@ -247,6 +263,8 @@ func TestCancelFlashbackCluster(t *testing.T) {
store, dom := testkit.CreateMockStoreAndDomain(t)
originHook := dom.DDL().GetHook()
tk := testkit.NewTestKit(t, store)
+
+ time.Sleep(10 * time.Millisecond)
ts, err := tk.Session().GetStore().GetOracle().GetTimestamp(context.Background(), &oracle.Option{})
require.NoError(t, err)
@@ -266,9 +284,14 @@ func TestCancelFlashbackCluster(t *testing.T) {
return job.SchemaState == model.StateDeleteOnly
})
dom.DDL().SetHook(hook)
+ tk.MustExec("set global tidb_ttl_job_enable = on")
tk.MustGetErrCode(fmt.Sprintf("flashback cluster to timestamp '%s'", oracle.GetTimeFromTS(ts)), errno.ErrCancelledDDLJob)
hook.MustCancelDone(t)
+ rs, err := tk.Exec("show variables like 'tidb_ttl_job_enable'")
+ assert.NoError(t, err)
+ assert.Equal(t, tk.ResultSetToResult(rs, "").Rows()[0][1], variable.On)
+
// Try canceled on StateWriteReorganization, cancel failed
hook = newCancelJobHook(t, store, dom, func(job *model.Job) bool {
return job.SchemaState == model.StateWriteReorganization
@@ -277,6 +300,10 @@ func TestCancelFlashbackCluster(t *testing.T) {
tk.MustExec(fmt.Sprintf("flashback cluster to timestamp '%s'", oracle.GetTimeFromTS(ts)))
hook.MustCancelFailed(t)
+ rs, err = tk.Exec("show variables like 'tidb_ttl_job_enable'")
+ assert.NoError(t, err)
+ assert.Equal(t, tk.ResultSetToResult(rs, "").Rows()[0][1], variable.Off)
+
dom.DDL().SetHook(originHook)
require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/ddl/mockFlashbackTest"))
diff --git a/ddl/column.go b/ddl/column.go
index 06f6e2897f3ae..25ce1f81b9557 100644
--- a/ddl/column.go
+++ b/ddl/column.go
@@ -17,6 +17,7 @@ package ddl
import (
"bytes"
"context"
+ "encoding/hex"
"fmt"
"math/bits"
"strings"
@@ -341,6 +342,9 @@ func checkDropColumn(d *ddlCtx, t *meta.Meta, job *model.Job) (*model.TableInfo,
if err = checkDropColumnWithForeignKeyConstraintInOwner(d, t, job, tblInfo, colName.L); err != nil {
return nil, nil, nil, false, errors.Trace(err)
}
+ if err = checkDropColumnWithTTLConfig(tblInfo, colName.L); err != nil {
+ return nil, nil, nil, false, errors.Trace(err)
+ }
idxInfos := listIndicesWithColumn(colName.L, tblInfo.Indices)
return tblInfo, colInfo, idxInfos, false, nil
}
@@ -802,8 +806,12 @@ func doReorgWorkForModifyColumnMultiSchema(w *worker, d *ddlCtx, t *meta.Meta, j
func doReorgWorkForModifyColumn(w *worker, d *ddlCtx, t *meta.Meta, job *model.Job, tbl table.Table,
oldCol, changingCol *model.ColumnInfo, changingIdxs []*model.IndexInfo) (done bool, ver int64, err error) {
job.ReorgMeta.ReorgTp = model.ReorgTypeTxn
- rh := newReorgHandler(t, w.sess, w.concurrentDDL)
- reorgInfo, err := getReorgInfo(d.jobContext(job), d, rh, job, tbl, BuildElements(changingCol, changingIdxs), false)
+ rh := newReorgHandler(t, w.sess)
+ dbInfo, err := t.GetDatabase(job.SchemaID)
+ if err != nil {
+ return false, ver, errors.Trace(err)
+ }
+ reorgInfo, err := getReorgInfo(d.jobContext(job.ID), d, rh, job, dbInfo, tbl, BuildElements(changingCol, changingIdxs), false)
if err != nil || reorgInfo.first {
// If we run reorg firstly, we should update the job snapshot version
// and then run the reorg next time.
@@ -830,7 +838,7 @@ func doReorgWorkForModifyColumn(w *worker, d *ddlCtx, t *meta.Meta, job *model.J
// If timeout, we should return, check for the owner and re-wait job done.
return false, ver, nil
}
- if kv.IsTxnRetryableError(err) {
+ if kv.IsTxnRetryableError(err) || dbterror.ErrNotOwner.Equal(err) {
return false, ver, errors.Trace(err)
}
if err1 := rh.RemoveDDLReorgHandle(job, reorgInfo.elements); err1 != nil {
@@ -857,6 +865,9 @@ func adjustTableInfoAfterModifyColumnWithData(tblInfo *model.TableInfo, pos *ast
indexesToRemove := filterIndexesToRemove(changingIdxs, newName, tblInfo)
replaceOldIndexes(tblInfo, indexesToRemove)
}
+ if tblInfo.TTLInfo != nil {
+ updateTTLInfoWhenModifyColumn(tblInfo, oldCol.Name, changingCol.Name)
+ }
// Move the new column to a correct offset.
destOffset, err := LocateOffsetToMove(changingCol.Offset, pos, tblInfo)
if err != nil {
@@ -931,6 +942,17 @@ func updateFKInfoWhenModifyColumn(tblInfo *model.TableInfo, oldCol, newCol model
}
}
+func updateTTLInfoWhenModifyColumn(tblInfo *model.TableInfo, oldCol, newCol model.CIStr) {
+ if oldCol.L == newCol.L {
+ return
+ }
+ if tblInfo.TTLInfo != nil {
+ if tblInfo.TTLInfo.ColumnName.L == oldCol.L {
+ tblInfo.TTLInfo.ColumnName = newCol
+ }
+ }
+}
+
// filterIndexesToRemove filters out the indexes that can be removed.
func filterIndexesToRemove(changingIdxs []*model.IndexInfo, colName model.CIStr, tblInfo *model.TableInfo) []*model.IndexInfo {
indexesToRemove := make([]*model.IndexInfo, 0, len(changingIdxs))
@@ -1020,30 +1042,9 @@ func BuildElements(changingCol *model.ColumnInfo, changingIdxs []*model.IndexInf
return elements
}
-func (w *worker) updatePhysicalTableRow(t table.Table, reorgInfo *reorgInfo) error {
+func (w *worker) updatePhysicalTableRow(t table.PhysicalTable, reorgInfo *reorgInfo) error {
logutil.BgLogger().Info("[ddl] start to update table row", zap.String("job", reorgInfo.Job.String()), zap.String("reorgInfo", reorgInfo.String()))
- if tbl, ok := t.(table.PartitionedTable); ok {
- done := false
- for !done {
- p := tbl.GetPartition(reorgInfo.PhysicalTableID)
- if p == nil {
- return dbterror.ErrCancelledDDLJob.GenWithStack("Can not find partition id %d for table %d", reorgInfo.PhysicalTableID, t.Meta().ID)
- }
- err := w.writePhysicalTableRecord(w.sessPool, p, typeUpdateColumnWorker, reorgInfo)
- if err != nil {
- return err
- }
- done, err = w.updateReorgInfo(tbl, reorgInfo)
- if err != nil {
- return errors.Trace(err)
- }
- }
- return nil
- }
- if tbl, ok := t.(table.PhysicalTable); ok {
- return w.writePhysicalTableRecord(w.sessPool, tbl, typeUpdateColumnWorker, reorgInfo)
- }
- return dbterror.ErrCancelledDDLJob.GenWithStack("internal error for phys tbl id: %d tbl id: %d", reorgInfo.PhysicalTableID, t.Meta().ID)
+ return w.writePhysicalTableRecord(w.sessPool, t, typeUpdateColumnWorker, reorgInfo)
}
// TestReorgGoroutineRunning is only used in test to indicate the reorg goroutine has been started.
@@ -1058,32 +1059,29 @@ func (w *worker) updateCurrentElement(t table.Table, reorgInfo *reorgInfo) error
TestReorgGoroutineRunning <- a
for {
time.Sleep(30 * time.Millisecond)
- if w.getReorgCtx(reorgInfo.Job).isReorgCanceled() {
+ if w.getReorgCtx(reorgInfo.Job.ID).isReorgCanceled() {
// Job is cancelled. So it can't be done.
failpoint.Return(dbterror.ErrCancelledDDLJob)
}
}
}
})
+ // TODO: Support partition tables.
if bytes.Equal(reorgInfo.currElement.TypeKey, meta.ColumnElementKey) {
- err := w.updatePhysicalTableRow(t, reorgInfo)
+ //nolint:forcetypeassert
+ err := w.updatePhysicalTableRow(t.(table.PhysicalTable), reorgInfo)
if err != nil {
return errors.Trace(err)
}
}
- var physTbl table.PhysicalTable
- if tbl, ok := t.(table.PartitionedTable); ok {
- physTbl = tbl.GetPartition(reorgInfo.PhysicalTableID)
- } else if tbl, ok := t.(table.PhysicalTable); ok {
- physTbl = tbl
- }
// Get the original start handle and end handle.
currentVer, err := getValidCurrentVersion(reorgInfo.d.store)
if err != nil {
return errors.Trace(err)
}
- originalStartHandle, originalEndHandle, err := getTableRange(reorgInfo.d.jobContext(reorgInfo.Job), reorgInfo.d, physTbl, currentVer.Ver, reorgInfo.Job.Priority)
+ //nolint:forcetypeassert
+ originalStartHandle, originalEndHandle, err := getTableRange(reorgInfo.d.jobContext(reorgInfo.Job.ID), reorgInfo.d, t.(table.PhysicalTable), currentVer.Ver, reorgInfo.Job.Priority)
if err != nil {
return errors.Trace(err)
}
@@ -1106,21 +1104,22 @@ func (w *worker) updateCurrentElement(t table.Table, reorgInfo *reorgInfo) error
// Then the handle range of the rest elements' is [originalStartHandle, originalEndHandle].
if i == startElementOffsetToResetHandle+1 {
reorgInfo.StartKey, reorgInfo.EndKey = originalStartHandle, originalEndHandle
+ w.getReorgCtx(reorgInfo.Job.ID).setNextKey(reorgInfo.StartKey)
}
// Update the element in the reorgCtx to keep the atomic access for daemon-worker.
- w.getReorgCtx(reorgInfo.Job).setCurrentElement(reorgInfo.elements[i+1])
+ w.getReorgCtx(reorgInfo.Job.ID).setCurrentElement(reorgInfo.elements[i+1])
// Update the element in the reorgInfo for updating the reorg meta below.
reorgInfo.currElement = reorgInfo.elements[i+1]
// Write the reorg info to store so the whole reorganize process can recover from panic.
err := reorgInfo.UpdateReorgMeta(reorgInfo.StartKey, w.sessPool)
logutil.BgLogger().Info("[ddl] update column and indexes",
- zap.Int64("jobID", reorgInfo.Job.ID),
- zap.ByteString("elementType", reorgInfo.currElement.TypeKey),
- zap.Int64("elementID", reorgInfo.currElement.ID),
- zap.String("startHandle", tryDecodeToHandleString(reorgInfo.StartKey)),
- zap.String("endHandle", tryDecodeToHandleString(reorgInfo.EndKey)))
+ zap.Int64("job ID", reorgInfo.Job.ID),
+ zap.ByteString("element type", reorgInfo.currElement.TypeKey),
+ zap.Int64("element ID", reorgInfo.currElement.ID),
+ zap.String("start key", hex.EncodeToString(reorgInfo.StartKey)),
+ zap.String("end key", hex.EncodeToString(reorgInfo.EndKey)))
if err != nil {
return errors.Trace(err)
}
@@ -1133,7 +1132,7 @@ func (w *worker) updateCurrentElement(t table.Table, reorgInfo *reorgInfo) error
}
type updateColumnWorker struct {
- *backfillWorker
+ *backfillCtx
oldColInfo *model.ColumnInfo
newColInfo *model.ColumnInfo
metricCounter prometheus.Counter
@@ -1145,11 +1144,10 @@ type updateColumnWorker struct {
rowMap map[int64]types.Datum
// For SQL Mode and warnings.
- sqlMode mysql.SQLMode
jobContext *JobContext
}
-func newUpdateColumnWorker(sessCtx sessionctx.Context, id int, t table.PhysicalTable, decodeColMap map[int64]decoder.Column, reorgInfo *reorgInfo, jc *JobContext) *updateColumnWorker {
+func newUpdateColumnWorker(sessCtx sessionctx.Context, t table.PhysicalTable, decodeColMap map[int64]decoder.Column, reorgInfo *reorgInfo, jc *JobContext) *updateColumnWorker {
if !bytes.Equal(reorgInfo.currElement.TypeKey, meta.ColumnElementKey) {
logutil.BgLogger().Error("Element type for updateColumnWorker incorrect", zap.String("jobQuery", reorgInfo.Query),
zap.String("reorgInfo", reorgInfo.String()))
@@ -1165,14 +1163,13 @@ func newUpdateColumnWorker(sessCtx sessionctx.Context, id int, t table.PhysicalT
}
rowDecoder := decoder.NewRowDecoder(t, t.WritableCols(), decodeColMap)
return &updateColumnWorker{
- backfillWorker: newBackfillWorker(jc.ddlJobCtx, sessCtx, id, t, reorgInfo, typeUpdateColumnWorker),
- oldColInfo: oldCol,
- newColInfo: newCol,
- metricCounter: metrics.BackfillTotalCounter.WithLabelValues(metrics.GenerateReorgLabel("update_col_rate", reorgInfo.SchemaName, t.Meta().Name.String())),
- rowDecoder: rowDecoder,
- rowMap: make(map[int64]types.Datum, len(decodeColMap)),
- sqlMode: reorgInfo.ReorgMeta.SQLMode,
- jobContext: jc,
+ backfillCtx: newBackfillCtx(reorgInfo.d, sessCtx, reorgInfo.ReorgMeta.ReorgTp, reorgInfo.SchemaName, t),
+ oldColInfo: oldCol,
+ newColInfo: newCol,
+ metricCounter: metrics.BackfillTotalCounter.WithLabelValues(metrics.GenerateReorgLabel("update_col_rate", reorgInfo.SchemaName, t.Meta().Name.String())),
+ rowDecoder: rowDecoder,
+ rowMap: make(map[int64]types.Datum, len(decodeColMap)),
+ jobContext: jc,
}
}
@@ -1180,6 +1177,26 @@ func (w *updateColumnWorker) AddMetricInfo(cnt float64) {
w.metricCounter.Add(cnt)
}
+func (*updateColumnWorker) String() string {
+ return typeUpdateColumnWorker.String()
+}
+
+func (*updateColumnWorker) GetTask() (*BackfillJob, error) {
+ panic("[ddl] update column worker GetTask function doesn't implement")
+}
+
+func (*updateColumnWorker) UpdateTask(*BackfillJob) error {
+ panic("[ddl] update column worker UpdateTask function doesn't implement")
+}
+
+func (*updateColumnWorker) FinishTask(*BackfillJob) error {
+ panic("[ddl] update column worker FinishTask function doesn't implement")
+}
+
+func (w *updateColumnWorker) GetCtx() *backfillCtx {
+ return w.backfillCtx
+}
+
type rowRecord struct {
key []byte // It's used to lock a record. Record it to reduce the encoding time.
vals []byte // It's the record.
@@ -1205,8 +1222,8 @@ func (w *updateColumnWorker) fetchRowColVals(txn kv.Transaction, taskRange reorg
taskDone := false
var lastAccessedHandle kv.Key
oprStartTime := startTime
- err := iterateSnapshotKeys(w.reorgInfo.d.jobContext(w.reorgInfo.Job), w.sessCtx.GetStore(), w.priority, w.table.RecordPrefix(), txn.StartTS(), taskRange.startKey, taskRange.endKey,
- func(handle kv.Handle, recordKey kv.Key, rawRow []byte) (bool, error) {
+ err := iterateSnapshotKeys(w.GetCtx().jobContext(taskRange.getJobID()), w.sessCtx.GetStore(), taskRange.priority, taskRange.physicalTable.RecordPrefix(),
+ txn.StartTS(), taskRange.startKey, taskRange.endKey, func(handle kv.Handle, recordKey kv.Key, rawRow []byte) (bool, error) {
oprEndTime := time.Now()
logSlowOperations(oprEndTime.Sub(oprStartTime), "iterateSnapshotKeys in updateColumnWorker fetchRowColVals", 0)
oprStartTime = oprEndTime
@@ -1347,8 +1364,8 @@ func (w *updateColumnWorker) BackfillDataInTxn(handleRange reorgBackfillTask) (t
errInTxn = kv.RunInNewTxn(ctx, w.sessCtx.GetStore(), true, func(ctx context.Context, txn kv.Transaction) error {
taskCtx.addedCount = 0
taskCtx.scanCount = 0
- txn.SetOption(kv.Priority, w.priority)
- if tagger := w.reorgInfo.d.getResourceGroupTaggerForTopSQL(w.reorgInfo.Job); tagger != nil {
+ txn.SetOption(kv.Priority, handleRange.priority)
+ if tagger := w.GetCtx().getResourceGroupTaggerForTopSQL(handleRange.getJobID()); tagger != nil {
txn.SetOption(kv.ResourceGroupTagger, tagger)
}
@@ -1473,6 +1490,7 @@ func adjustTableInfoAfterModifyColumn(
tblInfo.MoveColumnInfo(oldCol.Offset, destOffset)
updateNewIdxColsNameOffset(tblInfo.Indices, oldCol.Name, newCol)
updateFKInfoWhenModifyColumn(tblInfo, oldCol.Name, newCol.Name)
+ updateTTLInfoWhenModifyColumn(tblInfo, oldCol.Name, newCol.Name)
return nil
}
@@ -1524,7 +1542,7 @@ func checkAndApplyAutoRandomBits(d *ddlCtx, m *meta.Meta, dbInfo *model.DBInfo,
return nil
}
idAcc := m.GetAutoIDAccessors(dbInfo.ID, tblInfo.ID)
- err := checkNewAutoRandomBits(idAcc, oldCol, newCol, newAutoRandBits, tblInfo.AutoRandomRangeBits, tblInfo.Version)
+ err := checkNewAutoRandomBits(idAcc, oldCol, newCol, newAutoRandBits, tblInfo.AutoRandomRangeBits, tblInfo.SepAutoInc())
if err != nil {
return err
}
@@ -1533,13 +1551,17 @@ func checkAndApplyAutoRandomBits(d *ddlCtx, m *meta.Meta, dbInfo *model.DBInfo,
// checkNewAutoRandomBits checks whether the new auto_random bits number can cause overflow.
func checkNewAutoRandomBits(idAccessors meta.AutoIDAccessors, oldCol *model.ColumnInfo,
- newCol *model.ColumnInfo, newShardBits, newRangeBits uint64, tblVer uint16) error {
+ newCol *model.ColumnInfo, newShardBits, newRangeBits uint64, sepAutoInc bool) error {
shardFmt := autoid.NewShardIDFormat(&newCol.FieldType, newShardBits, newRangeBits)
idAcc := idAccessors.RandomID()
convertedFromAutoInc := mysql.HasAutoIncrementFlag(oldCol.GetFlag())
if convertedFromAutoInc {
- idAcc = idAccessors.IncrementID(tblVer)
+ if sepAutoInc {
+ idAcc = idAccessors.IncrementID(model.TableInfoVersion5)
+ } else {
+ idAcc = idAccessors.RowID()
+ }
}
// Generate a new auto ID first to prevent concurrent update in DML.
_, err := idAcc.Inc(1)
@@ -1650,6 +1672,15 @@ func updateColumnDefaultValue(d *ddlCtx, t *meta.Meta, job *model.Job, newCol *m
job.State = model.JobStateCancelled
return ver, infoschema.ErrColumnNotExists.GenWithStackByArgs(newCol.Name, tblInfo.Name)
}
+
+ if hasDefaultValue, _, err := checkColumnDefaultValue(newContext(d.store), table.ToColumn(oldCol.Clone()), newCol.DefaultValue); err != nil {
+ job.State = model.JobStateCancelled
+ return ver, errors.Trace(err)
+ } else if !hasDefaultValue {
+ job.State = model.JobStateCancelled
+ return ver, dbterror.ErrInvalidDefaultValue.GenWithStackByArgs(newCol.Name)
+ }
+
// The newCol's offset may be the value of the old schema version, so we can't use newCol directly.
oldCol.DefaultValue = newCol.DefaultValue
oldCol.DefaultValueBit = newCol.DefaultValueBit
diff --git a/ddl/column_change_test.go b/ddl/column_change_test.go
index 4528564d2f231..be393dd488668 100644
--- a/ddl/column_change_test.go
+++ b/ddl/column_change_test.go
@@ -437,3 +437,36 @@ func testNewContext(store kv.Storage) sessionctx.Context {
ctx.Store = store
return ctx
}
+
+func TestIssue40150(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+
+ tk.MustExec("CREATE TABLE t40150 (a int) PARTITION BY HASH (a) PARTITIONS 2")
+ tk.MustContainErrMsg(`alter table t40150 rename column a to c`, "[ddl:3855]Column 'a' has a partitioning function dependency and cannot be dropped or renamed")
+}
+
+func TestIssue40135(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+
+ tk1 := testkit.NewTestKit(t, store)
+ tk1.MustExec("use test")
+
+ tk.MustExec("CREATE TABLE t40135 ( a tinyint DEFAULT NULL, b varchar(32) DEFAULT 'md') PARTITION BY HASH (a) PARTITIONS 2")
+ one := true
+ hook := &ddl.TestDDLCallback{Do: dom}
+ var checkErr error
+ hook.OnJobRunBeforeExported = func(job *model.Job) {
+ if one {
+ one = false
+ _, checkErr = tk1.Exec("alter table t40135 change column a aNew SMALLINT NULL DEFAULT '-14996'")
+ }
+ }
+ dom.DDL().SetHook(hook)
+ tk.MustExec("alter table t40135 modify column a MEDIUMINT NULL DEFAULT '6243108' FIRST")
+
+ require.ErrorContains(t, checkErr, "[ddl:3855]Column 'a' has a partitioning function dependency and cannot be dropped or renamed")
+}
diff --git a/ddl/column_modify_test.go b/ddl/column_modify_test.go
index f933182737d05..658039c1092a4 100644
--- a/ddl/column_modify_test.go
+++ b/ddl/column_modify_test.go
@@ -289,8 +289,7 @@ func TestDropColumn(t *testing.T) {
tk.MustExec("drop table if exists t1")
tk.MustExec("create table t1 (a int,b int) partition by hash(a) partitions 4;")
err := tk.ExecToErr("alter table t1 drop column a")
- // TODO: refine the error message to compatible with MySQL
- require.EqualError(t, err, "[planner:1054]Unknown column 'a' in 'expression'")
+ require.EqualError(t, err, "[ddl:3855]Column 'a' has a partitioning function dependency and cannot be dropped or renamed")
}
func TestChangeColumn(t *testing.T) {
@@ -1030,77 +1029,3 @@ func TestColumnTypeChangeGenUniqueChangingName(t *testing.T) {
tk.MustExec("drop table if exists t")
}
-
-func TestWriteReorgForColumnTypeChangeOnAmendTxn(t *testing.T) {
- store, dom := testkit.CreateMockStoreAndDomainWithSchemaLease(t, columnModifyLease)
-
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set global tidb_enable_metadata_lock=0")
- tk.MustExec("set global tidb_enable_amend_pessimistic_txn = ON")
- defer tk.MustExec("set global tidb_enable_amend_pessimistic_txn = OFF")
-
- d := dom.DDL()
- testInsertOnModifyColumn := func(sql string, startColState, commitColState model.SchemaState, retStrs []string, retErr error) {
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("use test")
- tk.MustExec("drop table if exists t1")
- tk.MustExec("create table t1 (c1 int, c2 int, c3 int, unique key(c1))")
- tk.MustExec("insert into t1 values (20, 20, 20);")
-
- var checkErr error
- tk1 := testkit.NewTestKit(t, store)
- defer func() {
- if tk1.Session() != nil {
- tk1.Session().Close()
- }
- }()
- hook := &ddl.TestDDLCallback{Do: dom}
- times := 0
- hook.OnJobRunBeforeExported = func(job *model.Job) {
- if job.Type != model.ActionModifyColumn || checkErr != nil || job.SchemaState != startColState {
- return
- }
-
- tk1.MustExec("use test")
- tk1.MustExec("begin pessimistic;")
- tk1.MustExec("insert into t1 values(101, 102, 103)")
- }
- onJobUpdatedExportedFunc := func(job *model.Job) {
- if job.Type != model.ActionModifyColumn || checkErr != nil || job.SchemaState != commitColState {
- return
- }
- if times == 0 {
- _, checkErr = tk1.Exec("commit;")
- }
- times++
- }
- hook.OnJobUpdatedExported.Store(&onJobUpdatedExportedFunc)
- d.SetHook(hook)
-
- tk.MustExec(sql)
- if retErr == nil {
- require.NoError(t, checkErr)
- } else {
- require.Error(t, checkErr)
- require.Contains(t, checkErr.Error(), retErr.Error())
- }
- tk.MustQuery("select * from t1").Check(testkit.Rows(retStrs...))
- tk.MustExec("admin check table t1")
- }
-
- // Testing it needs reorg data.
- ddlStatement := "alter table t1 change column c2 cc smallint;"
- testInsertOnModifyColumn(ddlStatement, model.StateNone, model.StateWriteReorganization, []string{"20 20 20"}, domain.ErrInfoSchemaChanged)
- testInsertOnModifyColumn(ddlStatement, model.StateDeleteOnly, model.StateWriteReorganization, []string{"20 20 20"}, domain.ErrInfoSchemaChanged)
- testInsertOnModifyColumn(ddlStatement, model.StateWriteOnly, model.StateWriteReorganization, []string{"20 20 20"}, domain.ErrInfoSchemaChanged)
- testInsertOnModifyColumn(ddlStatement, model.StateNone, model.StatePublic, []string{"20 20 20"}, domain.ErrInfoSchemaChanged)
- testInsertOnModifyColumn(ddlStatement, model.StateDeleteOnly, model.StatePublic, []string{"20 20 20"}, domain.ErrInfoSchemaChanged)
- testInsertOnModifyColumn(ddlStatement, model.StateWriteOnly, model.StatePublic, []string{"20 20 20"}, domain.ErrInfoSchemaChanged)
-
- // Testing it needs not reorg data. This case only have two states: none, public.
- ddlStatement = "alter table t1 change column c2 cc bigint;"
- testInsertOnModifyColumn(ddlStatement, model.StateNone, model.StateWriteReorganization, []string{"20 20 20"}, nil)
- testInsertOnModifyColumn(ddlStatement, model.StateWriteOnly, model.StateWriteReorganization, []string{"20 20 20"}, nil)
- testInsertOnModifyColumn(ddlStatement, model.StateNone, model.StatePublic, []string{"20 20 20", "101 102 103"}, nil)
- testInsertOnModifyColumn(ddlStatement, model.StateWriteOnly, model.StatePublic, []string{"20 20 20"}, nil)
-}
diff --git a/ddl/column_test.go b/ddl/column_test.go
index cae9a27318dec..e6c48b1121595 100644
--- a/ddl/column_test.go
+++ b/ddl/column_test.go
@@ -959,3 +959,65 @@ func TestGetDefaultValueOfColumn(t *testing.T) {
tk.MustQuery("select * from t1").Check(testkit.RowsWithSep("|", ""+
"1962-03-03 1962-03-03 00:00:00 12:23:23 2020-10-13 2020-03-27"))
}
+
+func TestIssue39080(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("CREATE TABLE t1(id INTEGER PRIMARY KEY, authorId INTEGER AUTO_INCREMENT UNIQUE)")
+
+ tk.MustQuery("show create table t1").Check(testkit.RowsWithSep("|", ""+
+ "t1 CREATE TABLE `t1` (\n"+
+ " `id` int(11) NOT NULL,\n"+
+ " `authorId` int(11) NOT NULL AUTO_INCREMENT,\n"+
+ " PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n"+
+ " UNIQUE KEY `authorId` (`authorId`)\n"+
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
+
+ //Do not affect the specified name
+ tk.MustExec("CREATE TABLE `t2`( `id` INTEGER PRIMARY KEY, `authorId` int(11) AUTO_INCREMENT, UNIQUE KEY `authorIdx` (`authorId`))")
+
+ tk.MustQuery("show create table t2").Check(testkit.RowsWithSep("|", ""+
+ "t2 CREATE TABLE `t2` (\n"+
+ " `id` int(11) NOT NULL,\n"+
+ " `authorId` int(11) NOT NULL AUTO_INCREMENT,\n"+
+ " PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n"+
+ " UNIQUE KEY `authorIdx` (`authorId`)\n"+
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
+}
+
+func TestWriteDataWriteOnlyMode(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomainWithSchemaLease(t, dbTestLease)
+
+ tk := testkit.NewTestKit(t, store)
+ tk2 := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk2.MustExec("use test")
+ tk.MustExec("CREATE TABLE t (`col1` bigint(20) DEFAULT 1,`col2` float,UNIQUE KEY `key1` (`col1`))")
+
+ originalCallback := dom.DDL().GetHook()
+ defer dom.DDL().SetHook(originalCallback)
+
+ hook := &ddl.TestDDLCallback{Do: dom}
+ hook.OnJobRunBeforeExported = func(job *model.Job) {
+ if job.SchemaState != model.StateWriteOnly {
+ return
+ }
+ tk2.MustExec("insert ignore into t values (1, 2)")
+ tk2.MustExec("insert ignore into t values (2, 2)")
+ }
+ dom.DDL().SetHook(hook)
+ tk.MustExec("alter table t change column `col1` `col1` varchar(20)")
+
+ hook = &ddl.TestDDLCallback{Do: dom}
+ hook.OnJobRunBeforeExported = func(job *model.Job) {
+ if job.SchemaState != model.StateWriteOnly {
+ return
+ }
+ tk2.MustExec("insert ignore into t values (1)")
+ tk2.MustExec("insert ignore into t values (2)")
+ }
+ dom.DDL().SetHook(hook)
+ tk.MustExec("alter table t drop column `col1`")
+ dom.DDL().SetHook(originalCallback)
+}
diff --git a/ddl/column_type_change_test.go b/ddl/column_type_change_test.go
index 818d0714080f1..4f79ce7782368 100644
--- a/ddl/column_type_change_test.go
+++ b/ddl/column_type_change_test.go
@@ -1812,8 +1812,7 @@ func TestChangingAttributeOfColumnWithFK(t *testing.T) {
tk.MustExec("use test")
prepare := func() {
- tk.MustExec("drop table if exists users")
- tk.MustExec("drop table if exists orders")
+ tk.MustExec("drop table if exists users, orders")
tk.MustExec("CREATE TABLE users (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, doc JSON);")
tk.MustExec("CREATE TABLE orders (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, doc JSON, FOREIGN KEY fk_user_id (user_id) REFERENCES users(id));")
}
diff --git a/ddl/concurrentddltest/switch_test.go b/ddl/concurrentddltest/switch_test.go
deleted file mode 100644
index d487859260eb2..0000000000000
--- a/ddl/concurrentddltest/switch_test.go
+++ /dev/null
@@ -1,136 +0,0 @@
-// Copyright 2022 PingCAP, Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package concurrentddltest
-
-import (
- "context"
- "fmt"
- "math/rand"
- "testing"
- "time"
-
- "github.com/pingcap/tidb/kv"
- "github.com/pingcap/tidb/meta"
- "github.com/pingcap/tidb/testkit"
- "github.com/pingcap/tidb/util"
- "github.com/stretchr/testify/require"
- "go.uber.org/atomic"
-)
-
-func TestConcurrentDDLSwitch(t *testing.T) {
- store := testkit.CreateMockStore(t)
-
- type table struct {
- columnIdx int
- indexIdx int
- }
-
- var tables []*table
- tblCount := 20
- for i := 0; i < tblCount; i++ {
- tables = append(tables, &table{1, 0})
- }
-
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("use test")
- tk.MustExec("set global tidb_enable_metadata_lock=0")
- tk.MustExec("set @@global.tidb_ddl_reorg_worker_cnt=1")
- tk.MustExec("set @@global.tidb_ddl_reorg_batch_size=32")
-
- for i := range tables {
- tk.MustExec(fmt.Sprintf("create table t%d (col0 int)", i))
- for j := 0; j < 1000; j++ {
- tk.MustExec(fmt.Sprintf("insert into t%d values (%d)", i, j))
- }
- }
-
- ddls := make([]string, 0, tblCount)
- ddlCount := 100
- for i := 0; i < ddlCount; i++ {
- tblIdx := rand.Intn(tblCount)
- if rand.Intn(2) == 0 {
- ddls = append(ddls, fmt.Sprintf("alter table t%d add index idx%d (col0)", tblIdx, tables[tblIdx].indexIdx))
- tables[tblIdx].indexIdx++
- } else {
- ddls = append(ddls, fmt.Sprintf("alter table t%d add column col%d int", tblIdx, tables[tblIdx].columnIdx))
- tables[tblIdx].columnIdx++
- }
- }
-
- c := atomic.NewInt32(0)
- ch := make(chan struct{})
- go func() {
- var wg util.WaitGroupWrapper
- for i := range ddls {
- wg.Add(1)
- go func(idx int) {
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("use test")
- tk.MustExec(ddls[idx])
- c.Add(1)
- wg.Done()
- }(i)
- }
- wg.Wait()
- ch <- struct{}{}
- }()
-
- // sleep 2s to make sure the ddl jobs is into table.
- time.Sleep(2 * time.Second)
- ticker := time.NewTicker(time.Second)
- count := 0
- done := false
- for !done {
- select {
- case <-ch:
- done = true
- case <-ticker.C:
- var b bool
- var err error
- err = kv.RunInNewTxn(kv.WithInternalSourceType(context.Background(), kv.InternalTxnDDL), store, false, func(ctx context.Context, txn kv.Transaction) error {
- b, err = meta.NewMeta(txn).IsConcurrentDDL()
- return err
- })
- require.NoError(t, err)
- rs, err := testkit.NewTestKit(t, store).Exec(fmt.Sprintf("set @@global.tidb_enable_concurrent_ddl=%t", !b))
- if rs != nil {
- require.NoError(t, rs.Close())
- }
- if err == nil {
- count++
- if b {
- tk := testkit.NewTestKit(t, store)
- tk.Session().GetSessionVars().MemQuotaQuery = -1
- tk.MustQuery("select count(*) from mysql.tidb_ddl_job").Check(testkit.Rows("0"))
- tk.MustQuery("select count(*) from mysql.tidb_ddl_reorg").Check(testkit.Rows("0"))
- }
- }
- }
- }
-
- require.Equal(t, int32(ddlCount), c.Load())
- require.Greater(t, count, 0)
-
- tk = testkit.NewTestKit(t, store)
- tk.Session().GetSessionVars().MemQuotaQuery = -1
- tk.MustExec("use test")
- for i, tbl := range tables {
- tk.MustQuery(fmt.Sprintf("select count(*) from information_schema.columns where TABLE_SCHEMA = 'test' and TABLE_NAME = 't%d'", i)).Check(testkit.Rows(fmt.Sprintf("%d", tbl.columnIdx)))
- tk.MustExec(fmt.Sprintf("admin check table t%d", i))
- for j := 0; j < tbl.indexIdx; j++ {
- tk.MustExec(fmt.Sprintf("admin check index t%d idx%d", i, j))
- }
- }
-}
diff --git a/ddl/constant.go b/ddl/constant.go
index bf4d69fb8fd33..3fe6bf4a04ee6 100644
--- a/ddl/constant.go
+++ b/ddl/constant.go
@@ -25,6 +25,10 @@ const (
ReorgTable = "tidb_ddl_reorg"
// HistoryTable stores the history DDL jobs.
HistoryTable = "tidb_ddl_history"
+ // BackfillTable stores the information of backfill jobs.
+ BackfillTable = "tidb_ddl_backfill"
+ // BackfillHistoryTable stores the information of history backfill jobs.
+ BackfillHistoryTable = "tidb_ddl_backfill_history"
// JobTableID is the table ID of `tidb_ddl_job`.
JobTableID = meta.MaxInt48 - 1
@@ -34,6 +38,10 @@ const (
HistoryTableID = meta.MaxInt48 - 3
// MDLTableID is the table ID of `tidb_mdl_info`.
MDLTableID = meta.MaxInt48 - 4
+ // BackfillTableID is the table ID of `tidb_ddl_backfill`.
+ BackfillTableID = meta.MaxInt48 - 5
+ // BackfillHistoryTableID is the table ID of `tidb_ddl_backfill_history`.
+ BackfillHistoryTableID = meta.MaxInt48 - 6
// JobTableSQL is the CREATE TABLE SQL of `tidb_ddl_job`.
JobTableSQL = "create table " + JobTable + "(job_id bigint not null, reorg int, schema_ids text(65535), table_ids text(65535), job_meta longblob, type int, processing int, primary key(job_id))"
@@ -41,4 +49,42 @@ const (
ReorgTableSQL = "create table " + ReorgTable + "(job_id bigint not null, ele_id bigint, ele_type blob, start_key blob, end_key blob, physical_id bigint, reorg_meta longblob, unique key(job_id, ele_id, ele_type(20)))"
// HistoryTableSQL is the CREATE TABLE SQL of `tidb_ddl_history`.
HistoryTableSQL = "create table " + HistoryTable + "(job_id bigint not null, job_meta longblob, db_name char(64), table_name char(64), schema_ids text(65535), table_ids text(65535), create_time datetime, primary key(job_id))"
+ // BackfillTableSQL is the CREATE TABLE SQL of `tidb_ddl_backfill`.
+ BackfillTableSQL = "create table " + BackfillTable + `(
+ id bigint not null,
+ ddl_job_id bigint not null,
+ ele_id bigint not null,
+ ele_key blob,
+ store_id bigint,
+ type int,
+ exec_id blob default null,
+ exec_lease Time,
+ state int,
+ curr_key blob,
+ start_key blob,
+ end_key blob,
+ start_ts bigint,
+ finish_ts bigint,
+ row_count bigint,
+ backfill_meta longblob,
+ unique key(ddl_job_id, ele_id, ele_key(20), id))`
+ // BackfillHistoryTableSQL is the CREATE TABLE SQL of `tidb_ddl_backfill_history`.
+ BackfillHistoryTableSQL = "create table " + BackfillHistoryTable + `(
+ id bigint not null,
+ ddl_job_id bigint not null,
+ ele_id bigint not null,
+ ele_key blob,
+ store_id bigint,
+ type int,
+ exec_id blob default null,
+ exec_lease Time,
+ state int,
+ curr_key blob,
+ start_key blob,
+ end_key blob,
+ start_ts bigint,
+ finish_ts bigint,
+ row_count bigint,
+ backfill_meta longblob,
+ unique key(ddl_job_id, ele_id, ele_key(20), id))`
)
diff --git a/ddl/db_change_test.go b/ddl/db_change_test.go
index d865c970e7f42..da49688ccc608 100644
--- a/ddl/db_change_test.go
+++ b/ddl/db_change_test.go
@@ -1712,6 +1712,14 @@ func TestCreateExpressionIndex(t *testing.T) {
require.NoError(t, checkErr)
tk.MustExec("admin check table t")
tk.MustQuery("select * from t order by a, b").Check(testkit.Rows("0 9", "0 11", "0 11", "1 7", "2 7", "5 7", "8 8", "10 10", "10 10"))
+
+ // https://github.com/pingcap/tidb/issues/39784
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(name varchar(20))")
+ tk.MustExec("insert into t values ('Abc'), ('Bcd'), ('abc')")
+ tk.MustExec("create index idx on test.t((lower(test.t.name)))")
+ tk.MustExec("admin check table t")
}
func TestCreateUniqueExpressionIndex(t *testing.T) {
@@ -1738,8 +1746,6 @@ func TestCreateUniqueExpressionIndex(t *testing.T) {
if checkErr != nil {
return
}
- err := originalCallback.OnChanged(nil)
- require.NoError(t, err)
switch job.SchemaState {
case model.StateDeleteOnly:
for _, sql := range stateDeleteOnlySQLs {
diff --git a/ddl/db_foreign_key_test.go b/ddl/db_foreign_key_test.go
index dc60b53112291..f45db3934d89a 100644
--- a/ddl/db_foreign_key_test.go
+++ b/ddl/db_foreign_key_test.go
@@ -26,8 +26,7 @@ func TestDuplicateForeignKey(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
- tk.MustExec("drop table if exists t")
- tk.MustExec("drop table if exists t1")
+ tk.MustExec("drop table if exists t, t1")
// Foreign table.
tk.MustExec("create table t(id int key)")
// Create target table with duplicate fk.
@@ -38,8 +37,7 @@ func TestDuplicateForeignKey(t *testing.T) {
// Alter target table with duplicate fk.
tk.MustGetErrCode("alter table t1 add CONSTRAINT `fk_aaa` FOREIGN KEY (`id_fk`) REFERENCES `t` (`id`)", mysql.ErrFkDupName)
tk.MustGetErrCode("alter table t1 add CONSTRAINT `fk_aAa` FOREIGN KEY (`id_fk`) REFERENCES `t` (`id`)", mysql.ErrFkDupName)
- tk.MustExec("drop table if exists t")
- tk.MustExec("drop table if exists t1")
+ tk.MustExec("drop table if exists t, t1")
}
func TestTemporaryTableForeignKey(t *testing.T) {
diff --git a/ddl/db_integration_test.go b/ddl/db_integration_test.go
index b7cb35a9f8727..1d482f8cecada 100644
--- a/ddl/db_integration_test.go
+++ b/ddl/db_integration_test.go
@@ -26,6 +26,7 @@ import (
"time"
"github.com/pingcap/errors"
+ _ "github.com/pingcap/tidb/autoid_service"
"github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/ddl"
"github.com/pingcap/tidb/ddl/schematracker"
@@ -2373,11 +2374,49 @@ func TestSqlFunctionsInGeneratedColumns(t *testing.T) {
tk.MustExec("create table t (a int, b int as ((a)))")
}
+func TestSchemaNameAndTableNameInGeneratedExpr(t *testing.T) {
+ store := testkit.CreateMockStore(t, mockstore.WithDDLChecker())
+
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("create database if not exists test")
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+
+ tk.MustExec("create table t(a int, b int as (lower(test.t.a)))")
+ tk.MustQuery("show create table t").Check(testkit.Rows("t CREATE TABLE `t` (\n" +
+ " `a` int(11) DEFAULT NULL,\n" +
+ " `b` int(11) GENERATED ALWAYS AS (lower(`a`)) VIRTUAL\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
+
+ tk.MustExec("drop table t")
+ tk.MustExec("create table t(a int)")
+ tk.MustExec("alter table t add column b int as (lower(test.t.a))")
+ tk.MustQuery("show create table t").Check(testkit.Rows("t CREATE TABLE `t` (\n" +
+ " `a` int(11) DEFAULT NULL,\n" +
+ " `b` int(11) GENERATED ALWAYS AS (lower(`a`)) VIRTUAL\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
+
+ tk.MustGetErrCode("alter table t add index idx((lower(test.t1.a)))", errno.ErrBadField)
+
+ tk.MustExec("drop table t")
+ tk.MustGetErrCode("create table t(a int, b int as (lower(test1.t.a)))", errno.ErrWrongDBName)
+
+ tk.MustExec("create table t(a int)")
+ tk.MustGetErrCode("alter table t add column b int as (lower(test.t1.a))", errno.ErrWrongTableName)
+
+ tk.MustExec("alter table t add column c int")
+ tk.MustGetErrCode("alter table t modify column c int as (test.t1.a + 1) stored", errno.ErrWrongTableName)
+
+ tk.MustExec("alter table t add column d int as (lower(test.T.a))")
+ tk.MustExec("alter table t add column e int as (lower(Test.t.a))")
+}
+
func TestParserIssue284(t *testing.T) {
store := testkit.CreateMockStore(t, mockstore.WithDDLChecker())
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
+ tk.MustExec("set @@foreign_key_checks=0")
tk.MustExec("create table test.t_parser_issue_284(c1 int not null primary key)")
_, err := tk.Exec("create table test.t_parser_issue_284_2(id int not null primary key, c1 int not null, constraint foreign key (c1) references t_parser_issue_284(c1))")
require.NoError(t, err)
@@ -2894,17 +2933,23 @@ func TestAutoIncrementTableOption(t *testing.T) {
tk.MustExec("create database test_auto_inc_table_opt;")
tk.MustExec("use test_auto_inc_table_opt;")
- // Empty auto_inc allocator should not cause error.
- tk.MustExec("create table t (a bigint primary key clustered) auto_increment = 10;")
- tk.MustExec("alter table t auto_increment = 10;")
- tk.MustExec("alter table t auto_increment = 12345678901234567890;")
-
- // Rebase the auto_inc allocator to a large integer should work.
- tk.MustExec("drop table t;")
- tk.MustExec("create table t (a bigint unsigned auto_increment, unique key idx(a));")
- tk.MustExec("alter table t auto_increment = 12345678901234567890;")
- tk.MustExec("insert into t values ();")
- tk.MustQuery("select * from t;").Check(testkit.Rows("12345678901234567890"))
+ for _, str := range []string{"", " AUTO_ID_CACHE 1"} {
+ // Empty auto_inc allocator should not cause error.
+ tk.MustExec("create table t (a bigint primary key clustered) auto_increment = 10" + str)
+ tk.MustExec("alter table t auto_increment = 10;")
+ tk.MustExec("alter table t auto_increment = 12345678901234567890;")
+ tk.MustExec("drop table t;")
+
+ // Rebase the auto_inc allocator to a large integer should work.
+ tk.MustExec("create table t (a bigint unsigned auto_increment, unique key idx(a))" + str)
+ // Set auto_inc to negative is not supported
+ err := tk.ExecToErr("alter table t auto_increment = -1;")
+ require.Error(t, err)
+ tk.MustExec("alter table t auto_increment = 12345678901234567890;")
+ tk.MustExec("insert into t values ();")
+ tk.MustQuery("select * from t;").Check(testkit.Rows("12345678901234567890"))
+ tk.MustExec("drop table t;")
+ }
}
func TestAutoIncrementForce(t *testing.T) {
@@ -2919,8 +2964,9 @@ func TestAutoIncrementForce(t *testing.T) {
require.NoError(t, err)
return gid
}
+
// Rebase _tidb_row_id.
- tk.MustExec("create table t (a int);")
+ tk.MustExec("create table t (a int)")
tk.MustExec("alter table t force auto_increment = 2;")
tk.MustExec("insert into t values (1),(2);")
tk.MustQuery("select a, _tidb_rowid from t;").Check(testkit.Rows("1 2", "2 3"))
@@ -2932,10 +2978,10 @@ func TestAutoIncrementForce(t *testing.T) {
tk.MustExec("insert into t values (3);")
require.Equal(t, "[kv:1062]Duplicate entry '2' for key 't.PRIMARY'", tk.ExecToErr("insert into t values (3);").Error())
tk.MustQuery("select a, _tidb_rowid from t;").Check(testkit.Rows("3 1", "1 2", "2 3"))
+ tk.MustExec("drop table if exists t;")
// Rebase auto_increment.
- tk.MustExec("drop table if exists t;")
- tk.MustExec("create table t (a int primary key auto_increment, b int);")
+ tk.MustExec("create table t (a int primary key auto_increment, b int)")
tk.MustExec("insert into t values (1, 1);")
tk.MustExec("insert into t values (100000000, 1);")
tk.MustExec("delete from t where a = 100000000;")
@@ -2946,10 +2992,10 @@ func TestAutoIncrementForce(t *testing.T) {
require.Equal(t, uint64(2), getNextGlobalID())
tk.MustExec("insert into t(b) values (2);")
tk.MustQuery("select a, b from t;").Check(testkit.Rows("1 1", "2 2"))
+ tk.MustExec("drop table if exists t;")
// Rebase auto_random.
- tk.MustExec("drop table if exists t;")
- tk.MustExec("create table t (a bigint primary key auto_random(5));")
+ tk.MustExec("create table t (a bigint primary key auto_random(5))")
tk.MustExec("insert into t values ();")
tk.MustExec("set @@allow_auto_random_explicit_insert = true")
tk.MustExec("insert into t values (100000000);")
@@ -2961,14 +3007,15 @@ func TestAutoIncrementForce(t *testing.T) {
require.Equal(t, uint64(2), getNextGlobalID())
tk.MustExec("insert into t values ();")
tk.MustQuery("select (a & 3) from t order by 1;").Check(testkit.Rows("1", "2"))
+ tk.MustExec("drop table if exists t;")
// Change next global ID.
- tk.MustExec("drop table if exists t;")
- tk.MustExec("create table t (a bigint primary key auto_increment);")
+ tk.MustExec("create table t (a bigint primary key auto_increment)")
tk.MustExec("insert into t values (1);")
bases := []uint64{1, 65535, 10, math.MaxUint64, math.MaxInt64 + 1, 1, math.MaxUint64, math.MaxInt64, 2}
lastBase := fmt.Sprintf("%d", bases[len(bases)-1])
for _, b := range bases {
+ fmt.Println("execute alter table force increment to ==", b)
tk.MustExec(fmt.Sprintf("alter table t force auto_increment = %d;", b))
require.Equal(t, b, getNextGlobalID())
}
@@ -2976,7 +3023,7 @@ func TestAutoIncrementForce(t *testing.T) {
tk.MustQuery("select a from t;").Check(testkit.Rows("1", lastBase))
// Force alter unsigned int auto_increment column.
tk.MustExec("drop table if exists t;")
- tk.MustExec("create table t (a bigint unsigned primary key auto_increment);")
+ tk.MustExec("create table t (a bigint unsigned primary key auto_increment)")
for _, b := range bases {
tk.MustExec(fmt.Sprintf("alter table t force auto_increment = %d;", b))
require.Equal(t, b, getNextGlobalID())
@@ -2984,10 +3031,10 @@ func TestAutoIncrementForce(t *testing.T) {
tk.MustQuery("select a from t;").Check(testkit.Rows(fmt.Sprintf("%d", b)))
tk.MustExec("delete from t;")
}
+ tk.MustExec("drop table if exists t;")
// Force alter with @@auto_increment_increment and @@auto_increment_offset.
- tk.MustExec("drop table if exists t;")
- tk.MustExec("create table t(a int key auto_increment);")
+ tk.MustExec("create table t(a int key auto_increment)")
tk.MustExec("set @@auto_increment_offset=2;")
tk.MustExec("set @@auto_increment_increment = 11;")
tk.MustExec("insert into t values (500);")
@@ -3015,6 +3062,135 @@ func TestAutoIncrementForce(t *testing.T) {
tk.MustExec("drop table t")
}
+func TestAutoIncrementForceAutoIDCache(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("drop database if exists auto_inc_force;")
+ tk.MustExec("create database auto_inc_force;")
+ tk.MustExec("use auto_inc_force;")
+ getNextGlobalID := func() uint64 {
+ gidStr := tk.MustQuery("show table t next_row_id").Rows()[0][3]
+ gid, err := strconv.ParseUint(gidStr.(string), 10, 64)
+ require.NoError(t, err)
+ return gid
+ }
+
+ // When AUTO_ID_CACHE is 1, row id and auto increment id use separate allocator, so the behaviour differs.
+ // "Alter table t force auto_increment" has no effect on row id.
+ tk.MustExec("create table t (a int) AUTO_ID_CACHE 1")
+ tk.MustExec("alter table t force auto_increment = 2;")
+ tk.MustExec("insert into t values (1),(2);")
+ tk.MustQuery("select a, _tidb_rowid from t;").Check(testkit.Rows("1 1", "2 2"))
+ // Cannot set next global ID to 0.
+ tk.MustExec("alter table t force auto_increment = 0;")
+ tk.MustExec("alter table t force auto_increment = 1;")
+ tk.MustQuery("show table t next_row_id").Check(testkit.Rows(
+ "auto_inc_force t _tidb_rowid 5001 _TIDB_ROWID",
+ ))
+
+ // inserting new rows can overwrite the existing data.
+ tk.MustExec("insert into t values (3);")
+ tk.MustExec("insert into t values (3);")
+ tk.MustQuery("select a, _tidb_rowid from t;").Check(testkit.Rows("1 1", "2 2", "3 5001", "3 5002"))
+ tk.MustExec("drop table if exists t;")
+
+ // Rebase auto_increment.
+ tk.MustExec("create table t (a int primary key auto_increment, b int) AUTO_ID_CACHE 1")
+ tk.MustExec("insert into t values (1, 1);")
+ tk.MustExec("insert into t values (100000000, 1);")
+ tk.MustExec("delete from t where a = 100000000;")
+ tk.MustQuery("show table t next_row_id").Check(testkit.Rows(
+ "auto_inc_force t a 1 _TIDB_ROWID",
+ "auto_inc_force t a 100000001 AUTO_INCREMENT",
+ ))
+ // Cannot set next global ID to 0.
+ tk.MustGetErrCode("alter table t /*T![force_inc] force */ auto_increment = 0;", errno.ErrAutoincReadFailed)
+ tk.MustExec("alter table t /*T![force_inc] force */ auto_increment = 2;")
+ tk.MustQuery("show table t next_row_id").Check(testkit.Rows(
+ "auto_inc_force t a 1 _TIDB_ROWID",
+ "auto_inc_force t a 2 AUTO_INCREMENT",
+ ))
+
+ tk.MustExec("insert into t(b) values (2);")
+ tk.MustQuery("select a, b from t;").Check(testkit.Rows("1 1", "2 2"))
+ tk.MustExec("drop table if exists t;")
+
+ // Rebase auto_random.
+ tk.MustExec("create table t (a bigint primary key auto_random(5)) AUTO_ID_CACHE 1")
+ tk.MustExec("insert into t values ();")
+ tk.MustExec("set @@allow_auto_random_explicit_insert = true")
+ tk.MustExec("insert into t values (100000000);")
+ tk.MustExec("delete from t where a = 100000000;")
+ require.Greater(t, getNextGlobalID(), uint64(100000000))
+ // Cannot set next global ID to 0.
+ tk.MustGetErrCode("alter table t force auto_random_base = 0;", errno.ErrAutoincReadFailed)
+ tk.MustExec("alter table t force auto_random_base = 2;")
+ require.Equal(t, uint64(2), getNextGlobalID())
+ tk.MustExec("insert into t values ();")
+ tk.MustQuery("select (a & 3) from t order by 1;").Check(testkit.Rows("1", "2"))
+ tk.MustExec("drop table if exists t;")
+
+ // Change next global ID.
+ tk.MustExec("create table t (a bigint primary key auto_increment) AUTO_ID_CACHE 1")
+ tk.MustExec("insert into t values (1);")
+ bases := []uint64{1, 65535, 10, math.MaxUint64, math.MaxInt64 + 1, 1, math.MaxUint64, math.MaxInt64, 2}
+ lastBase := fmt.Sprintf("%d", bases[len(bases)-1])
+ for _, b := range bases {
+ fmt.Println("execute alter table force increment to ==", b)
+ tk.MustExec(fmt.Sprintf("alter table t force auto_increment = %d;", b))
+ tk.MustQuery("show table t next_row_id").Check(testkit.Rows(
+ "auto_inc_force t a 1 _TIDB_ROWID",
+ fmt.Sprintf("auto_inc_force t a %d AUTO_INCREMENT", b),
+ ))
+ }
+ tk.MustExec("insert into t values ();")
+ tk.MustQuery("select a from t;").Check(testkit.Rows("1", lastBase))
+ // Force alter unsigned int auto_increment column.
+ tk.MustExec("drop table if exists t;")
+ tk.MustExec("create table t (a bigint unsigned primary key auto_increment) AUTO_ID_CACHE 1")
+ for _, b := range bases {
+ tk.MustExec(fmt.Sprintf("alter table t force auto_increment = %d;", b))
+ tk.MustQuery("show table t next_row_id").Check(testkit.Rows(
+ "auto_inc_force t a 1 _TIDB_ROWID",
+ fmt.Sprintf("auto_inc_force t a %d AUTO_INCREMENT", b),
+ ))
+ tk.MustExec("insert into t values ();")
+ tk.MustQuery("select a from t;").Check(testkit.Rows(fmt.Sprintf("%d", b)))
+ tk.MustExec("delete from t;")
+ }
+ tk.MustExec("drop table if exists t;")
+
+ // Force alter with @@auto_increment_increment and @@auto_increment_offset.
+ tk.MustExec("create table t(a int key auto_increment) AUTO_ID_CACHE 1")
+ tk.MustExec("set @@auto_increment_offset=2;")
+ tk.MustExec("set @@auto_increment_increment = 11;")
+ tk.MustExec("insert into t values (500);")
+ tk.MustExec("alter table t force auto_increment=100;")
+ tk.MustExec("insert into t values (), ();")
+ tk.MustQuery("select * from t;").Check(testkit.Rows("101", "112", "500"))
+ tk.MustQuery("select * from t order by a;").Check(testkit.Rows("101", "112", "500"))
+ tk.MustExec("drop table if exists t;")
+
+ // Check for warning in case we can't set the auto_increment to the desired value
+ tk.MustExec("create table t(a int primary key auto_increment) AUTO_ID_CACHE 1")
+ tk.MustExec("insert into t values (200)")
+ tk.MustQuery("show create table t").Check(testkit.Rows(
+ "t CREATE TABLE `t` (\n" +
+ " `a` int(11) NOT NULL AUTO_INCREMENT,\n" +
+ " PRIMARY KEY (`a`) /*T![clustered_index] CLUSTERED */\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![auto_id_cache] AUTO_ID_CACHE=1 */"))
+ tk.MustExec("alter table t auto_increment=100;")
+ tk.MustQuery("show warnings").Check(testkit.Rows("Warning 1105 Can't reset AUTO_INCREMENT to 100 without FORCE option, using 201 instead"))
+ tk.MustExec("insert into t values ()")
+ tk.MustQuery("select * from t").Check(testkit.Rows("200", "211"))
+ tk.MustQuery("show create table t").Check(testkit.Rows(
+ "t CREATE TABLE `t` (\n" +
+ " `a` int(11) NOT NULL AUTO_INCREMENT,\n" +
+ " PRIMARY KEY (`a`) /*T![clustered_index] CLUSTERED */\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![auto_id_cache] AUTO_ID_CACHE=1 */"))
+ tk.MustExec("drop table t")
+}
+
func TestIssue20490(t *testing.T) {
store := testkit.CreateMockStore(t, mockstore.WithDDLChecker())
diff --git a/ddl/db_partition_test.go b/ddl/db_partition_test.go
index e5ad2aa2bbfec..6be12283c920a 100644
--- a/ddl/db_partition_test.go
+++ b/ddl/db_partition_test.go
@@ -1409,7 +1409,7 @@ func TestAlterTableDropPartitionByList(t *testing.T) {
);`)
tk.MustExec(`insert into t values (1),(3),(5),(null)`)
tk.MustExec(`alter table t drop partition p1`)
- tk.MustQuery("select * from t").Sort().Check(testkit.Rows("1", "5", ""))
+ tk.MustQuery("select * from t order by id").Check(testkit.Rows("", "1", "5"))
ctx := tk.Session()
is := domain.GetDomain(ctx).InfoSchema()
tbl, err := is.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
@@ -2246,14 +2246,6 @@ func TestExchangePartitionTableCompatiable(t *testing.T) {
"alter table pt8 exchange partition p0 with table nt8;",
dbterror.ErrTablesDifferentMetadata,
},
- {
- // foreign key test
- // Partition table doesn't support to add foreign keys in mysql
- "create table pt9 (id int not null primary key auto_increment,t_id int not null) partition by hash(id) partitions 1;",
- "create table nt9 (id int not null primary key auto_increment, t_id int not null,foreign key fk_id (t_id) references pt5(id));",
- "alter table pt9 exchange partition p0 with table nt9;",
- dbterror.ErrPartitionExchangeForeignKey,
- },
{
// Generated column (virtual)
"create table pt10 (id int not null, lname varchar(30), fname varchar(100) generated always as (concat(lname,' ')) virtual) partition by hash(id) partitions 1;",
@@ -4536,136 +4528,6 @@ func TestPartitionTableWithAnsiQuotes(t *testing.T) {
` PARTITION "pMax" VALUES LESS THAN (MAXVALUE,MAXVALUE))`))
}
-func TestAlterModifyColumnOnPartitionedTable(t *testing.T) {
- store := testkit.CreateMockStore(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("create database AlterPartTable")
- tk.MustExec("use AlterPartTable")
- tk.MustExec(`create table t (a int unsigned PRIMARY KEY, b varchar(255), key (b))`)
- tk.MustExec(`insert into t values (7, "07"), (8, "08"),(23,"23"),(34,"34💥"),(46,"46"),(57,"57")`)
- tk.MustQuery(`show create table t`).Check(testkit.Rows(
- "t CREATE TABLE `t` (\n" +
- " `a` int(10) unsigned NOT NULL,\n" +
- " `b` varchar(255) DEFAULT NULL,\n" +
- " PRIMARY KEY (`a`) /*T![clustered_index] CLUSTERED */,\n" +
- " KEY `b` (`b`)\n" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
- // TODO: Why does it allow 💥 as a latin1 character?
- tk.MustQuery(`select hex(b) from t where a = 34`).Check(testkit.Rows("3334F09F92A5"))
- tk.MustExec(`alter table t modify b varchar(200) charset latin1`)
- tk.MustQuery(`show create table t`).Check(testkit.Rows(
- "t CREATE TABLE `t` (\n" +
- " `a` int(10) unsigned NOT NULL,\n" +
- " `b` varchar(200) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,\n" +
- " PRIMARY KEY (`a`) /*T![clustered_index] CLUSTERED */,\n" +
- " KEY `b` (`b`)\n" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
- tk.MustQuery(`select hex(b) from t where a = 34`).Check(testkit.Rows("3334F09F92A5"))
- tk.MustQuery(`select * from t`).Sort().Check(testkit.Rows(""+
- "23 23",
- "34 34💥",
- "46 46",
- "57 57",
- "7 07",
- "8 08"))
- tk.MustQuery(`select * from t order by b`).Check(testkit.Rows(""+
- "7 07",
- "8 08",
- "23 23",
- "34 34💥",
- "46 46",
- "57 57"))
- tk.MustExec(`alter table t change b c varchar(200) charset utf8mb4`)
- tk.MustExec(`drop table t`)
- tk.MustExec(`create table t (a int unsigned PRIMARY KEY, b varchar(255), key (b)) partition by range (a) ` +
- `(partition p0 values less than (10),` +
- ` partition p1 values less than (20),` +
- ` partition p2 values less than (30),` +
- ` partition pMax values less than (MAXVALUE))`)
- tk.MustExec(`insert into t values (7, "07"), (8, "08"),(23,"23"),(34,"34💥"),(46,"46"),(57,"57")`)
- tk.MustQuery(`select * from t`).Sort().Check(testkit.Rows(""+
- "23 23",
- "34 34💥",
- "46 46",
- "57 57",
- "7 07",
- "8 08"))
- tk.MustQuery(`select * from t order by b`).Check(testkit.Rows(""+
- "7 07",
- "8 08",
- "23 23",
- "34 34💥",
- "46 46",
- "57 57"))
- tk.MustQuery(`show create table t`).Check(testkit.Rows(
- "t CREATE TABLE `t` (\n" +
- " `a` int(10) unsigned NOT NULL,\n" +
- " `b` varchar(255) DEFAULT NULL,\n" +
- " PRIMARY KEY (`a`) /*T![clustered_index] CLUSTERED */,\n" +
- " KEY `b` (`b`)\n" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin\n" +
- "PARTITION BY RANGE (`a`)\n" +
- "(PARTITION `p0` VALUES LESS THAN (10),\n" +
- " PARTITION `p1` VALUES LESS THAN (20),\n" +
- " PARTITION `p2` VALUES LESS THAN (30),\n" +
- " PARTITION `pMax` VALUES LESS THAN (MAXVALUE))"))
- tk.MustExec(`alter table t modify b varchar(200) charset latin1`)
- tk.MustQuery(`show create table t`).Check(testkit.Rows(
- "t CREATE TABLE `t` (\n" +
- " `a` int(10) unsigned NOT NULL,\n" +
- " `b` varchar(200) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,\n" +
- " PRIMARY KEY (`a`) /*T![clustered_index] CLUSTERED */,\n" +
- " KEY `b` (`b`)\n" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin\n" +
- "PARTITION BY RANGE (`a`)\n" +
- "(PARTITION `p0` VALUES LESS THAN (10),\n" +
- " PARTITION `p1` VALUES LESS THAN (20),\n" +
- " PARTITION `p2` VALUES LESS THAN (30),\n" +
- " PARTITION `pMax` VALUES LESS THAN (MAXVALUE))"))
- tk.MustQuery(`select * from t`).Sort().Check(testkit.Rows(""+
- "23 23",
- "34 34💥",
- "46 46",
- "57 57",
- "7 07",
- "8 08"))
- tk.MustQuery(`select * from t order by b`).Check(testkit.Rows(""+
- "7 07",
- "8 08",
- "23 23",
- "34 34💥",
- "46 46",
- "57 57"))
- tk.MustExec(`alter table t change b c varchar(150) charset utf8mb4`)
- tk.MustQuery(`show create table t`).Check(testkit.Rows(
- "t CREATE TABLE `t` (\n" +
- " `a` int(10) unsigned NOT NULL,\n" +
- " `c` varchar(150) DEFAULT NULL,\n" +
- " PRIMARY KEY (`a`) /*T![clustered_index] CLUSTERED */,\n" +
- " KEY `b` (`c`)\n" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin\n" +
- "PARTITION BY RANGE (`a`)\n" +
- "(PARTITION `p0` VALUES LESS THAN (10),\n" +
- " PARTITION `p1` VALUES LESS THAN (20),\n" +
- " PARTITION `p2` VALUES LESS THAN (30),\n" +
- " PARTITION `pMax` VALUES LESS THAN (MAXVALUE))"))
- tk.MustQuery(`select * from t`).Sort().Check(testkit.Rows(""+
- "23 23",
- "34 34💥",
- "46 46",
- "57 57",
- "7 07",
- "8 08"))
- tk.MustQuery(`select * from t order by c`).Check(testkit.Rows(""+
- "7 07",
- "8 08",
- "23 23",
- "34 34💥",
- "46 46",
- "57 57"))
- tk.MustGetErrCode(`alter table t modify a varchar(20)`, errno.ErrUnsupportedDDLOperation)
-}
-
func TestAlterModifyColumnOnPartitionedTableRename(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
@@ -4673,94 +4535,49 @@ func TestAlterModifyColumnOnPartitionedTableRename(t *testing.T) {
tk.MustExec("create database " + schemaName)
tk.MustExec("use " + schemaName)
tk.MustExec(`create table t (a int, b char) partition by range (a) (partition p0 values less than (10))`)
- tk.MustContainErrMsg(`alter table t change a c int`, "[planner:1054]Unknown column 'a' in 'expression'")
+ tk.MustContainErrMsg(`alter table t change a c int`, "[ddl:3855]Column 'a' has a partitioning function dependency and cannot be dropped or renamed")
tk.MustExec(`drop table t`)
tk.MustExec(`create table t (a char, b char) partition by range columns (a) (partition p0 values less than ('z'))`)
- tk.MustContainErrMsg(`alter table t change a c char`, "[ddl:8200]New column does not match partition definitions: [ddl:1567]partition column name cannot be found")
+ tk.MustContainErrMsg(`alter table t change a c char`, "[ddl:3855]Column 'a' has a partitioning function dependency and cannot be dropped or renamed")
tk.MustExec(`drop table t`)
tk.MustExec(`create table t (a int, b char) partition by list (a) (partition p0 values in (10))`)
- tk.MustContainErrMsg(`alter table t change a c int`, "[planner:1054]Unknown column 'a' in 'expression'")
+ tk.MustContainErrMsg(`alter table t change a c int`, "[ddl:3855]Column 'a' has a partitioning function dependency and cannot be dropped or renamed")
tk.MustExec(`drop table t`)
tk.MustExec(`create table t (a char, b char) partition by list columns (a) (partition p0 values in ('z'))`)
- tk.MustContainErrMsg(`alter table t change a c char`, "[ddl:8200]New column does not match partition definitions: [ddl:1567]partition column name cannot be found")
+ tk.MustContainErrMsg(`alter table t change a c char`, "[ddl:3855]Column 'a' has a partitioning function dependency and cannot be dropped or renamed")
tk.MustExec(`drop table t`)
tk.MustExec(`create table t (a int, b char) partition by hash (a) partitions 3`)
- tk.MustContainErrMsg(`alter table t change a c int`, "[planner:1054]Unknown column 'a' in 'expression'")
+ tk.MustContainErrMsg(`alter table t change a c int`, "[ddl:3855]Column 'a' has a partitioning function dependency and cannot be dropped or renamed")
}
-func TestAlterModifyColumnOnPartitionedTableFail(t *testing.T) {
+func TestDropPartitionKeyColumn(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
- schemaName := "modColPartFail"
- tk.MustExec("create database " + schemaName)
- tk.MustExec("use " + schemaName)
- tk.MustExec(`create table t (a int unsigned, b varchar(255), key (b)) partition by range (a) (partition p0 values less than (10), partition p1 values less than (20), partition pMax values less than (MAXVALUE))`)
- tk.MustExec(`insert into t values (7, "07"), (8, "08"),(23,"23"),(34,"34💥"),(46,"46"),(57,"57")`)
- tk.MustGetErrCode(`alter table t modify a varchar(255)`, errno.ErrUnsupportedDDLOperation)
- tk.MustGetErrCode(`alter table t modify a float`, mysql.ErrFieldTypeNotAllowedAsPartitionField)
- tk.MustExec(`drop table t`)
- tk.MustExec(`create table t (b int unsigned, a varchar(255), key (b)) partition by range columns (a) (partition p0 values less than (""), partition p1 values less than ("11111"), partition pMax values less than (MAXVALUE))`)
- tk.MustExec(`insert into t values (7, "07"), (8, "08"),(23,"23"),(34,"34 💥💥Longer than 11111"),(46,"46"),(57,"57")`)
- tk.MustExec(`alter table t modify a varchar(50)`)
- tk.MustGetErrCode(`alter table t modify a float`, mysql.ErrFieldTypeNotAllowedAsPartitionField)
- tk.MustGetErrCode(`alter table t modify a int`, errno.ErrUnsupportedDDLOperation)
- tk.MustContainErrMsg(`alter table t modify a varchar(4)`, "[ddl:8200]New column does not match partition definitions: [ddl:1654]Partition column values of incorrect type")
- tk.MustGetErrCode(`alter table t modify a varchar(5)`, errno.WarnDataTruncated)
- tk.MustExec(`SET SQL_MODE = ''`)
- tk.MustExec(`alter table t modify a varchar(5)`)
- // fix https://github.com/pingcap/tidb/issues/38669 and update this
- tk.MustQuery(`show warnings`).Check(testkit.Rows())
- tk.MustExec(`SET SQL_MODE = DEFAULT`)
- tk.MustQuery(`select * from t`).Sort().Check(testkit.Rows(""+
- "23 23",
- "34 34 💥💥",
- "46 46",
- "57 57",
- "7 07",
- "8 08"))
- tStr := "" +
- "CREATE TABLE `t` (\n" +
- " `b` int(10) unsigned DEFAULT NULL,\n" +
- " `a` varchar(5) DEFAULT NULL,\n" +
- " KEY `b` (`b`)\n" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin\n" +
- "PARTITION BY RANGE COLUMNS(`a`)\n" +
- "(PARTITION `p0` VALUES LESS THAN (''),\n" +
- " PARTITION `p1` VALUES LESS THAN ('11111'),\n" +
- " PARTITION `pMax` VALUES LESS THAN (MAXVALUE))"
- tk.MustQuery(`show create table t`).Check(testkit.Rows("t " + tStr))
- tk.MustExec(`drop table t`)
- tk.MustExec(tStr)
- tk.MustExec(`drop table t`)
- tk.MustExec("create table t (a int, b varchar(255), key (b)) partition by range (a) (partition `p-300` values less than (-300), partition p0 values less than (0), partition p300 values less than (300))")
- tk.MustExec(`insert into t values (-400, "-400"), (-100, "-100"), (0, "0"), (100, "100"), (290, "290")`)
- tk.MustContainErrMsg(`alter table t modify a int unsigned`, "[ddl:8200]Unsupported modify column, decreasing length of int may result in truncation and change of partition")
- tk.MustContainErrMsg(`alter table t modify a tinyint`, "[ddl:8200]Unsupported modify column, decreasing length of int may result in truncation and change of partition")
- tk.MustExec(`set sql_mode = ''`)
- tk.MustContainErrMsg(`alter table t modify a tinyint`, "[ddl:8200]Unsupported modify column, decreasing length of int may result in truncation and change of partition")
- tk.MustQuery("select * from t partition (`p-300`)").Sort().Check(testkit.Rows("-400 -400"))
- tk.MustExec(`set sql_mode = default`)
- tk.MustContainErrMsg(`alter table t modify a smallint`, "[ddl:8200]Unsupported modify column, decreasing length of int may result in truncation and change of partition")
- tk.MustExec(`alter table t modify a bigint`)
- tk.MustExec(`drop table t`)
- tk.MustExec("create table t (a int, b varchar(255), key (b)) partition by range columns (a) (partition `p-300` values less than (-300), partition p0 values less than (0), partition p300 values less than (300))")
- tk.MustExec(`insert into t values (-400, "-400"), (-100, "-100"), (0, "0"), (100, "100"), (290, "290")`)
- tk.MustContainErrMsg(`alter table t modify a int unsigned`, "[ddl:8200]Unsupported modify column: can't change the partitioning column, since it would require reorganize all partitions")
- tk.MustContainErrMsg(`alter table t modify a tinyint`, "[ddl:8200]New column does not match partition definitions: [ddl:1654]Partition column values of incorrect type")
- tk.MustExec(`set sql_mode = ''`)
- tk.MustContainErrMsg(`alter table t modify a tinyint`, "[ddl:8200]New column does not match partition definitions: [ddl:1654]Partition column values of incorrect type")
- tk.MustQuery("select * from t partition (`p-300`)").Sort().Check(testkit.Rows("-400 -400"))
- tk.MustExec(`set sql_mode = default`)
- // OK to decrease, since with RANGE COLUMNS, it will check the partition definition values against the new type
- tk.MustExec(`alter table t modify a smallint`)
- tk.MustExec(`alter table t modify a bigint`)
+ tk.MustExec("create database DropPartitionKeyColumn")
+ defer tk.MustExec("drop database DropPartitionKeyColumn")
+ tk.MustExec("use DropPartitionKeyColumn")
- tk.MustExec(`drop table t`)
+ tk.MustExec("create table t1 (a tinyint, b char) partition by range (a) ( partition p0 values less than (10) )")
+ err := tk.ExecToErr("alter table t1 drop column a")
+ require.Error(t, err)
+ require.Equal(t, "[ddl:3855]Column 'a' has a partitioning function dependency and cannot be dropped or renamed", err.Error())
+ tk.MustExec("alter table t1 drop column b")
+
+ tk.MustExec("create table t2 (a tinyint, b char) partition by range (a-1) ( partition p0 values less than (10) )")
+ err = tk.ExecToErr("alter table t2 drop column a")
+ require.Error(t, err)
+ require.Equal(t, "[ddl:3855]Column 'a' has a partitioning function dependency and cannot be dropped or renamed", err.Error())
+ tk.MustExec("alter table t2 drop column b")
+
+ tk.MustExec("create table t3 (a tinyint, b char) partition by hash(a) partitions 4;")
+ err = tk.ExecToErr("alter table t3 drop column a")
+ require.Error(t, err)
+ require.Equal(t, "[ddl:3855]Column 'a' has a partitioning function dependency and cannot be dropped or renamed", err.Error())
+ tk.MustExec("alter table t3 drop column b")
- tk.MustExec(`create table t (a int, b varchar(255), key (b)) partition by list columns (b) (partition p1 values in ("1", "ab", "12345"), partition p2 values in ("2", "abc", "999999"))`)
- tk.MustExec(`insert into t values (1, "1"), (2, "2"), (999999, "999999")`)
- tk.MustContainErrMsg(`alter table t modify column b varchar(5)`, "[ddl:8200]New column does not match partition definitions: [ddl:1654]Partition column values of incorrect type")
- tk.MustExec(`set sql_mode = ''`)
- tk.MustContainErrMsg(`alter table t modify column b varchar(5)`, "[ddl:8200]New column does not match partition definitions: [ddl:1654]Partition column values of incorrect type")
- tk.MustExec(`set sql_mode = default`)
+ tk.MustExec("create table t4 (a char, b char) partition by list columns (a) ( partition p0 values in ('0'), partition p1 values in ('a'), partition p2 values in ('b'));")
+ err = tk.ExecToErr("alter table t4 drop column a")
+ require.Error(t, err)
+ require.Equal(t, "[ddl:3855]Column 'a' has a partitioning function dependency and cannot be dropped or renamed", err.Error())
+ tk.MustExec("alter table t4 drop column b")
}
diff --git a/ddl/db_table_test.go b/ddl/db_table_test.go
index 2771a06ecc291..59d46206c0831 100644
--- a/ddl/db_table_test.go
+++ b/ddl/db_table_test.go
@@ -51,7 +51,7 @@ func TestTableForeignKey(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
- tk.MustExec("create table t1 (a int, b int);")
+ tk.MustExec("create table t1 (a int, b int, index(a), index(b));")
// test create table with foreign key.
failSQL := "create table t2 (c int, foreign key (a) references t1(a));"
tk.MustGetErrCode(failSQL, errno.ErrKeyColumnDoesNotExits)
@@ -871,8 +871,7 @@ func TestDDLWithInvalidTableInfo(t *testing.T) {
tk.MustExec("create table t (a bigint, b int, c int generated always as (b+1)) partition by hash(a) partitions 4;")
// Test drop partition column.
- // TODO: refine the error message to compatible with MySQL
- tk.MustGetErrMsg("alter table t drop column a;", "[planner:1054]Unknown column 'a' in 'expression'")
+ tk.MustGetErrMsg("alter table t drop column a;", "[ddl:3855]Column 'a' has a partitioning function dependency and cannot be dropped or renamed")
// Test modify column with invalid expression.
tk.MustGetErrMsg("alter table t modify column c int GENERATED ALWAYS AS ((case when (a = 0) then 0when (a > 0) then (b / a) end));", "[parser:1064]You have an error in your SQL syntax; check the manual that corresponds to your TiDB version for the right syntax to use line 1 column 97 near \"then (b / a) end));\" ")
// Test add column with invalid expression.
diff --git a/ddl/db_test.go b/ddl/db_test.go
index 207aad4e0f116..3380af7e0a2c5 100644
--- a/ddl/db_test.go
+++ b/ddl/db_test.go
@@ -20,6 +20,7 @@ import (
"math"
"strconv"
"strings"
+ "sync"
"testing"
"time"
@@ -40,7 +41,6 @@ import (
"github.com/pingcap/tidb/parser/terror"
parsertypes "github.com/pingcap/tidb/parser/types"
"github.com/pingcap/tidb/planner/core"
- "github.com/pingcap/tidb/session"
"github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/sessiontxn"
"github.com/pingcap/tidb/store/mockstore"
@@ -54,7 +54,6 @@ import (
"github.com/stretchr/testify/require"
"github.com/tikv/client-go/v2/oracle"
"github.com/tikv/client-go/v2/tikv"
- "golang.org/x/exp/slices"
)
const (
@@ -898,11 +897,11 @@ func TestAutoIncrementIDOnTemporaryTable(t *testing.T) {
tk.MustExec("drop table if exists global_temp_auto_id")
tk.MustExec("create global temporary table global_temp_auto_id(id int primary key auto_increment) on commit delete rows")
tk.MustExec("begin")
- tk.MustQuery("show table global_temp_auto_id next_row_id").Check(testkit.Rows("test global_temp_auto_id id 1 AUTO_INCREMENT"))
+ tk.MustQuery("show table global_temp_auto_id next_row_id").Check(testkit.Rows("test global_temp_auto_id id 1 _TIDB_ROWID"))
tk.MustExec("insert into global_temp_auto_id value(null)")
tk.MustQuery("select @@last_insert_id").Check(testkit.Rows("1"))
tk.MustQuery("select id from global_temp_auto_id").Check(testkit.Rows("1"))
- tk.MustQuery("show table global_temp_auto_id next_row_id").Check(testkit.Rows("test global_temp_auto_id id 2 AUTO_INCREMENT"))
+ tk.MustQuery("show table global_temp_auto_id next_row_id").Check(testkit.Rows("test global_temp_auto_id id 2 _TIDB_ROWID"))
tk.MustExec("commit")
tk.MustExec("drop table global_temp_auto_id")
@@ -914,12 +913,12 @@ func TestAutoIncrementIDOnTemporaryTable(t *testing.T) {
" `id` int(11) NOT NULL AUTO_INCREMENT,\n" +
" PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */\n" +
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin AUTO_INCREMENT=100 ON COMMIT DELETE ROWS"))
- tk.MustQuery("show table global_temp_auto_id next_row_id").Check(testkit.Rows("test global_temp_auto_id id 100 AUTO_INCREMENT"))
+ tk.MustQuery("show table global_temp_auto_id next_row_id").Check(testkit.Rows("test global_temp_auto_id id 100 _TIDB_ROWID"))
tk.MustExec("begin")
tk.MustExec("insert into global_temp_auto_id value(null)")
tk.MustQuery("select @@last_insert_id").Check(testkit.Rows("100"))
tk.MustQuery("select id from global_temp_auto_id").Check(testkit.Rows("100"))
- tk.MustQuery("show table global_temp_auto_id next_row_id").Check(testkit.Rows("test global_temp_auto_id id 101 AUTO_INCREMENT"))
+ tk.MustQuery("show table global_temp_auto_id next_row_id").Check(testkit.Rows("test global_temp_auto_id id 101 _TIDB_ROWID"))
tk.MustExec("commit")
}
tk.MustExec("drop table global_temp_auto_id")
@@ -980,201 +979,6 @@ func TestDDLJobErrorCount(t *testing.T) {
require.True(t, kv.ErrEntryTooLarge.Equal(historyJob.Error))
}
-func TestCommitTxnWithIndexChange(t *testing.T) {
- store, dom := testkit.CreateMockStoreAndDomainWithSchemaLease(t, dbTestLease)
- // Prepare work.
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set global tidb_enable_metadata_lock=0")
- tk.MustExec("set tidb_enable_amend_pessimistic_txn = 1;")
- tk.MustExec("use test")
- tk.MustExec("create table t1 (c1 int primary key, c2 int, c3 int, index ok2(c2))")
- tk.MustExec("insert t1 values (1, 10, 100), (2, 20, 200)")
- tk.MustExec("alter table t1 add index k2(c2)")
- tk.MustExec("alter table t1 drop index k2")
- tk.MustExec("alter table t1 add index k2(c2)")
- tk.MustExec("alter table t1 drop index k2")
- tk2 := testkit.NewTestKit(t, store)
- tk2.MustExec("use test")
-
- // tkSQLs are the sql statements for the pessimistic transaction.
- // tk2DDL are the ddl statements executed before the pessimistic transaction.
- // idxDDL is the DDL statement executed between pessimistic transaction begin and commit.
- // failCommit means the pessimistic transaction commit should fail not.
- type caseUnit struct {
- tkSQLs []string
- tk2DDL []string
- idxDDL string
- checkSQLs []string
- rowsExps [][]string
- failCommit bool
- stateEnd model.SchemaState
- }
-
- cases := []caseUnit{
- // Test secondary index
- {[]string{"insert into t1 values(3, 30, 300)",
- "insert into t2 values(11, 11, 11)"},
- []string{"alter table t1 add index k2(c2)",
- "alter table t1 drop index k2",
- "alter table t1 add index kk2(c2, c1)",
- "alter table t1 add index k2(c2)",
- "alter table t1 drop index k2"},
- "alter table t1 add index k2(c2)",
- []string{"select c3, c2 from t1 use index(k2) where c2 = 20",
- "select c3, c2 from t1 use index(k2) where c2 = 10",
- "select * from t1",
- "select * from t2 where c1 = 11"},
- [][]string{{"200 20"},
- {"100 10"},
- {"1 10 100", "2 20 200", "3 30 300"},
- {"11 11 11"}},
- false,
- model.StateNone},
- // Test secondary index
- {[]string{"insert into t2 values(5, 50, 500)",
- "insert into t2 values(11, 11, 11)",
- "delete from t2 where c2 = 11",
- "update t2 set c2 = 110 where c1 = 11"},
- // "update t2 set c1 = 10 where c3 = 100"},
- []string{"alter table t1 add index k2(c2)",
- "alter table t1 drop index k2",
- "alter table t1 add index kk2(c2, c1)",
- "alter table t1 add index k2(c2)",
- "alter table t1 drop index k2"},
- "alter table t1 add index k2(c2)",
- []string{"select c3, c2 from t1 use index(k2) where c2 = 20",
- "select c3, c2 from t1 use index(k2) where c2 = 10",
- "select * from t1",
- "select * from t2 where c1 = 11",
- "select * from t2 where c3 = 100"},
- [][]string{{"200 20"},
- {"100 10"},
- {"1 10 100", "2 20 200"},
- {},
- {"1 10 100"}},
- false,
- model.StateNone},
- // Test unique index
- {[]string{"insert into t1 values(3, 30, 300)",
- "insert into t1 values(4, 40, 400)",
- "insert into t2 values(11, 11, 11)",
- "insert into t2 values(12, 12, 11)"},
- []string{"alter table t1 add unique index uk3(c3)",
- "alter table t1 drop index uk3",
- "alter table t2 add unique index ukc1c3(c1, c3)",
- "alter table t2 add unique index ukc3(c3)",
- "alter table t2 drop index ukc1c3",
- "alter table t2 drop index ukc3",
- "alter table t2 add index kc3(c3)"},
- "alter table t1 add unique index uk3(c3)",
- []string{"select c3, c2 from t1 use index(uk3) where c3 = 200",
- "select c3, c2 from t1 use index(uk3) where c3 = 300",
- "select c3, c2 from t1 use index(uk3) where c3 = 400",
- "select * from t1",
- "select * from t2"},
- [][]string{{"200 20"},
- {"300 30"},
- {"400 40"},
- {"1 10 100", "2 20 200", "3 30 300", "4 40 400"},
- {"1 10 100", "2 20 200", "11 11 11", "12 12 11"}},
- false, model.StateNone},
- // Test unique index fail to commit, this case needs the new index could be inserted
- {[]string{"insert into t1 values(3, 30, 300)",
- "insert into t1 values(4, 40, 300)",
- "insert into t2 values(11, 11, 11)",
- "insert into t2 values(12, 11, 12)"},
- //[]string{"alter table t1 add unique index uk3(c3)", "alter table t1 drop index uk3"},
- []string{},
- "alter table t1 add unique index uk3(c3)",
- []string{"select c3, c2 from t1 use index(uk3) where c3 = 200",
- "select c3, c2 from t1 use index(uk3) where c3 = 300",
- "select c3, c2 from t1 where c1 = 4",
- "select * from t1",
- "select * from t2"},
- [][]string{{"200 20"},
- {},
- {},
- {"1 10 100", "2 20 200"},
- {"1 10 100", "2 20 200"}},
- true,
- model.StateWriteOnly},
- }
- tk.MustQuery("select * from t1;").Check(testkit.Rows("1 10 100", "2 20 200"))
-
- // Test add index state change
- do := dom.DDL()
- startStates := []model.SchemaState{model.StateNone, model.StateDeleteOnly}
- for _, startState := range startStates {
- endStatMap := session.ConstOpAddIndex[startState]
- var endStates []model.SchemaState
- for st := range endStatMap {
- endStates = append(endStates, st)
- }
- slices.Sort(endStates)
- for _, endState := range endStates {
- for _, curCase := range cases {
- if endState < curCase.stateEnd {
- break
- }
- tk2.MustExec("drop table if exists t1")
- tk2.MustExec("drop table if exists t2")
- tk2.MustExec("create table t1 (c1 int primary key, c2 int, c3 int, index ok2(c2))")
- tk2.MustExec("create table t2 (c1 int primary key, c2 int, c3 int, index ok2(c2))")
- tk2.MustExec("insert t1 values (1, 10, 100), (2, 20, 200)")
- tk2.MustExec("insert t2 values (1, 10, 100), (2, 20, 200)")
- tk2.MustQuery("select * from t1;").Check(testkit.Rows("1 10 100", "2 20 200"))
- tk.MustQuery("select * from t1;").Check(testkit.Rows("1 10 100", "2 20 200"))
- tk.MustQuery("select * from t2;").Check(testkit.Rows("1 10 100", "2 20 200"))
-
- for _, DDLSQL := range curCase.tk2DDL {
- tk2.MustExec(DDLSQL)
- }
- hook := &ddl.TestDDLCallback{Do: dom}
- prepared := false
- committed := false
- hook.OnJobRunBeforeExported = func(job *model.Job) {
- if job.SchemaState == startState {
- if !prepared {
- tk.MustExec("begin pessimistic")
- for _, tkSQL := range curCase.tkSQLs {
- tk.MustExec(tkSQL)
- }
- prepared = true
- }
- }
- }
- onJobUpdatedExportedFunc := func(job *model.Job) {
- if job.SchemaState == endState {
- if !committed {
- if curCase.failCommit {
- err := tk.ExecToErr("commit")
- require.Error(t, err)
- } else {
- tk.MustExec("commit")
- }
- }
- committed = true
- }
- }
- hook.OnJobUpdatedExported.Store(&onJobUpdatedExportedFunc)
- originalCallback := do.GetHook()
- do.SetHook(hook)
- tk2.MustExec(curCase.idxDDL)
- do.SetHook(originalCallback)
- tk2.MustExec("admin check table t1")
- for i, checkSQL := range curCase.checkSQLs {
- if len(curCase.rowsExps[i]) > 0 {
- tk2.MustQuery(checkSQL).Check(testkit.Rows(curCase.rowsExps[i]...))
- } else {
- tk2.MustQuery(checkSQL).Check(nil)
- }
- }
- }
- }
- }
- tk.MustExec("admin check table t1")
-}
-
// TestAddIndexFailOnCaseWhenCanExit is used to close #19325.
func TestAddIndexFailOnCaseWhenCanExit(t *testing.T) {
require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/ddl/MockCaseWhenParseFailure", `return(true)`))
@@ -1378,54 +1182,6 @@ func TestTxnSavepointWithDDL(t *testing.T) {
tk.MustExec("admin check table t1, t2")
}
-func TestAmendTxnSavepointWithDDL(t *testing.T) {
- store, _ := testkit.CreateMockStoreAndDomainWithSchemaLease(t, dbTestLease)
- tk := testkit.NewTestKit(t, store)
- tk2 := testkit.NewTestKit(t, store)
- tk.MustExec("use test;")
- tk.MustExec("set global tidb_enable_metadata_lock=0")
- tk2.MustExec("use test;")
- tk.MustExec("set tidb_enable_amend_pessimistic_txn = 1;")
-
- prepareFn := func() {
- tk.MustExec("drop table if exists t1, t2")
- tk.MustExec("create table t1 (c1 int primary key, c2 int)")
- tk.MustExec("create table t2 (c1 int primary key, c2 int)")
- }
-
- prepareFn()
- tk.MustExec("truncate table t1")
- tk.MustExec("begin pessimistic")
- tk.MustExec("savepoint s1")
- tk.MustExec("insert t1 values (1, 11)")
- tk.MustExec("savepoint s2")
- tk.MustExec("insert t2 values (1, 11)")
- tk.MustExec("rollback to s2")
- tk2.MustExec("alter table t1 add index idx2(c2)")
- tk2.MustExec("alter table t2 add index idx2(c2)")
- tk.MustExec("commit")
- tk.MustQuery("select * from t1").Check(testkit.Rows("1 11"))
- tk.MustQuery("select * from t2").Check(testkit.Rows())
- tk.MustExec("admin check table t1, t2")
-
- prepareFn()
- tk.MustExec("truncate table t1")
- tk.MustExec("begin pessimistic")
- tk.MustExec("savepoint s1")
- tk.MustExec("insert t1 values (1, 11)")
- tk.MustExec("savepoint s2")
- tk.MustExec("insert t2 values (1, 11)")
- tk.MustExec("savepoint s3")
- tk.MustExec("insert t2 values (2, 22)")
- tk.MustExec("rollback to s3")
- tk2.MustExec("alter table t1 add index idx2(c2)")
- tk2.MustExec("alter table t2 add index idx2(c2)")
- tk.MustExec("commit")
- tk.MustQuery("select * from t1").Check(testkit.Rows("1 11"))
- tk.MustQuery("select * from t2").Check(testkit.Rows("1 11"))
- tk.MustExec("admin check table t1, t2")
-}
-
func TestSnapshotVersion(t *testing.T) {
store, dom := testkit.CreateMockStoreAndDomainWithSchemaLease(t, dbTestLease)
@@ -1582,13 +1338,11 @@ func TestLogAndShowSlowLog(t *testing.T) {
}
func TestReportingMinStartTimestamp(t *testing.T) {
- _, dom := testkit.CreateMockStoreAndDomainWithSchemaLease(t, dbTestLease)
+ store, dom := testkit.CreateMockStoreAndDomainWithSchemaLease(t, dbTestLease)
+ tk := testkit.NewTestKit(t, store)
+ se := tk.Session()
infoSyncer := dom.InfoSyncer()
- sm := &testkit.MockSessionManager{
- PS: make([]*util.ProcessInfo, 0),
- }
- infoSyncer.SetSessionManager(sm)
beforeTS := oracle.GoTimeToTS(time.Now())
infoSyncer.ReportMinStartTS(dom.Store())
afterTS := oracle.GoTimeToTS(time.Now())
@@ -1597,13 +1351,21 @@ func TestReportingMinStartTimestamp(t *testing.T) {
now := time.Now()
validTS := oracle.GoTimeToLowerLimitStartTS(now.Add(time.Minute), tikv.MaxTxnTimeUse)
lowerLimit := oracle.GoTimeToLowerLimitStartTS(now, tikv.MaxTxnTimeUse)
+ sm := se.GetSessionManager().(*testkit.MockSessionManager)
sm.PS = []*util.ProcessInfo{
- {CurTxnStartTS: 0},
- {CurTxnStartTS: math.MaxUint64},
- {CurTxnStartTS: lowerLimit},
- {CurTxnStartTS: validTS},
+ {CurTxnStartTS: 0, ProtectedTSList: &se.GetSessionVars().ProtectedTSList},
+ {CurTxnStartTS: math.MaxUint64, ProtectedTSList: &se.GetSessionVars().ProtectedTSList},
+ {CurTxnStartTS: lowerLimit, ProtectedTSList: &se.GetSessionVars().ProtectedTSList},
+ {CurTxnStartTS: validTS, ProtectedTSList: &se.GetSessionVars().ProtectedTSList},
}
- infoSyncer.SetSessionManager(sm)
+ infoSyncer.ReportMinStartTS(dom.Store())
+ require.Equal(t, validTS, infoSyncer.GetMinStartTS())
+
+ unhold := se.GetSessionVars().ProtectedTSList.HoldTS(validTS - 1)
+ infoSyncer.ReportMinStartTS(dom.Store())
+ require.Equal(t, validTS-1, infoSyncer.GetMinStartTS())
+
+ unhold()
infoSyncer.ReportMinStartTS(dom.Store())
require.Equal(t, validTS, infoSyncer.GetMinStartTS())
}
@@ -1736,3 +1498,82 @@ func TestTiDBDownBeforeUpdateGlobalVersion(t *testing.T) {
require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/ddl/mockDownBeforeUpdateGlobalVersion"))
require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/ddl/checkDownBeforeUpdateGlobalVersion"))
}
+
+func TestDDLBlockedCreateView(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("create table t(a int)")
+
+ hook := &ddl.TestDDLCallback{Do: dom}
+ first := true
+ hook.OnJobRunBeforeExported = func(job *model.Job) {
+ if job.SchemaState != model.StateWriteOnly {
+ return
+ }
+ if !first {
+ return
+ }
+ first = false
+ tk2 := testkit.NewTestKit(t, store)
+ tk2.MustExec("use test")
+ tk2.MustExec("create view v as select * from t")
+ }
+ dom.DDL().SetHook(hook)
+ tk.MustExec("alter table t modify column a char(10)")
+}
+
+func TestHashPartitionAddColumn(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("create table t(a int, b int) partition by hash(a) partitions 4")
+
+ hook := &ddl.TestDDLCallback{Do: dom}
+ hook.OnJobRunBeforeExported = func(job *model.Job) {
+ if job.SchemaState != model.StateWriteOnly {
+ return
+ }
+ tk2 := testkit.NewTestKit(t, store)
+ tk2.MustExec("use test")
+ tk2.MustExec("delete from t")
+ }
+ dom.DDL().SetHook(hook)
+ tk.MustExec("alter table t add column c int")
+}
+
+func TestSetInvalidDefaultValueAfterModifyColumn(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("create table t(a int, b int)")
+
+ var wg sync.WaitGroup
+ var checkErr error
+ one := false
+ hook := &ddl.TestDDLCallback{Do: dom}
+ hook.OnJobRunBeforeExported = func(job *model.Job) {
+ if job.SchemaState != model.StateDeleteOnly {
+ return
+ }
+ if !one {
+ one = true
+ } else {
+ return
+ }
+ wg.Add(1)
+ go func() {
+ tk2 := testkit.NewTestKit(t, store)
+ tk2.MustExec("use test")
+ _, checkErr = tk2.Exec("alter table t alter column a set default 1")
+ wg.Done()
+ }()
+ }
+ dom.DDL().SetHook(hook)
+ tk.MustExec("alter table t modify column a text(100)")
+ wg.Wait()
+ require.EqualError(t, checkErr, "[ddl:1101]BLOB/TEXT/JSON column 'a' can't have a default value")
+}
diff --git a/ddl/ddl.go b/ddl/ddl.go
index 7eeaa8c1f357e..b89c8264fd125 100644
--- a/ddl/ddl.go
+++ b/ddl/ddl.go
@@ -188,6 +188,9 @@ type DDL interface {
CreatePlacementPolicy(ctx sessionctx.Context, stmt *ast.CreatePlacementPolicyStmt) error
DropPlacementPolicy(ctx sessionctx.Context, stmt *ast.DropPlacementPolicyStmt) error
AlterPlacementPolicy(ctx sessionctx.Context, stmt *ast.AlterPlacementPolicyStmt) error
+ CreateResourceGroup(ctx sessionctx.Context, stmt *ast.CreateResourceGroupStmt) error
+ AlterResourceGroup(ctx sessionctx.Context, stmt *ast.AlterResourceGroupStmt) error
+ DropResourceGroup(ctx sessionctx.Context, stmt *ast.DropResourceGroupStmt) error
FlashbackCluster(ctx sessionctx.Context, flashbackTS uint64) error
// CreateSchemaWithInfo creates a database (schema) given its database info.
@@ -252,10 +255,6 @@ type DDL interface {
GetInfoSchemaWithInterceptor(ctx sessionctx.Context) infoschema.InfoSchema
// DoDDLJob does the DDL job, it's exported for test.
DoDDLJob(ctx sessionctx.Context, job *model.Job) error
- // MoveJobFromQueue2Table move existing DDLs from queue to table.
- MoveJobFromQueue2Table(bool) error
- // MoveJobFromTable2Queue move existing DDLs from table to queue.
- MoveJobFromTable2Queue() error
}
type limitJobTask struct {
@@ -270,7 +269,6 @@ type ddl struct {
limitJobCh chan *limitJobTask
*ddlCtx
- workers map[workerType]*worker
sessPool *sessionPool
delRangeMgr delRangeManager
enableTiFlashPoll *atomicutil.Bool
@@ -422,15 +420,15 @@ func (dc *ddlCtx) isOwner() bool {
return isOwner
}
-func (dc *ddlCtx) setDDLLabelForTopSQL(job *model.Job) {
+func (dc *ddlCtx) setDDLLabelForTopSQL(jobID int64, jobQuery string) {
dc.jobCtx.Lock()
defer dc.jobCtx.Unlock()
- ctx, exists := dc.jobCtx.jobCtxMap[job.ID]
+ ctx, exists := dc.jobCtx.jobCtxMap[jobID]
if !exists {
ctx = NewJobContext()
- dc.jobCtx.jobCtxMap[job.ID] = ctx
+ dc.jobCtx.jobCtxMap[jobID] = ctx
}
- ctx.setDDLLabelForTopSQL(job)
+ ctx.setDDLLabelForTopSQL(jobQuery)
}
func (dc *ddlCtx) setDDLSourceForDiagnosis(job *model.Job) {
@@ -439,15 +437,15 @@ func (dc *ddlCtx) setDDLSourceForDiagnosis(job *model.Job) {
ctx, exists := dc.jobCtx.jobCtxMap[job.ID]
if !exists {
ctx = NewJobContext()
- ctx.setDDLLabelForDiagnosis(job)
dc.jobCtx.jobCtxMap[job.ID] = ctx
}
+ ctx.setDDLLabelForDiagnosis(job)
}
-func (dc *ddlCtx) getResourceGroupTaggerForTopSQL(job *model.Job) tikvrpc.ResourceGroupTagger {
+func (dc *ddlCtx) getResourceGroupTaggerForTopSQL(jobID int64) tikvrpc.ResourceGroupTagger {
dc.jobCtx.Lock()
defer dc.jobCtx.Unlock()
- ctx, exists := dc.jobCtx.jobCtxMap[job.ID]
+ ctx, exists := dc.jobCtx.jobCtxMap[jobID]
if !exists {
return nil
}
@@ -460,19 +458,19 @@ func (dc *ddlCtx) removeJobCtx(job *model.Job) {
delete(dc.jobCtx.jobCtxMap, job.ID)
}
-func (dc *ddlCtx) jobContext(job *model.Job) *JobContext {
+func (dc *ddlCtx) jobContext(jobID int64) *JobContext {
dc.jobCtx.RLock()
defer dc.jobCtx.RUnlock()
- if jobContext, exists := dc.jobCtx.jobCtxMap[job.ID]; exists {
+ if jobContext, exists := dc.jobCtx.jobCtxMap[jobID]; exists {
return jobContext
}
return NewJobContext()
}
-func (dc *ddlCtx) getReorgCtx(job *model.Job) *reorgCtx {
+func (dc *ddlCtx) getReorgCtx(jobID int64) *reorgCtx {
dc.reorgCtx.RLock()
defer dc.reorgCtx.RUnlock()
- return dc.reorgCtx.reorgCtxMap[job.ID]
+ return dc.reorgCtx.reorgCtxMap[jobID]
}
func (dc *ddlCtx) newReorgCtx(r *reorgInfo) *reorgCtx {
@@ -497,7 +495,7 @@ func (dc *ddlCtx) removeReorgCtx(job *model.Job) {
}
func (dc *ddlCtx) notifyReorgCancel(job *model.Job) {
- rc := dc.getReorgCtx(job)
+ rc := dc.getReorgCtx(job.ID)
if rc == nil {
return
}
@@ -624,7 +622,6 @@ func newDDL(ctx context.Context, options ...Option) *ddl {
// Register functions for enable/disable ddl when changing system variable `tidb_enable_ddl`.
variable.EnableDDL = d.EnableDDL
variable.DisableDDL = d.DisableDDL
- variable.SwitchConcurrentDDL = d.SwitchConcurrentDDL
variable.SwitchMDL = d.SwitchMDL
return d
@@ -656,7 +653,7 @@ func (d *ddl) newDeleteRangeManager(mock bool) delRangeManager {
func (d *ddl) prepareWorkers4ConcurrencyDDL() {
workerFactory := func(tp workerType) func() (pools.Resource, error) {
return func() (pools.Resource, error) {
- wk := newWorker(d.ctx, tp, d.sessPool, d.delRangeMgr, d.ddlCtx, true)
+ wk := newWorker(d.ctx, tp, d.sessPool, d.delRangeMgr, d.ddlCtx)
sessForJob, err := d.sessPool.get()
if err != nil {
return nil, err
@@ -679,23 +676,6 @@ func (d *ddl) prepareWorkers4ConcurrencyDDL() {
d.wg.Run(d.startDispatchLoop)
}
-func (d *ddl) prepareWorkers4legacyDDL() {
- d.workers = make(map[workerType]*worker, 2)
- d.workers[generalWorker] = newWorker(d.ctx, generalWorker, d.sessPool, d.delRangeMgr, d.ddlCtx, false)
- d.workers[addIdxWorker] = newWorker(d.ctx, addIdxWorker, d.sessPool, d.delRangeMgr, d.ddlCtx, false)
- for _, worker := range d.workers {
- worker.wg.Add(1)
- w := worker
- go w.start(d.ddlCtx)
-
- metrics.DDLCounter.WithLabelValues(fmt.Sprintf("%s_%s", metrics.CreateDDL, worker.String())).Inc()
-
- // When the start function is called, we will send a fake job to let worker
- // checks owner firstly and try to find whether a job exists and run.
- asyncNotify(worker.ddlJobCh)
- }
-}
-
// Start implements DDL.Start interface.
func (d *ddl) Start(ctxPool *pools.ResourcePool) error {
logutil.BgLogger().Info("[ddl] start DDL", zap.String("ID", d.uuid), zap.Bool("runWorker", config.GetGlobalConfig().Instance.TiDBEnableDDL.Load()))
@@ -713,7 +693,6 @@ func (d *ddl) Start(ctxPool *pools.ResourcePool) error {
d.delRangeMgr = d.newDeleteRangeManager(ctxPool == nil)
d.prepareWorkers4ConcurrencyDDL()
- d.prepareWorkers4legacyDDL()
if config.TableLockEnabled() {
d.wg.Add(1)
@@ -799,9 +778,6 @@ func (d *ddl) close() {
d.generalDDLWorkerPool.close()
}
- for _, worker := range d.workers {
- worker.Close()
- }
// d.delRangeMgr using sessions from d.sessPool.
// Put it before d.sessPool.close to reduce the time spent by d.sessPool.close.
if d.delRangeMgr != nil {
@@ -921,24 +897,10 @@ func (d *ddl) asyncNotifyWorker(job *model.Job) {
if !config.GetGlobalConfig().Instance.TiDBEnableDDL.Load() {
return
}
- if variable.EnableConcurrentDDL.Load() {
- if d.isOwner() {
- asyncNotify(d.ddlJobCh)
- } else {
- d.asyncNotifyByEtcd(addingDDLJobConcurrent, job)
- }
+ if d.isOwner() {
+ asyncNotify(d.ddlJobCh)
} else {
- var worker *worker
- if job.MayNeedReorg() {
- worker = d.workers[addIdxWorker]
- } else {
- worker = d.workers[generalWorker]
- }
- if d.ownerManager.IsOwner() {
- asyncNotify(worker.ddlJobCh)
- } else {
- d.asyncNotifyByEtcd(worker.addingDDLJobKey, job)
- }
+ d.asyncNotifyByEtcd(addingDDLJobConcurrent, job)
}
}
@@ -979,7 +941,6 @@ func (d *ddl) DoDDLJob(ctx sessionctx.Context, job *model.Job) error {
// Instead, we merge all the jobs into one pending job.
return appendToSubJobs(mci, job)
}
-
// Get a global job ID and put the DDL job in the queue.
setDDLJobQuery(ctx, job)
task := &limitJobTask{job, make(chan error)}
@@ -1056,7 +1017,7 @@ func (d *ddl) DoDDLJob(ctx sessionctx.Context, job *model.Job) error {
continue
}
sessVars.StmtCtx.DDLJobID = 0 // Avoid repeat.
- errs, err := CancelJobs(se, d.store, []int64{jobID})
+ errs, err := CancelJobs(se, []int64{jobID})
d.sessPool.put(se)
if len(errs) > 0 {
logutil.BgLogger().Warn("error canceling DDL job", zap.Error(errs[0]))
@@ -1094,8 +1055,13 @@ func (d *ddl) DoDDLJob(ctx sessionctx.Context, job *model.Job) error {
logutil.BgLogger().Info("[ddl] DDL warnings doesn't match the warnings count", zap.Int64("jobID", jobID))
} else {
for key, warning := range historyJob.ReorgMeta.Warnings {
- for j := int64(0); j < historyJob.ReorgMeta.WarningsCount[key]; j++ {
+ keyCount := historyJob.ReorgMeta.WarningsCount[key]
+ if keyCount == 1 {
ctx.GetSessionVars().StmtCtx.AppendWarning(warning)
+ } else {
+ newMsg := fmt.Sprintf("%d warnings with this error code, first warning: "+warning.GetMsg(), keyCount)
+ newWarning := dbterror.ClassTypes.Synthesize(terror.ErrCode(warning.Code()), newMsg)
+ ctx.GetSessionVars().StmtCtx.AppendWarning(newWarning)
}
}
}
@@ -1178,49 +1144,12 @@ func (d *ddl) startCleanDeadTableLock() {
}
}
-// SwitchConcurrentDDL changes the DDL to concurrent DDL if toConcurrentDDL is true, otherwise, queue based DDL.
-func (d *ddl) SwitchConcurrentDDL(toConcurrentDDL bool) error {
- if !d.isOwner() {
- return kv.RunInNewTxn(kv.WithInternalSourceType(context.Background(), kv.InternalTxnDDL), d.store, true, func(ctx context.Context, txn kv.Transaction) error {
- isConcurrentDDL, err := meta.NewMeta(txn).IsConcurrentDDL()
- if err != nil {
- return err
- }
- if isConcurrentDDL != toConcurrentDDL {
- return errors.New("please set it on the DDL owner node")
- }
- return nil
- })
- }
-
- ctx, cancel := context.WithTimeout(context.Background(), time.Second*30)
- defer cancel()
- d.waiting.Store(true)
- defer d.waiting.Store(false)
- if err := d.wait4Switch(ctx); err != nil {
- return err
- }
-
- var err error
- if toConcurrentDDL {
- err = d.MoveJobFromQueue2Table(false)
- } else {
- err = d.MoveJobFromTable2Queue()
- }
- if err == nil {
- variable.EnableConcurrentDDL.Store(toConcurrentDDL)
- }
- logutil.BgLogger().Info("[ddl] SwitchConcurrentDDL", zap.Bool("toConcurrentDDL", toConcurrentDDL), zap.Error(err))
- return err
-}
-
// SwitchMDL enables MDL or disable DDL.
func (d *ddl) SwitchMDL(enable bool) error {
ctx, cancel := context.WithTimeout(context.Background(), time.Second*30)
defer cancel()
- // Disable MDL for test.
- if enable && !variable.DefTiDBEnableConcurrentDDL {
+ if enable {
sql := fmt.Sprintf("UPDATE HIGH_PRIORITY %[1]s.%[2]s SET VARIABLE_VALUE = %[4]d WHERE VARIABLE_NAME = '%[3]s'",
mysql.SystemDB, mysql.GlobalVariablesTable, variable.TiDBEnableMDL, 0)
sess, err := d.sessPool.get()
@@ -1259,25 +1188,23 @@ func (d *ddl) SwitchMDL(enable bool) error {
}
variable.EnableMDL.Store(enable)
- logutil.BgLogger().Info("[ddl] switch metadata lock feature", zap.Bool("enable", enable), zap.Error(err))
- return nil
-}
-
-func (d *ddl) wait4Switch(ctx context.Context) error {
- for {
- select {
- case <-ctx.Done():
- return ctx.Err()
- default:
+ err = kv.RunInNewTxn(kv.WithInternalSourceType(context.Background(), kv.InternalTxnDDL), d.store, true, func(ctx context.Context, txn kv.Transaction) error {
+ m := meta.NewMeta(txn)
+ oldEnable, _, err := m.GetMetadataLock()
+ if err != nil {
+ return err
}
- d.runningJobs.RLock()
- if len(d.runningJobs.ids) == 0 {
- d.runningJobs.RUnlock()
- return nil
+ if oldEnable != enable {
+ err = m.SetMetadataLock(enable)
}
- d.runningJobs.RUnlock()
- time.Sleep(time.Second * 1)
+ return err
+ })
+ if err != nil {
+ logutil.BgLogger().Warn("[ddl] switch metadata lock feature", zap.Bool("enable", enable), zap.Error(err))
+ return err
}
+ logutil.BgLogger().Info("[ddl] switch metadata lock feature", zap.Bool("enable", enable))
+ return nil
}
// RecoverInfo contains information needed by DDL.RecoverTable.
@@ -1304,6 +1231,12 @@ type RecoverSchemaInfo struct {
// It should be called before any DDL that could break data consistency.
// This provides a safe window for async commit and 1PC to commit with an old schema.
func delayForAsyncCommit() {
+ if variable.EnableMDL.Load() {
+ // If metadata lock is enabled. The transaction of DDL must begin after prewrite of the async commit transaction,
+ // then the commit ts of DDL must be greater than the async commit transaction. In this case, the corresponding schema of the async commit transaction
+ // is correct. But if metadata lock is disabled, we can't ensure that the corresponding schema of the async commit transaction isn't change.
+ return
+ }
cfg := config.GetGlobalConfig().TiKVClient.AsyncCommit
duration := cfg.SafeWindow + cfg.AllowedClockDrift
logutil.BgLogger().Info("sleep before DDL finishes to make async commit and 1PC safe",
@@ -1388,13 +1321,8 @@ func GetDDLInfo(s sessionctx.Context) (*Info, error) {
}
t := meta.NewMeta(txn)
info.Jobs = make([]*model.Job, 0, 2)
- enable := variable.EnableConcurrentDDL.Load()
var generalJob, reorgJob *model.Job
- if enable {
- generalJob, reorgJob, err = get2JobsFromTable(sess)
- } else {
- generalJob, reorgJob, err = get2JobsFromQueue(t)
- }
+ generalJob, reorgJob, err = get2JobsFromTable(sess)
if err != nil {
return nil, errors.Trace(err)
}
@@ -1415,7 +1343,7 @@ func GetDDLInfo(s sessionctx.Context) (*Info, error) {
return info, nil
}
- _, info.ReorgHandle, _, _, err = newReorgHandler(t, sess, enable).GetDDLReorgHandle(reorgJob)
+ _, info.ReorgHandle, _, _, err = newReorgHandler(t, sess).GetDDLReorgHandle(reorgJob)
if err != nil {
if meta.ErrDDLReorgElementNotExist.Equal(err) {
return info, nil
@@ -1426,19 +1354,6 @@ func GetDDLInfo(s sessionctx.Context) (*Info, error) {
return info, nil
}
-func get2JobsFromQueue(t *meta.Meta) (*model.Job, *model.Job, error) {
- generalJob, err := t.GetDDLJobByIdx(0)
- if err != nil {
- return nil, nil, errors.Trace(err)
- }
- reorgJob, err := t.GetDDLJobByIdx(0, meta.AddIndexJobListKey)
- if err != nil {
- return nil, nil, errors.Trace(err)
- }
-
- return generalJob, reorgJob, nil
-}
-
func get2JobsFromTable(sess *session) (*model.Job, *model.Job, error) {
var generalJob, reorgJob *model.Job
jobs, err := getJobsBySQL(sess, JobTable, "not reorg order by job_id limit 1")
@@ -1460,82 +1375,8 @@ func get2JobsFromTable(sess *session) (*model.Job, *model.Job, error) {
}
// CancelJobs cancels the DDL jobs.
-func CancelJobs(se sessionctx.Context, store kv.Storage, ids []int64) (errs []error, err error) {
- if variable.EnableConcurrentDDL.Load() {
- return cancelConcurrencyJobs(se, ids)
- }
-
- err = kv.RunInNewTxn(kv.WithInternalSourceType(context.Background(), kv.InternalTxnDDL), store, true, func(ctx context.Context, txn kv.Transaction) error {
- errs, err = cancelLegacyJobs(txn, ids)
- return err
- })
- return
-}
-
-func cancelLegacyJobs(txn kv.Transaction, ids []int64) ([]error, error) {
- if len(ids) == 0 {
- return nil, nil
- }
-
- errs := make([]error, len(ids))
- t := meta.NewMeta(txn)
- generalJobs, err := getDDLJobsInQueue(t, meta.DefaultJobListKey)
- if err != nil {
- return nil, errors.Trace(err)
- }
- addIdxJobs, err := getDDLJobsInQueue(t, meta.AddIndexJobListKey)
- if err != nil {
- return nil, errors.Trace(err)
- }
- jobs := append(generalJobs, addIdxJobs...)
- jobsMap := make(map[int64]int)
- for i, id := range ids {
- jobsMap[id] = i
- }
- for j, job := range jobs {
- i, ok := jobsMap[job.ID]
- if !ok {
- logutil.BgLogger().Debug("the job that needs to be canceled isn't equal to current job",
- zap.Int64("need to canceled job ID", job.ID),
- zap.Int64("current job ID", job.ID))
- continue
- }
- delete(jobsMap, job.ID)
- // These states can't be cancelled.
- if job.IsDone() || job.IsSynced() {
- errs[i] = dbterror.ErrCancelFinishedDDLJob.GenWithStackByArgs(job.ID)
- continue
- }
- // If the state is rolling back, it means the work is cleaning the data after cancelling the job.
- if job.IsCancelled() || job.IsRollingback() || job.IsRollbackDone() {
- continue
- }
- if !job.IsRollbackable() {
- errs[i] = dbterror.ErrCannotCancelDDLJob.GenWithStackByArgs(job.ID)
- continue
- }
-
- job.State = model.JobStateCancelling
- // Make sure RawArgs isn't overwritten.
- err := json.Unmarshal(job.RawArgs, &job.Args)
- if err != nil {
- errs[i] = errors.Trace(err)
- continue
- }
- if j >= len(generalJobs) {
- offset := int64(j - len(generalJobs))
- err = t.UpdateDDLJob(offset, job, true, meta.AddIndexJobListKey)
- } else {
- err = t.UpdateDDLJob(int64(j), job, true)
- }
- if err != nil {
- errs[i] = errors.Trace(err)
- }
- }
- for id, i := range jobsMap {
- errs[i] = dbterror.ErrDDLJobNotFound.GenWithStackByArgs(id)
- }
- return errs, nil
+func CancelJobs(se sessionctx.Context, ids []int64) (errs []error, err error) {
+ return cancelConcurrencyJobs(se, ids)
}
// cancelConcurrencyJobs cancels the DDL jobs that are in the concurrent state.
@@ -1614,45 +1455,9 @@ func cancelConcurrencyJobs(se sessionctx.Context, ids []int64) ([]error, error)
return errs, nil
}
-func getDDLJobsInQueue(t *meta.Meta, jobListKey meta.JobListKeyType) ([]*model.Job, error) {
- cnt, err := t.DDLJobQueueLen(jobListKey)
- if err != nil {
- return nil, errors.Trace(err)
- }
- jobs := make([]*model.Job, cnt)
- for i := range jobs {
- jobs[i], err = t.GetDDLJobByIdx(int64(i), jobListKey)
- if err != nil {
- return nil, errors.Trace(err)
- }
- }
- return jobs, nil
-}
-
// GetAllDDLJobs get all DDL jobs and sorts jobs by job.ID.
func GetAllDDLJobs(sess sessionctx.Context, t *meta.Meta) ([]*model.Job, error) {
- if variable.EnableConcurrentDDL.Load() {
- return getJobsBySQL(newSession(sess), JobTable, "1 order by job_id")
- }
-
- return getDDLJobs(t)
-}
-
-// getDDLJobs get all DDL jobs and sorts jobs by job.ID.
-func getDDLJobs(t *meta.Meta) ([]*model.Job, error) {
- generalJobs, err := getDDLJobsInQueue(t, meta.DefaultJobListKey)
- if err != nil {
- return nil, errors.Trace(err)
- }
- addIdxJobs, err := getDDLJobsInQueue(t, meta.AddIndexJobListKey)
- if err != nil {
- return nil, errors.Trace(err)
- }
- jobs := append(generalJobs, addIdxJobs...)
- slices.SortFunc(jobs, func(i, j *model.Job) bool {
- return i.ID < j.ID
- })
- return jobs, nil
+ return getJobsBySQL(newSession(sess), JobTable, "1 order by job_id")
}
// MaxHistoryJobs is exported for testing.
@@ -1755,7 +1560,11 @@ func (s *session) execute(ctx context.Context, query string, label string) ([]ch
defer func() {
metrics.DDLJobTableDuration.WithLabelValues(label + "-" + metrics.RetLabel(err)).Observe(time.Since(startTime).Seconds())
}()
- rs, err := s.Context.(sqlexec.SQLExecutor).ExecuteInternal(kv.WithInternalSourceType(ctx, kv.InternalTxnDDL), query)
+
+ if ctx.Value(kv.RequestSourceKey) == nil {
+ ctx = kv.WithInternalSourceType(ctx, kv.InternalTxnDDL)
+ }
+ rs, err := s.Context.(sqlexec.SQLExecutor).ExecuteInternal(ctx, query)
if err != nil {
return nil, errors.Trace(err)
}
@@ -1838,19 +1647,11 @@ func GetHistoryJobByID(sess sessionctx.Context, id int64) (*model.Job, error) {
return job, errors.Trace(err)
}
-// AddHistoryDDLJobForTest used for test.
-func AddHistoryDDLJobForTest(sess sessionctx.Context, t *meta.Meta, job *model.Job, updateRawArgs bool) error {
- return AddHistoryDDLJob(newSession(sess), t, job, updateRawArgs, variable.EnableConcurrentDDL.Load())
-}
-
// AddHistoryDDLJob record the history job.
-func AddHistoryDDLJob(sess *session, t *meta.Meta, job *model.Job, updateRawArgs bool, concurrentDDL bool) error {
- if concurrentDDL {
- // only add history job into table if it is concurrent DDL.
- err := addHistoryDDLJob2Table(sess, job, updateRawArgs)
- if err != nil {
- logutil.BgLogger().Info("[ddl] failed to add DDL job to history table", zap.Error(err))
- }
+func AddHistoryDDLJob(sess *session, t *meta.Meta, job *model.Job, updateRawArgs bool) error {
+ err := addHistoryDDLJob2Table(sess, job, updateRawArgs)
+ if err != nil {
+ logutil.BgLogger().Info("[ddl] failed to add DDL job to history table", zap.Error(err))
}
// we always add history DDL job to job list at this moment.
return t.AddHistoryDDLJob(job, updateRawArgs)
diff --git a/ddl/ddl_api.go b/ddl/ddl_api.go
index bbf3d4fc59856..2e58510c1b4fd 100644
--- a/ddl/ddl_api.go
+++ b/ddl/ddl_api.go
@@ -33,6 +33,7 @@ import (
"github.com/pingcap/failpoint"
"github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/ddl/label"
+ "github.com/pingcap/tidb/ddl/resourcegroup"
ddlutil "github.com/pingcap/tidb/ddl/util"
"github.com/pingcap/tidb/expression"
"github.com/pingcap/tidb/infoschema"
@@ -41,6 +42,7 @@ import (
"github.com/pingcap/tidb/parser"
"github.com/pingcap/tidb/parser/ast"
"github.com/pingcap/tidb/parser/charset"
+ "github.com/pingcap/tidb/parser/duration"
"github.com/pingcap/tidb/parser/format"
"github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/parser/mysql"
@@ -82,6 +84,7 @@ const (
// When setting the placement policy with "PLACEMENT POLICY `default`",
// it means to remove placement policy from the specified object.
defaultPlacementPolicyName = "default"
+ defaultResourceGroupName = "default"
tiflashCheckPendingTablesWaitTime = 3000 * time.Millisecond
// Once tiflashCheckPendingTablesLimit is reached, we trigger a limiter detection.
tiflashCheckPendingTablesLimit = 100
@@ -1082,7 +1085,7 @@ func columnDefToCol(ctx sessionctx.Context, offset int, colDef *ast.ColumnDef, o
var sb strings.Builder
restoreFlags := format.RestoreStringSingleQuotes | format.RestoreKeyWordLowercase | format.RestoreNameBackQuotes |
- format.RestoreSpacesAroundBinaryOperation
+ format.RestoreSpacesAroundBinaryOperation | format.RestoreWithoutSchemaName | format.RestoreWithoutTableName
restoreCtx := format.NewRestoreCtx(restoreFlags, &sb)
for _, v := range colDef.Options {
@@ -1142,7 +1145,10 @@ func columnDefToCol(ctx sessionctx.Context, offset int, colDef *ast.ColumnDef, o
}
col.GeneratedExprString = sb.String()
col.GeneratedStored = v.Stored
- _, dependColNames := findDependedColumnNames(colDef)
+ _, dependColNames, err := findDependedColumnNames(model.NewCIStr(""), model.NewCIStr(""), colDef)
+ if err != nil {
+ return nil, nil, errors.Trace(err)
+ }
col.Dependences = dependColNames
case ast.ColumnOptionCollate:
if field_types.HasCharset(colDef.Tp) {
@@ -1165,7 +1171,7 @@ func columnDefToCol(ctx sessionctx.Context, offset int, colDef *ast.ColumnDef, o
// getFuncCallDefaultValue gets the default column value of function-call expression.
func getFuncCallDefaultValue(col *table.Column, option *ast.ColumnOption, expr *ast.FuncCallExpr) (interface{}, bool, error) {
switch expr.FnName.L {
- case ast.CurrentTimestamp:
+ case ast.CurrentTimestamp, ast.CurrentDate:
tp, fsp := col.FieldType.GetType(), col.FieldType.GetDecimal()
if tp == mysql.TypeTimestamp || tp == mysql.TypeDatetime {
defaultFsp := 0
@@ -1218,7 +1224,7 @@ func getDefaultValue(ctx sessionctx.Context, col *table.Column, option *ast.Colu
// If the function call is ast.CurrentTimestamp, it needs to be continuously processed.
}
- if tp == mysql.TypeTimestamp || tp == mysql.TypeDatetime {
+ if tp == mysql.TypeTimestamp || tp == mysql.TypeDatetime || tp == mysql.TypeDate {
vd, err := expression.GetTimeValue(ctx, option.Expr, tp, fsp)
value := vd.GetValue()
if err != nil {
@@ -1561,7 +1567,7 @@ func IsAutoRandomColumnID(tblInfo *model.TableInfo, colID int64) bool {
return false
}
-func checkGeneratedColumn(ctx sessionctx.Context, colDefs []*ast.ColumnDef) error {
+func checkGeneratedColumn(ctx sessionctx.Context, schemaName model.CIStr, tableName model.CIStr, colDefs []*ast.ColumnDef) error {
var colName2Generation = make(map[string]columnGenerationInDDL, len(colDefs))
var exists bool
var autoIncrementColumn string
@@ -1576,7 +1582,10 @@ func checkGeneratedColumn(ctx sessionctx.Context, colDefs []*ast.ColumnDef) erro
if containsColumnOption(colDef, ast.ColumnOptionAutoIncrement) {
exists, autoIncrementColumn = true, colDef.Name.Name.L
}
- generated, depCols := findDependedColumnNames(colDef)
+ generated, depCols, err := findDependedColumnNames(schemaName, tableName, colDef)
+ if err != nil {
+ return errors.Trace(err)
+ }
if !generated {
colName2Generation[colDef.Name.Name.L] = columnGenerationInDDL{
position: i,
@@ -1693,7 +1702,7 @@ func setEmptyConstraintName(namesMap map[string]bool, constr *ast.Constraint) {
}
}
if colName == "" {
- colName = constr.Keys[0].Column.Name.L
+ colName = constr.Keys[0].Column.Name.O
}
constrName := colName
i := 2
@@ -1980,7 +1989,7 @@ func addIndexForForeignKey(ctx sessionctx.Context, tbInfo *model.TableInfo) erro
if handleCol != nil && len(fk.Cols) == 1 && handleCol.Name.L == fk.Cols[0].L {
continue
}
- if model.FindIndexByColumns(tbInfo, fk.Cols...) != nil {
+ if model.FindIndexByColumns(tbInfo, tbInfo.Indices, fk.Cols...) != nil {
continue
}
idxName := fk.Name
@@ -2094,7 +2103,7 @@ func CheckTableInfoValidWithStmt(ctx sessionctx.Context, tbInfo *model.TableInfo
func checkTableInfoValidWithStmt(ctx sessionctx.Context, tbInfo *model.TableInfo, s *ast.CreateTableStmt) (err error) {
// All of these rely on the AST structure of expressions, which were
// lost in the model (got serialized into strings).
- if err := checkGeneratedColumn(ctx, s.Cols); err != nil {
+ if err := checkGeneratedColumn(ctx, s.Table.Schema, tbInfo.Name, s.Cols); err != nil {
return errors.Trace(err)
}
@@ -2115,6 +2124,11 @@ func checkTableInfoValidWithStmt(ctx sessionctx.Context, tbInfo *model.TableInfo
}
}
}
+ if tbInfo.TTLInfo != nil {
+ if err := checkTTLInfoValid(ctx, s.Table.Schema, tbInfo); err != nil {
+ return errors.Trace(err)
+ }
+ }
return nil
}
@@ -2147,7 +2161,7 @@ func checkPartitionDefinitionConstraints(ctx sessionctx.Context, tbInfo *model.T
// checkTableInfoValid uses to check table info valid. This is used to validate table info.
func checkTableInfoValid(tblInfo *model.TableInfo) error {
- _, err := tables.TableFromMeta(nil, tblInfo)
+ _, err := tables.TableFromMeta(autoid.NewAllocators(false), tblInfo)
if err != nil {
return err
}
@@ -2193,6 +2207,10 @@ func BuildTableInfoWithLike(ctx sessionctx.Context, ident ast.Ident, referTblInf
copy(pi.Definitions, referTblInfo.Partition.Definitions)
tblInfo.Partition = &pi
}
+
+ if referTblInfo.TTLInfo != nil {
+ tblInfo.TTLInfo = referTblInfo.TTLInfo.Clone()
+ }
return &tblInfo, nil
}
@@ -2484,7 +2502,13 @@ func (d *ddl) createTableWithInfoPost(
// Default tableAutoIncID base is 0.
// If the first ID is expected to greater than 1, we need to do rebase.
newEnd := tbInfo.AutoIncID - 1
- if err = d.handleAutoIncID(tbInfo, schemaID, newEnd, autoid.RowIDAllocType); err != nil {
+ var allocType autoid.AllocatorType
+ if tbInfo.SepAutoInc() {
+ allocType = autoid.AutoIncrementType
+ } else {
+ allocType = autoid.RowIDAllocType
+ }
+ if err = d.handleAutoIncID(tbInfo, schemaID, newEnd, allocType); err != nil {
return errors.Trace(err)
}
}
@@ -2709,6 +2733,14 @@ func (d *ddl) preSplitAndScatter(ctx sessionctx.Context, tbInfo *model.TableInfo
func (d *ddl) FlashbackCluster(ctx sessionctx.Context, flashbackTS uint64) error {
logutil.BgLogger().Info("[ddl] get flashback cluster job", zap.String("flashbackTS", oracle.GetTimeFromTS(flashbackTS).String()))
+ nowTS, err := ctx.GetStore().GetOracle().GetTimestamp(d.ctx, &oracle.Option{})
+ if err != nil {
+ return errors.Trace(err)
+ }
+ gap := time.Until(oracle.GetTimeFromTS(nowTS)).Abs()
+ if gap > 1*time.Second {
+ ctx.GetSessionVars().StmtCtx.AppendWarning(errors.Errorf("Gap between local time and PD TSO is %s, please check PD/system time", gap))
+ }
job := &model.Job{
Type: model.ActionFlashbackCluster,
BinlogInfo: &model.HistoryInfo{},
@@ -2720,9 +2752,11 @@ func (d *ddl) FlashbackCluster(ctx sessionctx.Context, flashbackTS uint64) error
variable.On, /* tidb_enable_auto_analyze */
variable.Off, /* tidb_super_read_only */
0, /* totalRegions */
- 0 /* newCommitTS */},
+ 0, /* startTS */
+ 0, /* commitTS */
+ variable.On /* tidb_ttl_job_enable */},
}
- err := d.DoDDLJob(ctx, job)
+ err = d.DoDDLJob(ctx, job)
err = d.callHookOnChanged(job, err)
return errors.Trace(err)
}
@@ -2998,8 +3032,29 @@ func SetDirectPlacementOpt(placementSettings *model.PlacementSettings, placement
return nil
}
+// SetDirectResourceGroupUnit tries to set the ResourceGroupSettings.
+func SetDirectResourceGroupUnit(resourceGroupSettings *model.ResourceGroupSettings, typ ast.ResourceUnitType, stringVal string, uintVal uint64) error {
+ switch typ {
+ case ast.ResourceRRURate:
+ resourceGroupSettings.RRURate = uintVal
+ case ast.ResourceWRURate:
+ resourceGroupSettings.WRURate = uintVal
+ case ast.ResourceUnitCPU:
+ resourceGroupSettings.CPULimiter = stringVal
+ case ast.ResourceUnitIOReadBandwidth:
+ resourceGroupSettings.IOReadBandwidth = stringVal
+ case ast.ResourceUnitIOWriteBandwidth:
+ resourceGroupSettings.IOWriteBandwidth = stringVal
+ default:
+ return errors.Trace(errors.New("unknown resource unit type"))
+ }
+ return nil
+}
+
// handleTableOptions updates tableInfo according to table options.
func handleTableOptions(options []*ast.TableOption, tbInfo *model.TableInfo) error {
+ var ttlOptionsHandled bool
+
for _, op := range options {
switch op.Tp {
case ast.TableOptionAutoIncrement:
@@ -3036,6 +3091,28 @@ func handleTableOptions(options []*ast.TableOption, tbInfo *model.TableInfo) err
tbInfo.PlacementPolicyRef = &model.PolicyRefInfo{
Name: model.NewCIStr(op.StrValue),
}
+ case ast.TableOptionTTL, ast.TableOptionTTLEnable, ast.TableOptionTTLJobInterval:
+ if ttlOptionsHandled {
+ continue
+ }
+
+ ttlInfo, ttlEnable, ttlJobInterval, err := getTTLInfoInOptions(options)
+ if err != nil {
+ return err
+ }
+ // It's impossible that `ttlInfo` and `ttlEnable` are all nil, because we have met this option.
+ // After exclude the situation `ttlInfo == nil && ttlEnable != nil`, we could say `ttlInfo != nil`
+ if ttlInfo == nil {
+ if ttlEnable != nil {
+ return errors.Trace(dbterror.ErrSetTTLOptionForNonTTLTable.FastGenByArgs("TTL_ENABLE"))
+ }
+ if ttlJobInterval != nil {
+ return errors.Trace(dbterror.ErrSetTTLOptionForNonTTLTable.FastGenByArgs("TTL_JOB_INTERVAL"))
+ }
+ }
+
+ tbInfo.TTLInfo = ttlInfo
+ ttlOptionsHandled = true
}
}
shardingBits := shardingBits(tbInfo)
@@ -3221,12 +3298,21 @@ func (d *ddl) AlterTable(ctx context.Context, sctx sessionctx.Context, stmt *ast
return dbterror.ErrOptOnCacheTable.GenWithStackByArgs("Alter Table")
}
}
+ // set name for anonymous foreign key.
+ maxForeignKeyID := tb.Meta().MaxForeignKeyID
+ for _, spec := range validSpecs {
+ if spec.Tp == ast.AlterTableAddConstraint && spec.Constraint.Tp == ast.ConstraintForeignKey && spec.Constraint.Name == "" {
+ maxForeignKeyID++
+ spec.Constraint.Name = fmt.Sprintf("fk_%d", maxForeignKeyID)
+ }
+ }
if len(validSpecs) > 1 {
sctx.GetSessionVars().StmtCtx.MultiSchemaInfo = model.NewMultiSchemaInfo()
}
for _, spec := range validSpecs {
var handledCharsetOrCollate bool
+ var ttlOptionsHandled bool
switch spec.Tp {
case ast.AlterTableAddColumns:
err = d.AddColumn(sctx, ident, spec)
@@ -3332,7 +3418,7 @@ func (d *ddl) AlterTable(ctx context.Context, sctx sessionctx.Context, stmt *ast
}
err = d.ShardRowID(sctx, ident, opt.UintValue)
case ast.TableOptionAutoIncrement:
- err = d.RebaseAutoID(sctx, ident, int64(opt.UintValue), autoid.RowIDAllocType, opt.BoolValue)
+ err = d.RebaseAutoID(sctx, ident, int64(opt.UintValue), autoid.AutoIncrementType, opt.BoolValue)
case ast.TableOptionAutoIdCache:
if opt.UintValue > uint64(math.MaxInt64) {
// TODO: Refine this error.
@@ -3363,6 +3449,21 @@ func (d *ddl) AlterTable(ctx context.Context, sctx sessionctx.Context, stmt *ast
Name: model.NewCIStr(opt.StrValue),
}
case ast.TableOptionEngine:
+ case ast.TableOptionTTL, ast.TableOptionTTLEnable, ast.TableOptionTTLJobInterval:
+ var ttlInfo *model.TTLInfo
+ var ttlEnable *bool
+ var ttlJobInterval *duration.Duration
+
+ if ttlOptionsHandled {
+ continue
+ }
+ ttlInfo, ttlEnable, ttlJobInterval, err = getTTLInfoInOptions(spec.Options)
+ if err != nil {
+ return err
+ }
+ err = d.AlterTableTTLInfoOrEnable(sctx, ident, ttlInfo, ttlEnable, ttlJobInterval)
+
+ ttlOptionsHandled = true
default:
err = dbterror.ErrUnsupportedAlterTableOption
}
@@ -3406,6 +3507,9 @@ func (d *ddl) AlterTable(ctx context.Context, sctx sessionctx.Context, stmt *ast
case ast.AlterTableDisableKeys, ast.AlterTableEnableKeys:
// Nothing to do now, see https://github.com/pingcap/tidb/issues/1051
// MyISAM specific
+ case ast.AlterTableRemoveTTL:
+ // the parser makes sure we have only one `ast.AlterTableRemoveTTL` in an alter statement
+ err = d.AlterTableRemoveTTL(sctx, ident)
default:
err = errors.Trace(dbterror.ErrUnsupportedAlterTableSpec)
}
@@ -3446,6 +3550,10 @@ func (d *ddl) RebaseAutoID(ctx sessionctx.Context, ident ast.Ident, newBase int6
actionType = model.ActionRebaseAutoRandomBase
case autoid.RowIDAllocType:
actionType = model.ActionRebaseAutoID
+ case autoid.AutoIncrementType:
+ actionType = model.ActionRebaseAutoID
+ default:
+ panic(fmt.Sprintf("unimplemented rebase autoid type %s", tp))
}
if !force {
@@ -3599,7 +3707,10 @@ func CreateNewColumn(ctx sessionctx.Context, ti ast.Ident, schema *model.DBInfo,
return nil, dbterror.ErrUnsupportedOnGeneratedColumn.GenWithStackByArgs("Adding generated stored column through ALTER TABLE")
}
- _, dependColNames := findDependedColumnNames(specNewColumn)
+ _, dependColNames, err := findDependedColumnNames(schema.Name, t.Meta().Name, specNewColumn)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
if !ctx.GetSessionVars().EnableAutoIncrementInGenerated {
if err := checkAutoIncrementRef(specNewColumn.Name.Name.L, dependColNames, t.Meta()); err != nil {
return nil, errors.Trace(err)
@@ -4233,11 +4344,19 @@ func checkIsDroppableColumn(ctx sessionctx.Context, is infoschema.InfoSchema, sc
if err = isDroppableColumn(tblInfo, colName); err != nil {
return false, errors.Trace(err)
}
+ if err = checkDropColumnWithPartitionConstraint(t, colName); err != nil {
+ return false, errors.Trace(err)
+ }
// Check the column with foreign key.
err = checkDropColumnWithForeignKeyConstraint(is, schema.Name.L, tblInfo, colName.L)
if err != nil {
return false, errors.Trace(err)
}
+ // Check the column with TTL config
+ err = checkDropColumnWithTTLConfig(tblInfo, colName.L)
+ if err != nil {
+ return false, errors.Trace(err)
+ }
// We don't support dropping column with PK handle covered now.
if col.IsPKHandleColumn(tblInfo) {
return false, dbterror.ErrUnsupportedPKHandle
@@ -4248,6 +4367,24 @@ func checkIsDroppableColumn(ctx sessionctx.Context, is infoschema.InfoSchema, sc
return true, nil
}
+// checkDropColumnWithPartitionConstraint is used to check the partition constraint of the drop column.
+func checkDropColumnWithPartitionConstraint(t table.Table, colName model.CIStr) error {
+ if t.Meta().Partition == nil {
+ return nil
+ }
+ pt, ok := t.(table.PartitionedTable)
+ if !ok {
+ // Should never happen!
+ return errors.Trace(dbterror.ErrDependentByPartitionFunctional.GenWithStackByArgs(colName.L))
+ }
+ for _, name := range pt.GetPartitionColumnNames() {
+ if strings.EqualFold(name.L, colName.L) {
+ return errors.Trace(dbterror.ErrDependentByPartitionFunctional.GenWithStackByArgs(colName.L))
+ }
+ }
+ return nil
+}
+
func checkVisibleColumnCnt(t table.Table, addCnt, dropCnt int) error {
tblInfo := t.Meta()
visibleColumCnt := 0
@@ -4386,7 +4523,7 @@ func setColumnComment(ctx sessionctx.Context, col *table.Column, option *ast.Col
func processColumnOptions(ctx sessionctx.Context, col *table.Column, options []*ast.ColumnOption) error {
var sb strings.Builder
restoreFlags := format.RestoreStringSingleQuotes | format.RestoreKeyWordLowercase | format.RestoreNameBackQuotes |
- format.RestoreSpacesAroundBinaryOperation
+ format.RestoreSpacesAroundBinaryOperation | format.RestoreWithoutSchemaName | format.RestoreWithoutSchemaName
restoreCtx := format.NewRestoreCtx(restoreFlags, &sb)
var hasDefaultValue, setOnUpdateNow bool
@@ -4611,6 +4748,9 @@ func GetModifiableColumnJob(
if err = isGeneratedRelatedColumn(t.Meta(), newCol.ColumnInfo, col.ColumnInfo); err != nil {
return nil, errors.Trace(err)
}
+ if t.Meta().Partition != nil {
+ return nil, dbterror.ErrUnsupportedModifyColumn.GenWithStackByArgs("table is partition table")
+ }
}
// Check that the column change does not affect the partitioning column
@@ -4625,9 +4765,15 @@ func GetModifiableColumnJob(
for _, name := range pt.GetPartitionColumnNames() {
if strings.EqualFold(name.L, col.Name.L) {
isPartitioningColumn = true
+ break
}
}
if isPartitioningColumn {
+ // TODO: update the partitioning columns with new names if column is renamed
+ // Would be an extension from MySQL which does not support it.
+ if col.Name.L != newCol.Name.L {
+ return nil, dbterror.ErrDependentByPartitionFunctional.GenWithStackByArgs(col.Name.L)
+ }
if !isColTypeAllowedAsPartitioningCol(newCol.FieldType) {
return nil, dbterror.ErrNotAllowedTypeInPartition.GenWithStackByArgs(newCol.Name.O)
}
@@ -4671,7 +4817,6 @@ func GetModifiableColumnJob(
newTblInfo.Columns = newCols
var buf bytes.Buffer
- // TODO: update the partitioning columns with new names if column is renamed
AppendPartitionInfo(tblInfo.GetPartitionInfo(), &buf, mysql.ModeNone)
// The parser supports ALTER TABLE ... PARTITION BY ... even if the ddl code does not yet :)
// Ignoring warnings
@@ -4720,10 +4865,17 @@ func GetModifiableColumnJob(
}
// As same with MySQL, we don't support modifying the stored status for generated columns.
- if err = checkModifyGeneratedColumn(sctx, t, col, newCol, specNewColumn, spec.Position); err != nil {
+ if err = checkModifyGeneratedColumn(sctx, schema.Name, t, col, newCol, specNewColumn, spec.Position); err != nil {
return nil, errors.Trace(err)
}
+ if t.Meta().TTLInfo != nil {
+ // the column referenced by TTL should be a time type
+ if t.Meta().TTLInfo.ColumnName.L == originalColName.L && !types.IsTypeTime(newCol.ColumnInfo.FieldType.GetType()) {
+ return nil, errors.Trace(dbterror.ErrUnsupportedColumnInTTLConfig.GenWithStackByArgs(newCol.ColumnInfo.Name.O))
+ }
+ }
+
var newAutoRandBits uint64
if newAutoRandBits, err = checkAutoRandom(t.Meta(), col, specNewColumn); err != nil {
return nil, errors.Trace(err)
@@ -4996,6 +5148,11 @@ func (d *ddl) RenameColumn(ctx sessionctx.Context, ident ast.Ident, spec *ast.Al
}
}
+ err = checkDropColumnWithPartitionConstraint(tbl, oldColName)
+ if err != nil {
+ return errors.Trace(err)
+ }
+
tzName, tzOffset := ddlutil.GetTimeZone(ctx)
newCol := oldCol.Clone()
@@ -5145,6 +5302,11 @@ func (d *ddl) AlterTableAutoIDCache(ctx sessionctx.Context, ident ast.Ident, new
if err != nil {
return errors.Trace(err)
}
+ tbInfo := tb.Meta()
+ if (newCache == 1 && tbInfo.AutoIdCache != 1) ||
+ (newCache != 1 && tbInfo.AutoIdCache == 1) {
+ return fmt.Errorf("Can't Alter AUTO_ID_CACHE between 1 and non-1, the underlying implementation is different")
+ }
job := &model.Job{
SchemaID: schema.ID,
@@ -5262,6 +5424,96 @@ func (d *ddl) AlterTableSetTiFlashReplica(ctx sessionctx.Context, ident ast.Iden
return errors.Trace(err)
}
+// AlterTableTTLInfoOrEnable submit ddl job to change table info according to the ttlInfo, or ttlEnable
+// at least one of the `ttlInfo`, `ttlEnable` or `ttlCronJobSchedule` should be not nil.
+// When `ttlInfo` is nil, and `ttlEnable` is not, it will use the original `.TTLInfo` in the table info and modify the
+// `.Enable`. If the `.TTLInfo` in the table info is empty, this function will return an error.
+// When `ttlInfo` is nil, and `ttlCronJobSchedule` is not, it will use the original `.TTLInfo` in the table info and modify the
+// `.JobInterval`. If the `.TTLInfo` in the table info is empty, this function will return an error.
+// When `ttlInfo` is not nil, it simply submits the job with the `ttlInfo` and ignore the `ttlEnable`.
+func (d *ddl) AlterTableTTLInfoOrEnable(ctx sessionctx.Context, ident ast.Ident, ttlInfo *model.TTLInfo, ttlEnable *bool, ttlCronJobSchedule *duration.Duration) error {
+ is := d.infoCache.GetLatest()
+ schema, ok := is.SchemaByName(ident.Schema)
+ if !ok {
+ return infoschema.ErrDatabaseNotExists.GenWithStackByArgs(ident.Schema)
+ }
+
+ tb, err := is.TableByName(ident.Schema, ident.Name)
+ if err != nil {
+ return errors.Trace(infoschema.ErrTableNotExists.GenWithStackByArgs(ident.Schema, ident.Name))
+ }
+
+ tblInfo := tb.Meta().Clone()
+ tableID := tblInfo.ID
+ tableName := tblInfo.Name.L
+
+ var job *model.Job
+ if ttlInfo != nil {
+ tblInfo.TTLInfo = ttlInfo
+ err = checkTTLInfoValid(ctx, ident.Schema, tblInfo)
+ if err != nil {
+ return err
+ }
+ } else {
+ if tblInfo.TTLInfo == nil {
+ if ttlEnable != nil {
+ return errors.Trace(dbterror.ErrSetTTLOptionForNonTTLTable.FastGenByArgs("TTL_ENABLE"))
+ }
+ if ttlCronJobSchedule != nil {
+ return errors.Trace(dbterror.ErrSetTTLOptionForNonTTLTable.FastGenByArgs("TTL_JOB_INTERVAL"))
+ }
+ }
+ }
+
+ job = &model.Job{
+ SchemaID: schema.ID,
+ TableID: tableID,
+ SchemaName: schema.Name.L,
+ TableName: tableName,
+ Type: model.ActionAlterTTLInfo,
+ BinlogInfo: &model.HistoryInfo{},
+ Args: []interface{}{ttlInfo, ttlEnable, ttlCronJobSchedule},
+ }
+
+ err = d.DoDDLJob(ctx, job)
+ err = d.callHookOnChanged(job, err)
+ return errors.Trace(err)
+}
+
+func (d *ddl) AlterTableRemoveTTL(ctx sessionctx.Context, ident ast.Ident) error {
+ is := d.infoCache.GetLatest()
+
+ schema, ok := is.SchemaByName(ident.Schema)
+ if !ok {
+ return infoschema.ErrDatabaseNotExists.GenWithStackByArgs(ident.Schema)
+ }
+
+ tb, err := is.TableByName(ident.Schema, ident.Name)
+ if err != nil {
+ return errors.Trace(infoschema.ErrTableNotExists.GenWithStackByArgs(ident.Schema, ident.Name))
+ }
+
+ tblInfo := tb.Meta().Clone()
+ tableID := tblInfo.ID
+ tableName := tblInfo.Name.L
+
+ if tblInfo.TTLInfo != nil {
+ job := &model.Job{
+ SchemaID: schema.ID,
+ TableID: tableID,
+ SchemaName: schema.Name.L,
+ TableName: tableName,
+ Type: model.ActionAlterTTLRemove,
+ BinlogInfo: &model.HistoryInfo{},
+ }
+ err = d.DoDDLJob(ctx, job)
+ err = d.callHookOnChanged(job, err)
+ return errors.Trace(err)
+ }
+
+ return nil
+}
+
func isTableTiFlashSupported(schema *model.DBInfo, tb table.Table) error {
// Memory tables and system tables are not supported by TiFlash
if util.IsMemOrSysDB(schema.Name.L) {
@@ -5987,7 +6239,7 @@ func (d *ddl) CreatePrimaryKey(ctx sessionctx.Context, ti ast.Ident, indexName m
// After DDL job is put to the queue, and if the check fail, TiDB will run the DDL cancel logic.
// The recover step causes DDL wait a few seconds, makes the unit test painfully slow.
// For same reason, decide whether index is global here.
- indexColumns, err := buildIndexColumns(ctx, tblInfo.Columns, indexPartSpecifications)
+ indexColumns, _, err := buildIndexColumns(ctx, tblInfo.Columns, indexPartSpecifications)
if err != nil {
return errors.Trace(err)
}
@@ -6090,14 +6342,14 @@ func BuildHiddenColumnInfo(ctx sessionctx.Context, indexPartSpecifications []*as
var sb strings.Builder
restoreFlags := format.RestoreStringSingleQuotes | format.RestoreKeyWordLowercase | format.RestoreNameBackQuotes |
- format.RestoreSpacesAroundBinaryOperation
+ format.RestoreSpacesAroundBinaryOperation | format.RestoreWithoutSchemaName | format.RestoreWithoutTableName
restoreCtx := format.NewRestoreCtx(restoreFlags, &sb)
sb.Reset()
err := idxPart.Expr.Restore(restoreCtx)
if err != nil {
return nil, errors.Trace(err)
}
- expr, err := expression.RewriteSimpleExprWithTableInfo(ctx, tblInfo, idxPart.Expr)
+ expr, err := expression.RewriteSimpleExprWithTableInfo(ctx, tblInfo, idxPart.Expr, true)
if err != nil {
// TODO: refine the error message.
return nil, err
@@ -6212,7 +6464,7 @@ func (d *ddl) createIndex(ctx sessionctx.Context, ti ast.Ident, keyType ast.Inde
// After DDL job is put to the queue, and if the check fail, TiDB will run the DDL cancel logic.
// The recover step causes DDL wait a few seconds, makes the unit test painfully slow.
// For same reason, decide whether index is global here.
- indexColumns, err := buildIndexColumns(ctx, finalColumns, indexPartSpecifications)
+ indexColumns, _, err := buildIndexColumns(ctx, finalColumns, indexPartSpecifications)
if err != nil {
return errors.Trace(err)
}
@@ -6393,7 +6645,7 @@ func (d *ddl) CreateForeignKey(ctx sessionctx.Context, ti ast.Ident, fkName mode
if err != nil {
return err
}
- if model.FindIndexByColumns(t.Meta(), fkInfo.Cols...) == nil {
+ if model.FindIndexByColumns(t.Meta(), t.Meta().Indices, fkInfo.Cols...) == nil {
// Need to auto create index for fk cols
if ctx.GetSessionVars().StmtCtx.MultiSchemaInfo == nil {
ctx.GetSessionVars().StmtCtx.MultiSchemaInfo = model.NewMultiSchemaInfo()
@@ -7353,6 +7605,124 @@ func checkIgnorePlacementDDL(ctx sessionctx.Context) bool {
return false
}
+// CreateResourceGroup implements the DDL interface, creates a resource group.
+func (d *ddl) CreateResourceGroup(ctx sessionctx.Context, stmt *ast.CreateResourceGroupStmt) (err error) {
+ groupInfo := &model.ResourceGroupInfo{ResourceGroupSettings: &model.ResourceGroupSettings{}}
+ groupName := stmt.ResourceGroupName
+ groupInfo.Name = groupName
+ for _, opt := range stmt.ResourceGroupOptionList {
+ err := SetDirectResourceGroupUnit(groupInfo.ResourceGroupSettings, opt.Tp, opt.StrValue, opt.UintValue)
+ if err != nil {
+ return err
+ }
+ }
+ if !stmt.IfNotExists {
+ if _, ok := d.GetInfoSchemaWithInterceptor(ctx).ResourceGroupByName(groupName); ok {
+ return infoschema.ErrResourceGroupExists.GenWithStackByArgs(groupName)
+ }
+ }
+
+ if groupName.L == defaultResourceGroupName {
+ return errors.Trace(infoschema.ErrReservedSyntax.GenWithStackByArgs(groupName))
+ }
+
+ if err := d.checkResourceGroupValidation(groupInfo); err != nil {
+ return err
+ }
+
+ logutil.BgLogger().Debug("create resource group", zap.String("name", groupName.O), zap.Stringer("resource group settings", groupInfo.ResourceGroupSettings))
+ groupIDs, err := d.genGlobalIDs(1)
+ if err != nil {
+ return err
+ }
+ groupInfo.ID = groupIDs[0]
+
+ job := &model.Job{
+ SchemaName: groupName.L,
+ Type: model.ActionCreateResourceGroup,
+ BinlogInfo: &model.HistoryInfo{},
+ Args: []interface{}{groupInfo, false},
+ }
+ err = d.DoDDLJob(ctx, job)
+ err = d.callHookOnChanged(job, err)
+ return err
+}
+
+func (d *ddl) checkResourceGroupValidation(groupInfo *model.ResourceGroupInfo) error {
+ _, err := resourcegroup.NewGroupFromOptions(groupInfo.Name.L, groupInfo.ResourceGroupSettings)
+ return err
+}
+
+// DropResourceGroup implements the DDL interface.
+func (d *ddl) DropResourceGroup(ctx sessionctx.Context, stmt *ast.DropResourceGroupStmt) (err error) {
+ groupName := stmt.ResourceGroupName
+ is := d.GetInfoSchemaWithInterceptor(ctx)
+ // Check group existence.
+ group, ok := is.ResourceGroupByName(groupName)
+ if !ok {
+ err = infoschema.ErrResourceGroupNotExists.GenWithStackByArgs(groupName)
+ if stmt.IfExists {
+ ctx.GetSessionVars().StmtCtx.AppendNote(err)
+ return nil
+ }
+ return err
+ }
+
+ job := &model.Job{
+ SchemaID: group.ID,
+ SchemaName: group.Name.L,
+ Type: model.ActionDropResourceGroup,
+ BinlogInfo: &model.HistoryInfo{},
+ Args: []interface{}{groupName},
+ }
+ err = d.DoDDLJob(ctx, job)
+ err = d.callHookOnChanged(job, err)
+ return err
+}
+
+func buildResourceGroup(oldGroup *model.ResourceGroupInfo, options []*ast.ResourceGroupOption) (*model.ResourceGroupInfo, error) {
+ groupInfo := &model.ResourceGroupInfo{Name: oldGroup.Name, ID: oldGroup.ID, ResourceGroupSettings: &model.ResourceGroupSettings{}}
+ for _, opt := range options {
+ err := SetDirectResourceGroupUnit(groupInfo.ResourceGroupSettings, opt.Tp, opt.StrValue, opt.UintValue)
+ if err != nil {
+ return nil, err
+ }
+ }
+ return groupInfo, nil
+}
+
+// AlterResourceGroup implements the DDL interface.
+func (d *ddl) AlterResourceGroup(ctx sessionctx.Context, stmt *ast.AlterResourceGroupStmt) (err error) {
+ groupName := stmt.ResourceGroupName
+ is := d.GetInfoSchemaWithInterceptor(ctx)
+ // Check group existence.
+ group, ok := is.ResourceGroupByName(groupName)
+ if !ok {
+ return infoschema.ErrResourceGroupNotExists.GenWithStackByArgs(groupName)
+ }
+ newGroupInfo, err := buildResourceGroup(group, stmt.ResourceGroupOptionList)
+ if err != nil {
+ return errors.Trace(err)
+ }
+
+ if err := d.checkResourceGroupValidation(newGroupInfo); err != nil {
+ return err
+ }
+
+ logutil.BgLogger().Debug("alter resource group", zap.String("name", groupName.L), zap.Stringer("new resource group settings", newGroupInfo.ResourceGroupSettings))
+
+ job := &model.Job{
+ SchemaID: newGroupInfo.ID,
+ SchemaName: newGroupInfo.Name.L,
+ Type: model.ActionAlterResourceGroup,
+ BinlogInfo: &model.HistoryInfo{},
+ Args: []interface{}{newGroupInfo},
+ }
+ err = d.DoDDLJob(ctx, job)
+ err = d.callHookOnChanged(job, err)
+ return err
+}
+
func (d *ddl) CreatePlacementPolicy(ctx sessionctx.Context, stmt *ast.CreatePlacementPolicyStmt) (err error) {
if checkIgnorePlacementDDL(ctx) {
return nil
diff --git a/ddl/ddl_api_test.go b/ddl/ddl_api_test.go
index f4010015f5456..9f36cc95f806c 100644
--- a/ddl/ddl_api_test.go
+++ b/ddl/ddl_api_test.go
@@ -115,73 +115,6 @@ func TestGetDDLJobsIsSort(t *testing.T) {
require.NoError(t, err)
}
-func TestGetHistoryDDLJobs(t *testing.T) {
- store := testkit.CreateMockStore(t)
-
- // delete the internal DDL record.
- err := kv.RunInNewTxn(kv.WithInternalSourceType(context.Background(), kv.InternalTxnDDL), store, false, func(ctx context.Context, txn kv.Transaction) error {
- return meta.NewMeta(txn).ClearAllHistoryJob()
- })
- require.NoError(t, err)
- testkit.NewTestKit(t, store).MustExec("delete from mysql.tidb_ddl_history")
-
- tk := testkit.NewTestKit(t, store)
- sess := tk.Session()
- tk.MustExec("begin")
-
- txn, err := sess.Txn(true)
- require.NoError(t, err)
-
- m := meta.NewMeta(txn)
- cnt := 11
- jobs := make([]*model.Job, cnt)
- for i := 0; i < cnt; i++ {
- jobs[i] = &model.Job{
- ID: int64(i),
- SchemaID: 1,
- Type: model.ActionCreateTable,
- }
- err = ddl.AddHistoryDDLJobForTest(sess, m, jobs[i], true)
- require.NoError(t, err)
-
- historyJobs, err := ddl.GetLastNHistoryDDLJobs(m, ddl.DefNumHistoryJobs)
- require.NoError(t, err)
-
- if i+1 > ddl.MaxHistoryJobs {
- require.Len(t, historyJobs, ddl.MaxHistoryJobs)
- } else {
- require.Len(t, historyJobs, i+1)
- }
- }
-
- delta := cnt - ddl.MaxHistoryJobs
- historyJobs, err := ddl.GetLastNHistoryDDLJobs(m, ddl.DefNumHistoryJobs)
- require.NoError(t, err)
- require.Len(t, historyJobs, ddl.MaxHistoryJobs)
-
- l := len(historyJobs) - 1
- for i, job := range historyJobs {
- require.Equal(t, jobs[delta+l-i].ID, job.ID)
- require.Equal(t, int64(1), job.SchemaID)
- require.Equal(t, model.ActionCreateTable, job.Type)
- }
-
- var historyJobs2 []*model.Job
- err = ddl.IterHistoryDDLJobs(txn, func(jobs []*model.Job) (b bool, e error) {
- for _, job := range jobs {
- historyJobs2 = append(historyJobs2, job)
- if len(historyJobs2) == ddl.DefNumHistoryJobs {
- return true, nil
- }
- }
- return false, nil
- })
- require.NoError(t, err)
- require.Equal(t, historyJobs, historyJobs2)
-
- tk.MustExec("rollback")
-}
-
func TestIsJobRollbackable(t *testing.T) {
cases := []struct {
tp model.ActionType
diff --git a/ddl/ddl_test.go b/ddl/ddl_test.go
index 9760608674c6f..6b210d2445c26 100644
--- a/ddl/ddl_test.go
+++ b/ddl/ddl_test.go
@@ -19,7 +19,6 @@ import (
"testing"
"time"
- "github.com/pingcap/failpoint"
"github.com/pingcap/tidb/infoschema"
"github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/meta"
@@ -56,6 +55,9 @@ func (d *ddl) SetInterceptor(i Interceptor) {
// JobNeedGCForTest is only used for test.
var JobNeedGCForTest = jobNeedGC
+// NewSession is only used for test.
+var NewSession = newSession
+
// GetMaxRowID is used for test.
func GetMaxRowID(store kv.Storage, priority int, t table.Table, startHandle, endHandle kv.Key) (kv.Key, error) {
return getRangeEndKey(NewJobContext(), store, priority, t.RecordPrefix(), startHandle, endHandle)
@@ -268,109 +270,6 @@ func TestBuildJobDependence(t *testing.T) {
require.NoError(t, err)
}
-func TestNotifyDDLJob(t *testing.T) {
- store := createMockStore(t)
- defer func() {
- require.NoError(t, store.Close())
- }()
-
- require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/ddl/NoDDLDispatchLoop", `return(true)`))
- defer require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/ddl/NoDDLDispatchLoop"))
-
- getFirstNotificationAfterStartDDL := func(d *ddl) {
- select {
- case <-d.workers[addIdxWorker].ddlJobCh:
- default:
- // The notification may be received by the worker.
- }
- select {
- case <-d.workers[generalWorker].ddlJobCh:
- default:
- // The notification may be received by the worker.
- }
-
- select {
- case <-d.ddlJobCh:
- default:
- }
- }
-
- d, err := testNewDDLAndStart(
- context.Background(),
- WithStore(store),
- WithLease(testLease),
- )
- require.NoError(t, err)
- defer func() {
- require.NoError(t, d.Stop())
- }()
- getFirstNotificationAfterStartDDL(d)
- // Ensure that the notification is not handled in workers `start` function.
- d.cancel()
- for _, worker := range d.workers {
- worker.Close()
- }
-
- job := &model.Job{
- SchemaID: 1,
- TableID: 2,
- Type: model.ActionCreateTable,
- BinlogInfo: &model.HistoryInfo{},
- Args: []interface{}{},
- }
- // Test the notification mechanism of the owner and the server receiving the DDL request on the same TiDB.
- // This DDL request is a general DDL job.
- d.asyncNotifyWorker(job)
- select {
- case <-d.workers[generalWorker].ddlJobCh:
- case <-d.ddlJobCh:
- default:
- require.FailNow(t, "do not get the general job notification")
- }
- // Test the notification mechanism of the owner and the server receiving the DDL request on the same TiDB.
- // This DDL request is a add index DDL job.
- job.Type = model.ActionAddIndex
- d.asyncNotifyWorker(job)
- select {
- case <-d.workers[addIdxWorker].ddlJobCh:
- case <-d.ddlJobCh:
- default:
- require.FailNow(t, "do not get the add index job notification")
- }
-
- // Test the notification mechanism that the owner and the server receiving the DDL request are not on the same TiDB.
- // And the etcd client is nil.
- d1, err := testNewDDLAndStart(
- context.Background(),
- WithStore(store),
- WithLease(testLease),
- )
- require.NoError(t, err)
- defer func() {
- require.NoError(t, d1.Stop())
- }()
- getFirstNotificationAfterStartDDL(d1)
- // Ensure that the notification is not handled by worker's "start".
- d1.cancel()
- for _, worker := range d1.workers {
- worker.Close()
- }
- d1.ownerManager.RetireOwner()
- d1.asyncNotifyWorker(job)
- job.Type = model.ActionCreateTable
- d1.asyncNotifyWorker(job)
- require.False(t, d1.OwnerManager().IsOwner())
- select {
- case <-d1.workers[addIdxWorker].ddlJobCh:
- require.FailNow(t, "should not get the add index job notification")
- case <-d1.workers[generalWorker].ddlJobCh:
- require.FailNow(t, "should not get the general job notification")
- case <-d1.ddlJobCh:
- require.FailNow(t, "should not get the job notification")
- default:
- }
-}
-
func TestError(t *testing.T) {
kvErrs := []*terror.Error{
dbterror.ErrDDLJobNotFound,
diff --git a/ddl/ddl_tiflash_api.go b/ddl/ddl_tiflash_api.go
index 7e456815acd8c..4b8fca2a91c0f 100644
--- a/ddl/ddl_tiflash_api.go
+++ b/ddl/ddl_tiflash_api.go
@@ -29,20 +29,14 @@ import (
"github.com/pingcap/errors"
"github.com/pingcap/failpoint"
- "github.com/pingcap/tidb/ddl/placement"
ddlutil "github.com/pingcap/tidb/ddl/util"
"github.com/pingcap/tidb/domain/infosync"
"github.com/pingcap/tidb/infoschema"
- "github.com/pingcap/tidb/kv"
- "github.com/pingcap/tidb/meta"
"github.com/pingcap/tidb/parser/model"
- "github.com/pingcap/tidb/parser/terror"
"github.com/pingcap/tidb/sessionctx"
- "github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/store/helper"
"github.com/pingcap/tidb/table"
"github.com/pingcap/tidb/util"
- "github.com/pingcap/tidb/util/gcutil"
"github.com/pingcap/tidb/util/logutil"
atomicutil "go.uber.org/atomic"
"go.uber.org/zap"
@@ -50,12 +44,13 @@ import (
// TiFlashReplicaStatus records status for each TiFlash replica.
type TiFlashReplicaStatus struct {
- ID int64
- Count uint64
- LocationLabels []string
- Available bool
- HighPriority bool
- IsPartition bool
+ ID int64
+ Count uint64
+ LocationLabels []string
+ Available bool
+ LogicalTableAvailable bool
+ HighPriority bool
+ IsPartition bool
}
// TiFlashTick is type for backoff threshold.
@@ -283,16 +278,16 @@ func LoadTiFlashReplicaInfo(tblInfo *model.TableInfo, tableList *[]TiFlashReplic
for _, p := range pi.Definitions {
logutil.BgLogger().Debug(fmt.Sprintf("Table %v has partition %v\n", tblInfo.ID, p.ID))
*tableList = append(*tableList, TiFlashReplicaStatus{p.ID,
- tblInfo.TiFlashReplica.Count, tblInfo.TiFlashReplica.LocationLabels, tblInfo.TiFlashReplica.IsPartitionAvailable(p.ID), false, true})
+ tblInfo.TiFlashReplica.Count, tblInfo.TiFlashReplica.LocationLabels, tblInfo.TiFlashReplica.IsPartitionAvailable(p.ID), tblInfo.TiFlashReplica.Available, false, true})
}
// partitions that in adding mid-state
for _, p := range pi.AddingDefinitions {
logutil.BgLogger().Debug(fmt.Sprintf("Table %v has partition adding %v\n", tblInfo.ID, p.ID))
- *tableList = append(*tableList, TiFlashReplicaStatus{p.ID, tblInfo.TiFlashReplica.Count, tblInfo.TiFlashReplica.LocationLabels, tblInfo.TiFlashReplica.IsPartitionAvailable(p.ID), true, true})
+ *tableList = append(*tableList, TiFlashReplicaStatus{p.ID, tblInfo.TiFlashReplica.Count, tblInfo.TiFlashReplica.LocationLabels, tblInfo.TiFlashReplica.IsPartitionAvailable(p.ID), tblInfo.TiFlashReplica.Available, true, true})
}
} else {
logutil.BgLogger().Debug(fmt.Sprintf("Table %v has no partition\n", tblInfo.ID))
- *tableList = append(*tableList, TiFlashReplicaStatus{tblInfo.ID, tblInfo.TiFlashReplica.Count, tblInfo.TiFlashReplica.LocationLabels, tblInfo.TiFlashReplica.Available, false, false})
+ *tableList = append(*tableList, TiFlashReplicaStatus{tblInfo.ID, tblInfo.TiFlashReplica.Count, tblInfo.TiFlashReplica.LocationLabels, tblInfo.TiFlashReplica.Available, tblInfo.TiFlashReplica.Available, false, false})
}
}
@@ -355,22 +350,6 @@ func updateTiFlashStores(pollTiFlashContext *TiFlashManagementContext) error {
return nil
}
-func getTiFlashPeerWithoutLagCount(pollTiFlashContext *TiFlashManagementContext, tableID int64) (int, error) {
- // storeIDs -> regionID, PD will not create two peer on the same store
- var flashPeerCount int
- for _, store := range pollTiFlashContext.TiFlashStores {
- regionReplica := make(map[int64]int)
- err := helper.CollectTiFlashStatus(store.Store.StatusAddress, tableID, ®ionReplica)
- if err != nil {
- logutil.BgLogger().Error("Fail to get peer status from TiFlash.",
- zap.Int64("tableID", tableID))
- return 0, err
- }
- flashPeerCount += len(regionReplica)
- }
- return flashPeerCount, nil
-}
-
func pollAvailableTableProgress(schemas infoschema.InfoSchema, ctx sessionctx.Context, pollTiFlashContext *TiFlashManagementContext) {
pollMaxCount := RefreshProgressMaxTableCount
failpoint.Inject("PollAvailableTableProgressMaxCount", func(val failpoint.Value) {
@@ -466,6 +445,21 @@ func (d *ddl) refreshTiFlashTicker(ctx sessionctx.Context, pollTiFlashContext *T
}
}
+ failpoint.Inject("waitForAddPartition", func(val failpoint.Value) {
+ for _, phyTable := range tableList {
+ is := d.infoCache.GetLatest()
+ _, ok := is.TableByID(phyTable.ID)
+ if !ok {
+ tb, _, _ := is.FindTableByPartitionID(phyTable.ID)
+ if tb == nil {
+ logutil.BgLogger().Info("[ddl] waitForAddPartition")
+ sleepSecond := val.(int)
+ time.Sleep(time.Duration(sleepSecond) * time.Second)
+ }
+ }
+ }
+ })
+
needPushPending := false
if pollTiFlashContext.UpdatingProgressTables.Len() == 0 {
needPushPending = true
@@ -479,7 +473,7 @@ func (d *ddl) refreshTiFlashTicker(ctx sessionctx.Context, pollTiFlashContext *T
available = val.(bool)
})
// We only check unavailable tables here, so doesn't include blocked add partition case.
- if !available {
+ if !available && !tb.LogicalTableAvailable {
enabled, inqueue, _ := pollTiFlashContext.Backoff.Tick(tb.ID)
if inqueue && !enabled {
logutil.BgLogger().Info("Escape checking available status due to backoff", zap.Int64("tableId", tb.ID))
@@ -540,110 +534,6 @@ func (d *ddl) refreshTiFlashTicker(ctx sessionctx.Context, pollTiFlashContext *T
return nil
}
-func getDropOrTruncateTableTiflash(ctx sessionctx.Context, currentSchema infoschema.InfoSchema, tikvHelper *helper.Helper, replicaInfos *[]TiFlashReplicaStatus) error {
- store := tikvHelper.Store.(kv.Storage)
-
- txn, err := store.Begin()
- if err != nil {
- return errors.Trace(err)
- }
- gcSafePoint, err := gcutil.GetGCSafePoint(ctx)
- if err != nil {
- return err
- }
- uniqueIDMap := make(map[int64]struct{})
- handleJobAndTableInfo := func(job *model.Job, tblInfo *model.TableInfo) (bool, error) {
- // Avoid duplicate table ID info.
- if _, ok := currentSchema.TableByID(tblInfo.ID); ok {
- return false, nil
- }
- if _, ok := uniqueIDMap[tblInfo.ID]; ok {
- return false, nil
- }
- uniqueIDMap[tblInfo.ID] = struct{}{}
- LoadTiFlashReplicaInfo(tblInfo, replicaInfos)
- return false, nil
- }
- fn := func(jobs []*model.Job) (bool, error) {
- getTable := func(StartTS uint64, SchemaID int64, TableID int64) (*model.TableInfo, error) {
- snapMeta := meta.NewSnapshotMeta(store.GetSnapshot(kv.NewVersion(StartTS)))
- if err != nil {
- return nil, err
- }
- tbl, err := snapMeta.GetTable(SchemaID, TableID)
- return tbl, err
- }
- return GetDropOrTruncateTableInfoFromJobsByStore(jobs, gcSafePoint, getTable, handleJobAndTableInfo)
- }
-
- err = IterAllDDLJobs(ctx, txn, fn)
- if err != nil {
- if terror.ErrorEqual(variable.ErrSnapshotTooOld, err) {
- // The err indicate that current ddl job and remain DDL jobs was been deleted by GC,
- // just ignore the error and return directly.
- return nil
- }
- return err
- }
- return nil
-}
-
-// HandlePlacementRuleRoutine fetch all rules from pd, remove all obsolete rules.
-// It handles rare situation, when we fail to alter pd rules.
-func HandlePlacementRuleRoutine(ctx sessionctx.Context, d *ddl, tableList []TiFlashReplicaStatus) error {
- c := context.Background()
- tikvStore, ok := ctx.GetStore().(helper.Storage)
- if !ok {
- return errors.New("Can not get Helper")
- }
- tikvHelper := &helper.Helper{
- Store: tikvStore,
- RegionCache: tikvStore.GetRegionCache(),
- }
-
- allRulesArr, err := infosync.GetTiFlashGroupRules(c, "tiflash")
- if err != nil {
- return errors.Trace(err)
- }
- allRules := make(map[string]placement.TiFlashRule)
- for _, r := range allRulesArr {
- allRules[r.ID] = r
- }
-
- start := time.Now()
- originLen := len(tableList)
- currentSchema := d.GetInfoSchemaWithInterceptor(ctx)
- if err := getDropOrTruncateTableTiflash(ctx, currentSchema, tikvHelper, &tableList); err != nil {
- // may fail when no `tikv_gc_safe_point` available, should return in order to remove valid pd rules.
- logutil.BgLogger().Error("getDropOrTruncateTableTiflash returns error", zap.Error(err))
- return errors.Trace(err)
- }
- elapsed := time.Since(start)
- logutil.BgLogger().Info("getDropOrTruncateTableTiflash cost", zap.Duration("time", elapsed), zap.Int("updated", len(tableList)-originLen))
- for _, tb := range tableList {
- // For every region in each table, if it has one replica, we reckon it ready.
- ruleID := fmt.Sprintf("table-%v-r", tb.ID)
- if _, ok := allRules[ruleID]; !ok {
- // Mostly because of a previous failure of setting pd rule.
- logutil.BgLogger().Warn(fmt.Sprintf("Table %v exists, but there are no rule for it", tb.ID))
- newRule := infosync.MakeNewRule(tb.ID, tb.Count, tb.LocationLabels)
- _ = infosync.SetTiFlashPlacementRule(context.Background(), *newRule)
- }
- // For every existing table, we do not remove their rules.
- delete(allRules, ruleID)
- }
-
- // Remove rules of non-existing table
- for _, v := range allRules {
- logutil.BgLogger().Info("Remove TiFlash rule", zap.String("id", v.ID))
- if err := infosync.DeleteTiFlashPlacementRule(c, "tiflash", v.ID); err != nil {
- logutil.BgLogger().Warn("delete TiFlash pd rule failed", zap.Error(err), zap.String("ruleID", v.ID))
- }
- }
-
- return nil
-}
-
func (d *ddl) PollTiFlashRoutine() {
pollTiflashContext, err := NewTiFlashManagementContext()
if err != nil {
diff --git a/ddl/ddl_worker.go b/ddl/ddl_worker.go
index 956f4c805347f..cc75cb43e50d7 100644
--- a/ddl/ddl_worker.go
+++ b/ddl/ddl_worker.go
@@ -97,8 +97,6 @@ type worker struct {
logCtx context.Context
lockSeqNum bool
- concurrentDDL bool
-
*ddlCtx
}
@@ -119,11 +117,11 @@ func NewJobContext() *JobContext {
cacheSQL: "",
cacheNormalizedSQL: "",
cacheDigest: nil,
- tp: "unknown",
+ tp: "",
}
}
-func newWorker(ctx context.Context, tp workerType, sessPool *sessionPool, delRangeMgr delRangeManager, dCtx *ddlCtx, concurrentDDL bool) *worker {
+func newWorker(ctx context.Context, tp workerType, sessPool *sessionPool, delRangeMgr delRangeManager, dCtx *ddlCtx) *worker {
worker := &worker{
id: ddlWorkerID.Add(1),
tp: tp,
@@ -132,7 +130,6 @@ func newWorker(ctx context.Context, tp workerType, sessPool *sessionPool, delRan
ddlCtx: dCtx,
sessPool: sessPool,
delRangeManager: delRangeMgr,
- concurrentDDL: concurrentDDL,
}
worker.addingDDLJobKey = addingDDLJobPrefix + worker.typeStr()
worker.logCtx = logutil.WithKeyValue(context.Background(), "worker", worker.String())
@@ -165,59 +162,6 @@ func (w *worker) Close() {
logutil.Logger(w.logCtx).Info("[ddl] DDL worker closed", zap.Duration("take time", time.Since(startTime)))
}
-// start is used for async online schema changing, it will try to become the owner firstly,
-// then wait or pull the job queue to handle a schema change job.
-func (w *worker) start(d *ddlCtx) {
- logutil.Logger(w.logCtx).Info("[ddl] start DDL worker")
- defer w.wg.Done()
- defer tidbutil.Recover(
- metrics.LabelDDLWorker,
- fmt.Sprintf("DDL ID %s, %s start", d.uuid, w),
- nil, true,
- )
-
- // We use 4 * lease time to check owner's timeout, so here, we will update owner's status
- // every 2 * lease time. If lease is 0, we will use default 1s.
- // But we use etcd to speed up, normally it takes less than 1s now, so we use 1s as the max value.
- checkTime := chooseLeaseTime(2*d.lease, 1*time.Second)
-
- ticker := time.NewTicker(checkTime)
- defer ticker.Stop()
- var notifyDDLJobByEtcdCh clientv3.WatchChan
- if d.etcdCli != nil {
- notifyDDLJobByEtcdCh = d.etcdCli.Watch(context.Background(), w.addingDDLJobKey)
- }
-
- rewatchCnt := 0
- for {
- ok := true
- select {
- case <-ticker.C:
- logutil.Logger(w.logCtx).Debug("[ddl] wait to check DDL status again", zap.Duration("interval", checkTime))
- case <-w.ddlJobCh:
- case _, ok = <-notifyDDLJobByEtcdCh:
- case <-w.ctx.Done():
- return
- }
-
- if !ok {
- logutil.Logger(w.logCtx).Warn("[ddl] start worker watch channel closed", zap.String("watch key", w.addingDDLJobKey))
- notifyDDLJobByEtcdCh = d.etcdCli.Watch(context.Background(), w.addingDDLJobKey)
- rewatchCnt++
- if rewatchCnt > 10 {
- time.Sleep(time.Duration(rewatchCnt) * time.Second)
- }
- continue
- }
-
- rewatchCnt = 0
- err := w.handleDDLJobQueue(d)
- if err != nil {
- logutil.Logger(w.logCtx).Warn("[ddl] handle DDL job failed", zap.Error(err))
- }
- }
-}
-
func (d *ddl) asyncNotifyByEtcd(addingDDLJobKey string, job *model.Job) {
if d.etcdCli == nil {
return
@@ -239,37 +183,6 @@ func asyncNotify(ch chan struct{}) {
}
}
-// buildJobDependence sets the curjob's dependency-ID.
-// The dependency-job's ID must less than the current job's ID, and we need the largest one in the list.
-func buildJobDependence(t *meta.Meta, curJob *model.Job) error {
- // Jobs in the same queue are ordered. If we want to find a job's dependency-job, we need to look for
- // it from the other queue. So if the job is "ActionAddIndex" job, we need find its dependency-job from DefaultJobList.
- jobListKey := meta.DefaultJobListKey
- if !curJob.MayNeedReorg() {
- jobListKey = meta.AddIndexJobListKey
- }
- jobs, err := t.GetAllDDLJobsInQueue(jobListKey)
- if err != nil {
- return errors.Trace(err)
- }
-
- for _, job := range jobs {
- if curJob.ID < job.ID {
- continue
- }
- isDependent, err := curJob.IsDependentOn(job)
- if err != nil {
- return errors.Trace(err)
- }
- if isDependent {
- logutil.BgLogger().Info("[ddl] current DDL job depends on other job", zap.String("currentJob", curJob.String()), zap.String("dependentJob", job.String()))
- curJob.DependencyID = job.ID
- break
- }
- }
- return nil
-}
-
func (d *ddl) limitDDLJobs() {
defer tidbutil.Recover(metrics.LabelDDL, "limitDDLJobs", nil, true)
@@ -295,7 +208,7 @@ func (d *ddl) addBatchDDLJobs(tasks []*limitJobTask) {
startTime := time.Now()
var err error
// DDLForce2Queue is a flag to tell DDL worker to always push the job to the DDL queue.
- toTable := variable.EnableConcurrentDDL.Load() && !variable.DDLForce2Queue.Load()
+ toTable := !variable.DDLForce2Queue.Load()
if toTable {
err = d.addBatchDDLJobs2Table(tasks)
} else {
@@ -315,6 +228,37 @@ func (d *ddl) addBatchDDLJobs(tasks []*limitJobTask) {
}
}
+// buildJobDependence sets the curjob's dependency-ID.
+// The dependency-job's ID must less than the current job's ID, and we need the largest one in the list.
+func buildJobDependence(t *meta.Meta, curJob *model.Job) error {
+ // Jobs in the same queue are ordered. If we want to find a job's dependency-job, we need to look for
+ // it from the other queue. So if the job is "ActionAddIndex" job, we need find its dependency-job from DefaultJobList.
+ jobListKey := meta.DefaultJobListKey
+ if !curJob.MayNeedReorg() {
+ jobListKey = meta.AddIndexJobListKey
+ }
+ jobs, err := t.GetAllDDLJobsInQueue(jobListKey)
+ if err != nil {
+ return errors.Trace(err)
+ }
+
+ for _, job := range jobs {
+ if curJob.ID < job.ID {
+ continue
+ }
+ isDependent, err := curJob.IsDependentOn(job)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ if isDependent {
+ logutil.BgLogger().Info("[ddl] current DDL job depends on other job", zap.String("currentJob", curJob.String()), zap.String("dependentJob", job.String()))
+ curJob.DependencyID = job.ID
+ break
+ }
+ }
+ return nil
+}
+
func (d *ddl) addBatchDDLJobs2Queue(tasks []*limitJobTask) error {
ctx := kv.WithInternalSourceType(context.Background(), kv.InternalTxnDDL)
return kv.RunInNewTxn(ctx, d.store, true, func(ctx context.Context, txn kv.Transaction) error {
@@ -425,6 +369,7 @@ func (d *ddl) addBatchDDLJobs2Table(tasks []*limitJobTask) error {
jobTasks[i] = job
injectModifyJobArgFailPoint(job)
}
+
sess.SetDiskFullOpt(kvrpcpb.DiskFullOpt_AllowedOnAlmostFull)
err = insertDDLJobs2Table(newSession(sess), true, jobTasks...)
}
@@ -443,13 +388,6 @@ func injectFailPointForGetJob(job *model.Job) {
})
}
-// getFirstDDLJob gets the first DDL job form DDL queue.
-func (w *worker) getFirstDDLJob(t *meta.Meta) (*model.Job, error) {
- job, err := t.GetDDLJobByIdx(0)
- injectFailPointForGetJob(job)
- return job, errors.Trace(err)
-}
-
// handleUpdateJobError handles the too large DDL job.
func (w *worker) handleUpdateJobError(t *meta.Meta, job *model.Job, err error) error {
if err == nil {
@@ -470,7 +408,7 @@ func (w *worker) handleUpdateJobError(t *meta.Meta, job *model.Job, err error) e
// updateDDLJob updates the DDL job information.
// Every time we enter another state except final state, we must call this function.
-func (w *worker) updateDDLJob(t *meta.Meta, job *model.Job, meetErr bool) error {
+func (w *worker) updateDDLJob(job *model.Job, meetErr bool) error {
failpoint.Inject("mockErrEntrySizeTooLarge", func(val failpoint.Value) {
if val.(bool) {
failpoint.Return(kv.ErrEntryTooLarge)
@@ -481,13 +419,7 @@ func (w *worker) updateDDLJob(t *meta.Meta, job *model.Job, meetErr bool) error
logutil.Logger(w.logCtx).Info("[ddl] meet something wrong before update DDL job, shouldn't update raw args",
zap.String("job", job.String()))
}
- var err error
- if w.concurrentDDL {
- err = updateDDLJob2Table(w.sess, job, updateRawArgs)
- } else {
- err = t.UpdateDDLJob(0, job, updateRawArgs)
- }
- return errors.Trace(err)
+ return errors.Trace(updateDDLJob2Table(w.sess, job, updateRawArgs))
}
// registerMDLInfo registers metadata lock info.
@@ -512,7 +444,7 @@ func (w *worker) registerMDLInfo(job *model.Job, ver int64) error {
}
// cleanMDLInfo cleans metadata lock info.
-func cleanMDLInfo(pool *sessionPool, jobID int64) {
+func cleanMDLInfo(pool *sessionPool, jobID int64, ec *clientv3.Client) {
if !variable.EnableMDL.Load() {
return
}
@@ -525,19 +457,30 @@ func cleanMDLInfo(pool *sessionPool, jobID int64) {
if err != nil {
logutil.BgLogger().Warn("unexpected error when clean mdl info", zap.Error(err))
}
+ if ec != nil {
+ path := fmt.Sprintf("%s/%d/", util.DDLAllSchemaVersionsByJob, jobID)
+ _, err = ec.Delete(context.Background(), path, clientv3.WithPrefix())
+ if err != nil {
+ logutil.BgLogger().Warn("[ddl] delete versions failed", zap.Any("job id", jobID), zap.Error(err))
+ }
+ }
}
// checkMDLInfo checks if metadata lock info exists. It means the schema is locked by some TiDBs if exists.
-func checkMDLInfo(jobID int64, pool *sessionPool) (bool, error) {
- sql := fmt.Sprintf("select * from mysql.tidb_mdl_info where job_id = %d", jobID)
+func checkMDLInfo(jobID int64, pool *sessionPool) (bool, int64, error) {
+ sql := fmt.Sprintf("select version from mysql.tidb_mdl_info where job_id = %d", jobID)
sctx, _ := pool.get()
defer pool.put(sctx)
sess := newSession(sctx)
rows, err := sess.execute(context.Background(), sql, "check-mdl-info")
if err != nil {
- return false, err
+ return false, 0, err
}
- return len(rows) > 0, nil
+ if len(rows) == 0 {
+ return false, 0, nil
+ }
+ ver := rows[0].GetInt64(0)
+ return true, ver, nil
}
func needUpdateRawArgs(job *model.Job, meetErr bool) bool {
@@ -619,11 +562,7 @@ func (w *worker) finishDDLJob(t *meta.Meta, job *model.Job) (err error) {
if err != nil {
return errors.Trace(err)
}
- if w.concurrentDDL {
- err = w.deleteDDLJob(job)
- } else {
- _, err = t.DeQueueDDLJob()
- }
+ err = w.deleteDDLJob(job)
if err != nil {
return errors.Trace(err)
}
@@ -638,7 +577,7 @@ func (w *worker) finishDDLJob(t *meta.Meta, job *model.Job) (err error) {
}
w.writeDDLSeqNum(job)
w.removeJobCtx(job)
- err = AddHistoryDDLJob(w.sess, t, job, updateRawArgs, w.concurrentDDL)
+ err = AddHistoryDDLJob(w.sess, t, job, updateRawArgs)
return errors.Trace(err)
}
@@ -702,21 +641,14 @@ func isDependencyJobDone(t *meta.Meta, job *model.Job) (bool, error) {
return true, nil
}
-func newMetaWithQueueTp(txn kv.Transaction, tp workerType) *meta.Meta {
- if tp == addIdxWorker {
- return meta.NewMeta(txn, meta.AddIndexJobListKey)
- }
- return meta.NewMeta(txn)
-}
-
-func (w *JobContext) setDDLLabelForTopSQL(job *model.Job) {
- if !topsqlstate.TopSQLEnabled() || job == nil {
+func (w *JobContext) setDDLLabelForTopSQL(jobQuery string) {
+ if !topsqlstate.TopSQLEnabled() || jobQuery == "" {
return
}
- if job.Query != w.cacheSQL || w.cacheDigest == nil {
- w.cacheNormalizedSQL, w.cacheDigest = parser.NormalizeDigest(job.Query)
- w.cacheSQL = job.Query
+ if jobQuery != w.cacheSQL || w.cacheDigest == nil {
+ w.cacheNormalizedSQL, w.cacheDigest = parser.NormalizeDigest(jobQuery)
+ w.cacheSQL = jobQuery
w.ddlJobCtx = topsql.AttachAndRegisterSQLInfo(context.Background(), w.cacheNormalizedSQL, w.cacheDigest, false)
} else {
topsql.AttachAndRegisterSQLInfo(w.ddlJobCtx, w.cacheNormalizedSQL, w.cacheDigest, false)
@@ -749,6 +681,9 @@ func getDDLRequestSource(job *model.Job) string {
}
func (w *JobContext) setDDLLabelForDiagnosis(job *model.Job) {
+ if w.tp != "" {
+ return
+ }
w.tp = getDDLRequestSource(job)
w.ddlJobCtx = kv.WithInternalSourceType(w.ddlJobCtx, w.ddlJobSourceType())
}
@@ -782,7 +717,7 @@ func (w *worker) HandleDDLJobTable(d *ddlCtx, job *model.Job) (int64, error) {
if err != nil {
return 0, err
}
- if !variable.EnableConcurrentDDL.Load() || d.waiting.Load() {
+ if d.waiting.Load() {
w.sess.rollback()
return 0, nil
}
@@ -800,10 +735,10 @@ func (w *worker) HandleDDLJobTable(d *ddlCtx, job *model.Job) (int64, error) {
if w.tp == addIdxWorker && job.IsRunning() {
txn.SetDiskFullOpt(kvrpcpb.DiskFullOpt_NotAllowedOnFull)
}
- w.setDDLLabelForTopSQL(job)
+ w.setDDLLabelForTopSQL(job.ID, job.Query)
w.setDDLSourceForDiagnosis(job)
- jobContext := w.jobContext(job)
- if tagger := w.getResourceGroupTaggerForTopSQL(job); tagger != nil {
+ jobContext := w.jobContext(job.ID)
+ if tagger := w.getResourceGroupTaggerForTopSQL(job.ID); tagger != nil {
txn.SetOption(kv.ResourceGroupTagger, tagger)
}
t := meta.NewMeta(txn)
@@ -852,7 +787,7 @@ func (w *worker) HandleDDLJobTable(d *ddlCtx, job *model.Job) (int64, error) {
d.unlockSchemaVersion(job.ID)
return 0, err
}
- err = w.updateDDLJob(t, job, runJobErr != nil)
+ err = w.updateDDLJob(job, runJobErr != nil)
if err = w.handleUpdateJobError(t, job, err); err != nil {
w.sess.rollback()
d.unlockSchemaVersion(job.ID)
@@ -896,152 +831,6 @@ func (w *JobContext) ddlJobSourceType() string {
return w.tp
}
-// handleDDLJobQueue handles DDL jobs in DDL Job queue.
-func (w *worker) handleDDLJobQueue(d *ddlCtx) error {
- once := true
- waitDependencyJobCnt := 0
- for {
- if isChanClosed(w.ctx.Done()) {
- return nil
- }
-
- var (
- job *model.Job
- schemaVer int64
- runJobErr error
- )
- waitTime := 2 * d.lease
- ctx := kv.WithInternalSourceType(context.Background(), kv.InternalTxnDDL)
- err := kv.RunInNewTxn(ctx, d.store, false, func(ctx context.Context, txn kv.Transaction) error {
- d.runningJobs.Lock()
- // We are not owner, return and retry checking later.
- if !d.isOwner() || variable.EnableConcurrentDDL.Load() || d.waiting.Load() {
- d.runningJobs.Unlock()
- return nil
- }
-
- var err error
- t := newMetaWithQueueTp(txn, w.tp)
-
- // We become the owner. Get the first job and run it.
- job, err = w.getFirstDDLJob(t)
- if job == nil || err != nil {
- d.runningJobs.Unlock()
- return errors.Trace(err)
- }
- d.runningJobs.ids[job.ID] = struct{}{}
- d.runningJobs.Unlock()
-
- defer d.deleteRunningDDLJobMap(job.ID)
-
- // only general ddls allowed to be executed when TiKV is disk full.
- if w.tp == addIdxWorker && job.IsRunning() {
- txn.SetDiskFullOpt(kvrpcpb.DiskFullOpt_NotAllowedOnFull)
- }
-
- w.setDDLLabelForTopSQL(job)
- w.setDDLSourceForDiagnosis(job)
- jobContext := w.jobContext(job)
- if tagger := w.getResourceGroupTaggerForTopSQL(job); tagger != nil {
- txn.SetOption(kv.ResourceGroupTagger, tagger)
- }
- if isDone, err1 := isDependencyJobDone(t, job); err1 != nil || !isDone {
- return errors.Trace(err1)
- }
-
- if once {
- err = waitSchemaSynced(d, job, waitTime)
- if err == nil {
- once = false
- }
- return err
- }
-
- if job.IsDone() || job.IsRollbackDone() {
- if !job.IsRollbackDone() {
- job.State = model.JobStateSynced
- }
- err = w.finishDDLJob(t, job)
- return errors.Trace(err)
- }
-
- d.mu.RLock()
- d.mu.hook.OnJobRunBefore(job)
- d.mu.RUnlock()
-
- // set request source type to DDL type
- txn.SetOption(kv.RequestSourceType, jobContext.ddlJobSourceType())
- // If running job meets error, we will save this error in job Error
- // and retry later if the job is not cancelled.
- schemaVer, runJobErr = w.runDDLJob(d, t, job)
- if job.IsCancelled() {
- txn.Reset()
- err = w.finishDDLJob(t, job)
- return errors.Trace(err)
- }
- if runJobErr != nil && !job.IsRollingback() && !job.IsRollbackDone() {
- // If the running job meets an error
- // and the job state is rolling back, it means that we have already handled this error.
- // Some DDL jobs (such as adding indexes) may need to update the table info and the schema version,
- // then shouldn't discard the KV modification.
- // And the job state is rollback done, it means the job was already finished, also shouldn't discard too.
- // Otherwise, we should discard the KV modification when running job.
- txn.Reset()
- // If error happens after updateSchemaVersion(), then the schemaVer is updated.
- // Result in the retry duration is up to 2 * lease.
- schemaVer = 0
- }
- err = w.updateDDLJob(t, job, runJobErr != nil)
- if err = w.handleUpdateJobError(t, job, err); err != nil {
- return errors.Trace(err)
- }
- writeBinlog(d.binlogCli, txn, job)
- return nil
- })
-
- if runJobErr != nil {
- // wait a while to retry again. If we don't wait here, DDL will retry this job immediately,
- // which may act like a deadlock.
- logutil.Logger(w.logCtx).Info("[ddl] run DDL job failed, sleeps a while then retries it.",
- zap.Duration("waitTime", GetWaitTimeWhenErrorOccurred()), zap.Error(runJobErr))
- time.Sleep(GetWaitTimeWhenErrorOccurred())
- }
- if job != nil {
- d.unlockSchemaVersion(job.ID)
- }
-
- if err != nil {
- w.unlockSeqNum(err)
- return errors.Trace(err)
- } else if job == nil {
- // No job now, return and retry getting later.
- return nil
- }
- w.unlockSeqNum(err)
- w.waitDependencyJobFinished(job, &waitDependencyJobCnt)
-
- // Here means the job enters another state (delete only, write only, public, etc...) or is cancelled.
- // If the job is done or still running or rolling back, we will wait 2 * lease time to guarantee other servers to update
- // the newest schema.
- waitSchemaChanged(context.Background(), d, waitTime, schemaVer, job)
-
- if RunInGoTest {
- // d.mu.hook is initialed from domain / test callback, which will force the owner host update schema diff synchronously.
- d.mu.RLock()
- d.mu.hook.OnSchemaStateChanged(schemaVer)
- d.mu.RUnlock()
- }
-
- d.mu.RLock()
- d.mu.hook.OnJobUpdated(job)
- d.mu.RUnlock()
-
- if job.IsSynced() || job.IsCancelled() || job.IsRollbackDone() {
- asyncNotify(d.ddlJobDoneCh)
- }
- }
-}
-
func skipWriteBinlog(job *model.Job) bool {
switch job.Type {
// ActionUpdateTiFlashReplicaStatus is a TiDB internal DDL,
@@ -1232,7 +1021,7 @@ func (w *worker) runDDLJob(d *ddlCtx, t *meta.Meta, job *model.Job) (ver int64,
case model.ActionTruncateTable:
ver, err = onTruncateTable(d, t, job)
case model.ActionRebaseAutoID:
- ver, err = onRebaseRowIDType(d, t, job)
+ ver, err = onRebaseAutoIncrementIDType(d, t, job)
case model.ActionRebaseAutoRandomBase:
ver, err = onRebaseAutoRandomType(d, t, job)
case model.ActionRenameTable:
@@ -1279,6 +1068,12 @@ func (w *worker) runDDLJob(d *ddlCtx, t *meta.Meta, job *model.Job) (ver int64,
ver, err = onAlterTablePartitionPlacement(d, t, job)
case model.ActionAlterTablePlacement:
ver, err = onAlterTablePlacement(d, t, job)
+ case model.ActionCreateResourceGroup:
+ ver, err = onCreateResourceGroup(d, t, job)
+ case model.ActionAlterResourceGroup:
+ ver, err = onAlterResourceGroup(d, t, job)
+ case model.ActionDropResourceGroup:
+ ver, err = onDropResourceGroup(d, t, job)
case model.ActionAlterCacheTable:
ver, err = onAlterCacheTable(d, t, job)
case model.ActionAlterNoCacheTable:
@@ -1287,6 +1082,10 @@ func (w *worker) runDDLJob(d *ddlCtx, t *meta.Meta, job *model.Job) (ver int64,
ver, err = w.onFlashbackCluster(d, t, job)
case model.ActionMultiSchemaChange:
ver, err = onMultiSchemaChange(w, d, t, job)
+ case model.ActionAlterTTLInfo:
+ ver, err = onTTLInfoChange(d, t, job)
+ case model.ActionAlterTTLRemove:
+ ver, err = onTTLInfoRemove(d, t, job)
default:
// Invalid job, cancel it.
job.State = model.JobStateCancelled
@@ -1365,6 +1164,32 @@ func waitSchemaChanged(ctx context.Context, d *ddlCtx, waitTime time.Duration, l
zap.String("job", job.String()))
}
+// waitSchemaSyncedForMDL likes waitSchemaSynced, but it waits for getting the metadata lock of the latest version of this DDL.
+func waitSchemaSyncedForMDL(d *ddlCtx, job *model.Job, latestSchemaVersion int64) error {
+ failpoint.Inject("checkDownBeforeUpdateGlobalVersion", func(val failpoint.Value) {
+ if val.(bool) {
+ if mockDDLErrOnce > 0 && mockDDLErrOnce != latestSchemaVersion {
+ panic("check down before update global version failed")
+ } else {
+ mockDDLErrOnce = -1
+ }
+ }
+ })
+
+ timeStart := time.Now()
+ // OwnerCheckAllVersions returns only when all TiDB schemas are synced(exclude the isolated TiDB).
+ err := d.schemaSyncer.OwnerCheckAllVersions(context.Background(), job.ID, latestSchemaVersion)
+ if err != nil {
+ logutil.Logger(d.ctx).Info("[ddl] wait latest schema version encounter error", zap.Int64("ver", latestSchemaVersion), zap.Error(err))
+ return err
+ }
+ logutil.Logger(d.ctx).Info("[ddl] wait latest schema version changed(get the metadata lock if tidb_enable_metadata_lock is true)",
+ zap.Int64("ver", latestSchemaVersion),
+ zap.Duration("take time", time.Since(timeStart)),
+ zap.String("job", job.String()))
+ return nil
+}
+
// waitSchemaSynced handles the following situation:
// If the job enters a new state, and the worker crashs when it's in the process of waiting for 2 * lease time,
// Then the worker restarts quickly, we may run the job immediately again,
@@ -1564,6 +1389,11 @@ func updateSchemaVersion(d *ddlCtx, t *meta.Meta, job *model.Job, multiInfos ...
OldTableID: recoverTabsInfo[i].TableInfo.ID,
}
}
+ case model.ActionFlashbackCluster:
+ diff.TableID = -1
+ if job.SchemaState == model.StatePublic {
+ diff.RegenerateSchemaMap = true
+ }
default:
diff.TableID = job.TableID
}
diff --git a/ddl/ddl_workerpool_test.go b/ddl/ddl_workerpool_test.go
index e9f324ce9dff8..123d05abb1d86 100644
--- a/ddl/ddl_workerpool_test.go
+++ b/ddl/ddl_workerpool_test.go
@@ -19,14 +19,13 @@ import (
"testing"
"github.com/ngaut/pools"
- "github.com/pingcap/tidb/parser/model"
"github.com/stretchr/testify/require"
)
func TestDDLWorkerPool(t *testing.T) {
f := func() func() (pools.Resource, error) {
return func() (pools.Resource, error) {
- wk := newWorker(nil, addIdxWorker, nil, nil, nil, true)
+ wk := newWorker(nil, addIdxWorker, nil, nil, nil)
return wk, nil
}
}
@@ -36,10 +35,9 @@ func TestDDLWorkerPool(t *testing.T) {
}
func TestBackfillWorkerPool(t *testing.T) {
- reorgInfo := &reorgInfo{Job: &model.Job{ID: 1}}
f := func() func() (pools.Resource, error) {
return func() (pools.Resource, error) {
- wk := newBackfillWorker(context.Background(), nil, 1, nil, reorgInfo, typeAddIndexWorker)
+ wk := newBackfillWorker(context.Background(), 1, nil)
return wk, nil
}
}
diff --git a/ddl/export_test.go b/ddl/export_test.go
index 708b3474515c5..3ea26fb04290c 100644
--- a/ddl/export_test.go
+++ b/ddl/export_test.go
@@ -14,6 +14,42 @@
package ddl
+import (
+ "context"
+
+ "github.com/pingcap/tidb/kv"
+ "github.com/pingcap/tidb/sessionctx/variable"
+ "github.com/pingcap/tidb/types"
+)
+
func SetBatchInsertDeleteRangeSize(i int) {
batchInsertDeleteRangeSize = i
}
+
+var NewCopContext4Test = newCopContext
+
+func FetchRowsFromCop4Test(copCtx *copContext, startKey, endKey kv.Key, store kv.Storage,
+ batchSize int) ([]*indexRecord, bool, error) {
+ variable.SetDDLReorgBatchSize(int32(batchSize))
+ task := &reorgBackfillTask{
+ id: 1,
+ startKey: startKey,
+ endKey: endKey,
+ }
+ pool := newCopReqSenderPool(context.Background(), copCtx, store)
+ pool.adjustSize(1)
+ pool.tasksCh <- task
+ idxRec, _, _, done, err := pool.fetchRowColValsFromCop(*task)
+ pool.close()
+ return idxRec, done, err
+}
+
+type IndexRecord4Test = *indexRecord
+
+func (i IndexRecord4Test) GetHandle() kv.Handle {
+ return i.handle
+}
+
+func (i IndexRecord4Test) GetIndexValues() []types.Datum {
+ return i.vals
+}
diff --git a/ddl/failtest/fail_db_test.go b/ddl/failtest/fail_db_test.go
index bde5e9b1b9569..4a938e5fd2ad4 100644
--- a/ddl/failtest/fail_db_test.go
+++ b/ddl/failtest/fail_db_test.go
@@ -18,6 +18,7 @@ import (
"context"
"fmt"
"math/rand"
+ "strings"
"sync/atomic"
"testing"
"time"
@@ -493,6 +494,8 @@ func TestModifyColumn(t *testing.T) {
tk.MustExec("admin check table t")
// Test unsupported statements.
+ tk.MustExec("create table t1(a int) partition by hash (a) partitions 2")
+ tk.MustGetErrMsg("alter table t1 modify column a mediumint", "[ddl:8200]Unsupported modify column: table is partition table")
tk.MustExec("create table t2(id int, a int, b int generated always as (abs(a)) virtual, c int generated always as (a+1) stored)")
tk.MustGetErrMsg("alter table t2 modify column b mediumint", "[ddl:8200]Unsupported modify column: newCol IsGenerated false, oldCol IsGenerated true")
tk.MustGetErrMsg("alter table t2 modify column c mediumint", "[ddl:8200]Unsupported modify column: newCol IsGenerated false, oldCol IsGenerated true")
@@ -529,7 +532,35 @@ func TestModifyColumn(t *testing.T) {
tk.MustExec("insert into t5 values (1,1),(2,2),(3,3),(4,4),(5,5);")
tk.MustExec("alter table t5 modify a int not null;")
- tk.MustExec("drop table t, t2, t3, t4, t5")
+ tk.MustExec("drop table t, t1, t2, t3, t4, t5")
+}
+
+func TestIssue38699(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+
+ //Test multi records
+ tk.MustExec("USE test")
+ tk.MustExec("set sql_mode=''")
+ tk.MustExec("DROP TABLE IF EXISTS t;")
+ tk.MustExec("CREATE TABLE t (a int)")
+ tk.MustExec("insert into t values (1000000000), (2000000)")
+ tk.MustExec("alter table t modify a tinyint")
+ result := tk.MustQuery("show warnings")
+ require.Len(t, result.Rows(), 1)
+ result.CheckWithFunc(testkit.Rows("Warning 1690 2 warnings with this error code"), func(actual []string, expected []interface{}) bool {
+ //Check if it starts with x warning(s)
+ return strings.EqualFold(actual[0], expected[0].(string)) && strings.EqualFold(actual[1], expected[1].(string)) && strings.HasPrefix(actual[2], expected[2].(string))
+ })
+
+ //Test single record
+ tk.MustExec("DROP TABLE IF EXISTS t;")
+ tk.MustExec("CREATE TABLE t (a int)")
+ tk.MustExec("insert into t values (1000000000)")
+ tk.MustExec("alter table t modify a tinyint")
+ result = tk.MustQuery("show warnings")
+ require.Len(t, result.Rows(), 1)
+ result.Check(testkit.Rows("Warning 1690 constant 1000000000 overflows tinyint"))
}
func TestPartitionAddPanic(t *testing.T) {
diff --git a/ddl/concurrentddltest/BUILD.bazel b/ddl/fktest/BUILD.bazel
similarity index 51%
rename from ddl/concurrentddltest/BUILD.bazel
rename to ddl/fktest/BUILD.bazel
index 81b86bf3f3856..a2452785fcaa8 100644
--- a/ddl/concurrentddltest/BUILD.bazel
+++ b/ddl/fktest/BUILD.bazel
@@ -1,24 +1,29 @@
load("@io_bazel_rules_go//go:def.bzl", "go_test")
go_test(
- name = "concurrentddltest_test",
- timeout = "short",
+ name = "fktest_test",
srcs = [
+ "foreign_key_test.go",
"main_test.go",
- "switch_test.go",
],
flaky = True,
- race = "on",
+ shard_count = 4,
deps = [
"//config",
"//ddl",
- "//kv",
+ "//domain",
+ "//infoschema",
"//meta",
+ "//meta/autoid",
+ "//parser/auth",
+ "//parser/model",
+ "//planner/core",
+ "//sessiontxn",
"//testkit",
"//testkit/testsetup",
- "//util",
+ "//util/dbterror",
"@com_github_stretchr_testify//require",
- "@org_uber_go_atomic//:atomic",
+ "@com_github_tikv_client_go_v2//tikv",
"@org_uber_go_goleak//:goleak",
],
)
diff --git a/ddl/fktest/foreign_key_test.go b/ddl/fktest/foreign_key_test.go
new file mode 100644
index 0000000000000..df461fa048e5c
--- /dev/null
+++ b/ddl/fktest/foreign_key_test.go
@@ -0,0 +1,1812 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package ddl_test
+
+import (
+ "bytes"
+ "context"
+ "fmt"
+ "sync"
+ "testing"
+ "time"
+
+ "github.com/pingcap/tidb/domain"
+ "github.com/pingcap/tidb/infoschema"
+ "github.com/pingcap/tidb/meta"
+ "github.com/pingcap/tidb/parser/auth"
+ "github.com/pingcap/tidb/parser/model"
+ plannercore "github.com/pingcap/tidb/planner/core"
+ "github.com/pingcap/tidb/sessiontxn"
+ "github.com/pingcap/tidb/testkit"
+ "github.com/pingcap/tidb/util/dbterror"
+ "github.com/stretchr/testify/require"
+)
+
+func TestCreateTableWithForeignKeyMetaInfo(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key, a int,b int as (a) virtual);")
+ tk.MustExec("create database test2")
+ tk.MustExec("use test2")
+ tk.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references test.t1(id) ON UPDATE RESTRICT ON DELETE CASCADE)")
+ tb1Info := getTableInfo(t, dom, "test", "t1")
+ tb2Info := getTableInfo(t, dom, "test2", "t2")
+ require.Equal(t, 1, len(dom.InfoSchema().GetTableReferredForeignKeys("test", "t1")))
+ require.Equal(t, 0, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t2")))
+ require.Equal(t, 0, len(tb1Info.ForeignKeys))
+ tb1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 1, len(tb1ReferredFKs))
+ require.Equal(t, model.ReferredFKInfo{
+ Cols: []model.CIStr{model.NewCIStr("id")},
+ ChildSchema: model.NewCIStr("test2"),
+ ChildTable: model.NewCIStr("t2"),
+ ChildFKName: model.NewCIStr("fk_b"),
+ }, *tb1ReferredFKs[0])
+ tb2ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test2", "t2")
+ require.Equal(t, 0, len(tb2ReferredFKs))
+ require.Equal(t, 1, len(tb2Info.ForeignKeys))
+ require.Equal(t, model.FKInfo{
+ ID: 1,
+ Name: model.NewCIStr("fk_b"),
+ RefSchema: model.NewCIStr("test"),
+ RefTable: model.NewCIStr("t1"),
+ RefCols: []model.CIStr{model.NewCIStr("id")},
+ Cols: []model.CIStr{model.NewCIStr("b")},
+ OnDelete: 2,
+ OnUpdate: 1,
+ State: model.StatePublic,
+ Version: 1,
+ }, *tb2Info.ForeignKeys[0])
+ // Auto create index for foreign key usage.
+ require.Equal(t, 1, len(tb2Info.Indices))
+ require.Equal(t, "fk_b", tb2Info.Indices[0].Name.L)
+ require.Equal(t, "`test2`.`t2`, CONSTRAINT `fk_b` FOREIGN KEY (`b`) REFERENCES `test`.`t1` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT", tb2Info.ForeignKeys[0].String("test2", "t2"))
+
+ tk.MustExec("create table t3 (id int, b int, index idx_b(b), foreign key fk_b(b) references t2(id) ON UPDATE SET NULL ON DELETE NO ACTION)")
+ tb2Info = getTableInfo(t, dom, "test2", "t2")
+ tb3Info := getTableInfo(t, dom, "test2", "t3")
+ require.Equal(t, 1, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t2")))
+ require.Equal(t, 0, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t3")))
+ require.Equal(t, 1, len(tb2Info.ForeignKeys))
+ tb2ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test2", "t2")
+ require.Equal(t, 1, len(tb2ReferredFKs))
+ require.Equal(t, model.ReferredFKInfo{
+ Cols: []model.CIStr{model.NewCIStr("id")},
+ ChildSchema: model.NewCIStr("test2"),
+ ChildTable: model.NewCIStr("t3"),
+ ChildFKName: model.NewCIStr("fk_b"),
+ }, *tb2ReferredFKs[0])
+ tb3ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test2", "t3")
+ require.Equal(t, 0, len(tb3ReferredFKs))
+ require.Equal(t, 1, len(tb3Info.ForeignKeys))
+ require.Equal(t, model.FKInfo{
+ ID: 1,
+ Name: model.NewCIStr("fk_b"),
+ RefSchema: model.NewCIStr("test2"),
+ RefTable: model.NewCIStr("t2"),
+ RefCols: []model.CIStr{model.NewCIStr("id")},
+ Cols: []model.CIStr{model.NewCIStr("b")},
+ OnDelete: 4,
+ OnUpdate: 3,
+ State: model.StatePublic,
+ Version: 1,
+ }, *tb3Info.ForeignKeys[0])
+ require.Equal(t, 1, len(tb3Info.Indices))
+ require.Equal(t, "idx_b", tb3Info.Indices[0].Name.L)
+ require.Equal(t, "`test2`.`t3`, CONSTRAINT `fk_b` FOREIGN KEY (`b`) REFERENCES `t2` (`id`) ON DELETE NO ACTION ON UPDATE SET NULL", tb3Info.ForeignKeys[0].String("test2", "t3"))
+
+ tk.MustExec("create table t5 (id int key, a int, b int, foreign key (a) references t5(id));")
+ tb5Info := getTableInfo(t, dom, "test2", "t5")
+ require.Equal(t, 1, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t5")))
+ require.Equal(t, 1, len(tb5Info.ForeignKeys))
+ tb5ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test2", "t5")
+ require.Equal(t, 1, len(tb5ReferredFKs))
+ require.Equal(t, model.ReferredFKInfo{
+ Cols: []model.CIStr{model.NewCIStr("id")},
+ ChildSchema: model.NewCIStr("test2"),
+ ChildTable: model.NewCIStr("t5"),
+ ChildFKName: model.NewCIStr("fk_1"),
+ }, *tb5ReferredFKs[0])
+ require.Equal(t, model.FKInfo{
+ ID: 1,
+ Name: model.NewCIStr("fk_1"),
+ RefSchema: model.NewCIStr("test2"),
+ RefTable: model.NewCIStr("t5"),
+ RefCols: []model.CIStr{model.NewCIStr("id")},
+ Cols: []model.CIStr{model.NewCIStr("a")},
+ State: model.StatePublic,
+ Version: 1,
+ }, *tb5Info.ForeignKeys[0])
+ require.Equal(t, 1, len(tb5Info.Indices))
+ require.Equal(t, "fk_1", tb5Info.Indices[0].Name.L)
+ require.Equal(t, 1, len(dom.InfoSchema().GetTableReferredForeignKeys("test", "t1")))
+ require.Equal(t, 1, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t2")))
+ require.Equal(t, 0, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t3")))
+ require.Equal(t, 1, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t5")))
+
+ tk.MustExec("set @@global.tidb_enable_foreign_key=0")
+ tk.MustExec("drop database test2")
+ require.Equal(t, 0, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t2")))
+ require.Equal(t, 0, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t3")))
+ require.Equal(t, 0, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t5")))
+}
+
+func TestCreateTableWithForeignKeyMetaInfo2(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("create database test2")
+ tk.MustExec("set @@foreign_key_checks=0")
+ tk.MustExec("use test2")
+ tk.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references test.t1(id) ON UPDATE RESTRICT ON DELETE CASCADE)")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key, a int, b int as (a) virtual);")
+ tb1Info := getTableInfo(t, dom, "test", "t1")
+ tb2Info := getTableInfo(t, dom, "test2", "t2")
+ require.Equal(t, 0, len(tb1Info.ForeignKeys))
+ tb1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 1, len(tb1ReferredFKs))
+ require.Equal(t, model.ReferredFKInfo{
+ Cols: []model.CIStr{model.NewCIStr("id")},
+ ChildSchema: model.NewCIStr("test2"),
+ ChildTable: model.NewCIStr("t2"),
+ ChildFKName: model.NewCIStr("fk_b"),
+ }, *tb1ReferredFKs[0])
+ tb2ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test2", "t2")
+ require.Equal(t, 0, len(tb2ReferredFKs))
+ require.Equal(t, 1, len(tb2Info.ForeignKeys))
+ require.Equal(t, model.FKInfo{
+ ID: 1,
+ Name: model.NewCIStr("fk_b"),
+ RefSchema: model.NewCIStr("test"),
+ RefTable: model.NewCIStr("t1"),
+ RefCols: []model.CIStr{model.NewCIStr("id")},
+ Cols: []model.CIStr{model.NewCIStr("b")},
+ OnDelete: 2,
+ OnUpdate: 1,
+ State: model.StatePublic,
+ Version: 1,
+ }, *tb2Info.ForeignKeys[0])
+ // Auto create index for foreign key usage.
+ require.Equal(t, 1, len(tb2Info.Indices))
+ require.Equal(t, "fk_b", tb2Info.Indices[0].Name.L)
+ require.Equal(t, "`test2`.`t2`, CONSTRAINT `fk_b` FOREIGN KEY (`b`) REFERENCES `test`.`t1` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT", tb2Info.ForeignKeys[0].String("test2", "t2"))
+
+ tk.MustExec("create table t3 (id int key, a int, foreign key fk_a(a) references test.t1(id) ON DELETE CASCADE ON UPDATE RESTRICT, foreign key fk_a2(a) references test2.t2(id))")
+ tb1Info = getTableInfo(t, dom, "test", "t1")
+ tb3Info := getTableInfo(t, dom, "test", "t3")
+ require.Equal(t, 0, len(tb1Info.ForeignKeys))
+ tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 2, len(tb1ReferredFKs))
+ require.Equal(t, model.ReferredFKInfo{
+ Cols: []model.CIStr{model.NewCIStr("id")},
+ ChildSchema: model.NewCIStr("test"),
+ ChildTable: model.NewCIStr("t3"),
+ ChildFKName: model.NewCIStr("fk_a"),
+ }, *tb1ReferredFKs[0])
+ require.Equal(t, model.ReferredFKInfo{
+ Cols: []model.CIStr{model.NewCIStr("id")},
+ ChildSchema: model.NewCIStr("test2"),
+ ChildTable: model.NewCIStr("t2"),
+ ChildFKName: model.NewCIStr("fk_b"),
+ }, *tb1ReferredFKs[1])
+ tb3ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t3")
+ require.Equal(t, 0, len(tb3ReferredFKs))
+ require.Equal(t, 2, len(tb3Info.ForeignKeys))
+ require.Equal(t, model.FKInfo{
+ ID: 1,
+ Name: model.NewCIStr("fk_a"),
+ RefSchema: model.NewCIStr("test"),
+ RefTable: model.NewCIStr("t1"),
+ RefCols: []model.CIStr{model.NewCIStr("id")},
+ Cols: []model.CIStr{model.NewCIStr("a")},
+ OnDelete: 2,
+ OnUpdate: 1,
+ State: model.StatePublic,
+ Version: 1,
+ }, *tb3Info.ForeignKeys[0])
+ require.Equal(t, model.FKInfo{
+ ID: 2,
+ Name: model.NewCIStr("fk_a2"),
+ RefSchema: model.NewCIStr("test2"),
+ RefTable: model.NewCIStr("t2"),
+ RefCols: []model.CIStr{model.NewCIStr("id")},
+ Cols: []model.CIStr{model.NewCIStr("a")},
+ State: model.StatePublic,
+ Version: 1,
+ }, *tb3Info.ForeignKeys[1])
+ // Auto create index for foreign key usage.
+ require.Equal(t, 1, len(tb3Info.Indices))
+ require.Equal(t, "fk_a", tb3Info.Indices[0].Name.L)
+ require.Equal(t, "`test`.`t3`, CONSTRAINT `fk_a` FOREIGN KEY (`a`) REFERENCES `t1` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT", tb3Info.ForeignKeys[0].String("test", "t3"))
+ require.Equal(t, "`test`.`t3`, CONSTRAINT `fk_a2` FOREIGN KEY (`a`) REFERENCES `test2`.`t2` (`id`)", tb3Info.ForeignKeys[1].String("test", "t3"))
+
+ tk.MustExec("set @@foreign_key_checks=0")
+ tk.MustExec("drop table test2.t2")
+ tb1Info = getTableInfo(t, dom, "test", "t1")
+ tb3Info = getTableInfo(t, dom, "test", "t3")
+ require.Equal(t, 0, len(tb1Info.ForeignKeys))
+ tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 1, len(tb1ReferredFKs))
+ require.Equal(t, model.ReferredFKInfo{
+ Cols: []model.CIStr{model.NewCIStr("id")},
+ ChildSchema: model.NewCIStr("test"),
+ ChildTable: model.NewCIStr("t3"),
+ ChildFKName: model.NewCIStr("fk_a"),
+ }, *tb1ReferredFKs[0])
+ tb3ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t3")
+ require.Equal(t, 0, len(tb3ReferredFKs))
+ require.Equal(t, 2, len(tb3Info.ForeignKeys))
+ require.Equal(t, model.FKInfo{
+ ID: 1,
+ Name: model.NewCIStr("fk_a"),
+ RefSchema: model.NewCIStr("test"),
+ RefTable: model.NewCIStr("t1"),
+ RefCols: []model.CIStr{model.NewCIStr("id")},
+ Cols: []model.CIStr{model.NewCIStr("a")},
+ OnDelete: 2,
+ OnUpdate: 1,
+ State: model.StatePublic,
+ Version: 1,
+ }, *tb3Info.ForeignKeys[0])
+ require.Equal(t, model.FKInfo{
+ ID: 2,
+ Name: model.NewCIStr("fk_a2"),
+ RefSchema: model.NewCIStr("test2"),
+ RefTable: model.NewCIStr("t2"),
+ RefCols: []model.CIStr{model.NewCIStr("id")},
+ Cols: []model.CIStr{model.NewCIStr("a")},
+ State: model.StatePublic,
+ Version: 1,
+ }, *tb3Info.ForeignKeys[1])
+}
+
+func TestCreateTableWithForeignKeyMetaInfo3(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("set @@foreign_key_checks=1")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key, a int, b int as (a) virtual);")
+ tk.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references test.t1(id))")
+ tk.MustExec("create table t3 (id int key, b int, foreign key fk_b(b) references test.t1(id))")
+ tk.MustExec("create table t4 (id int key, b int, foreign key fk_b(b) references test.t1(id))")
+ tb1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ tk.MustExec("drop table t3")
+ tk.MustExec("create table t5 (id int key, b int, foreign key fk_b(b) references test.t1(id))")
+ require.Equal(t, 3, len(tb1ReferredFKs))
+ require.Equal(t, "t2", tb1ReferredFKs[0].ChildTable.L)
+ require.Equal(t, "t3", tb1ReferredFKs[1].ChildTable.L)
+ require.Equal(t, "t4", tb1ReferredFKs[2].ChildTable.L)
+}
+
+func TestCreateTableWithForeignKeyPrivilegeCheck(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+
+ tk.MustExec("create user 'u1'@'%' identified by '';")
+ tk.MustExec("grant create on *.* to 'u1'@'%';")
+ tk.MustExec("create table t1 (id int key);")
+
+ tk2 := testkit.NewTestKit(t, store)
+ tk2.MustExec("use test")
+ tk2.Session().Auth(&auth.UserIdentity{Username: "u1", Hostname: "localhost", CurrentUser: true, AuthUsername: "u1", AuthHostname: "%"}, nil, []byte("012345678901234567890"))
+ err := tk2.ExecToErr("create table t2 (a int, foreign key fk(a) references t1(id));")
+ require.Error(t, err)
+ require.Equal(t, "[planner:1142]REFERENCES command denied to user 'u1'@'%' for table 't1'", err.Error())
+
+ tk.MustExec("grant references on test.t1 to 'u1'@'%';")
+ tk2.MustExec("create table t2 (a int, foreign key fk(a) references t1(id));")
+ tk2.MustExec("create table t3 (id int key)")
+ err = tk2.ExecToErr("create table t4 (a int, foreign key fk(a) references t1(id), foreign key (a) references t3(id));")
+ require.Error(t, err)
+ require.Equal(t, "[planner:1142]REFERENCES command denied to user 'u1'@'%' for table 't3'", err.Error())
+
+ tk.MustExec("grant references on test.t3 to 'u1'@'%';")
+ tk2.MustExec("create table t4 (a int, foreign key fk(a) references t1(id), foreign key (a) references t3(id));")
+}
+
+func TestAlterTableWithForeignKeyPrivilegeCheck(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("create user 'u1'@'%' identified by '';")
+ tk.MustExec("grant create,alter on *.* to 'u1'@'%';")
+ tk.MustExec("create table t1 (id int key);")
+ tk2 := testkit.NewTestKit(t, store)
+ tk2.MustExec("use test")
+ tk2.Session().Auth(&auth.UserIdentity{Username: "u1", Hostname: "localhost", CurrentUser: true, AuthUsername: "u1", AuthHostname: "%"}, nil, []byte("012345678901234567890"))
+ tk2.MustExec("create table t2 (a int)")
+ err := tk2.ExecToErr("alter table t2 add foreign key (a) references t1 (id) on update cascade")
+ require.Error(t, err)
+ require.Equal(t, "[planner:1142]REFERENCES command denied to user 'u1'@'%' for table 't1'", err.Error())
+ tk.MustExec("grant references on test.t1 to 'u1'@'%';")
+ tk2.MustExec("alter table t2 add foreign key (a) references t1 (id) on update cascade")
+}
+
+func TestRenameTableWithForeignKeyMetaInfo(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("create database test2")
+ tk.MustExec("create database test3")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key, a int, b int, foreign key fk(a) references t1(id))")
+ tk.MustExec("rename table test.t1 to test2.t2")
+ // check the schema diff
+ diff := getLatestSchemaDiff(t, tk)
+ require.Equal(t, model.ActionRenameTable, diff.Type)
+ require.Equal(t, 0, len(diff.AffectedOpts))
+ tk.MustQuery("show create table test2.t2").Check(testkit.Rows("t2 CREATE TABLE `t2` (\n" +
+ " `id` int(11) NOT NULL,\n" +
+ " `a` int(11) DEFAULT NULL,\n" +
+ " `b` int(11) DEFAULT NULL,\n" +
+ " PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n" +
+ " KEY `fk` (`a`),\n" +
+ " CONSTRAINT `fk` FOREIGN KEY (`a`) REFERENCES `test2`.`t2` (`id`)\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
+ tblInfo := getTableInfo(t, dom, "test2", "t2")
+ tbReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test2", "t2")
+ require.Equal(t, 1, len(tblInfo.ForeignKeys))
+ require.Equal(t, 1, len(tbReferredFKs))
+ require.Equal(t, model.ReferredFKInfo{
+ Cols: []model.CIStr{model.NewCIStr("id")},
+ ChildSchema: model.NewCIStr("test2"),
+ ChildTable: model.NewCIStr("t2"),
+ ChildFKName: model.NewCIStr("fk"),
+ }, *tbReferredFKs[0])
+ require.Equal(t, model.FKInfo{
+ ID: 1,
+ Name: model.NewCIStr("fk"),
+ RefSchema: model.NewCIStr("test2"),
+ RefTable: model.NewCIStr("t2"),
+ RefCols: []model.CIStr{model.NewCIStr("id")},
+ Cols: []model.CIStr{model.NewCIStr("a")},
+ State: model.StatePublic,
+ Version: 1,
+ }, *tblInfo.ForeignKeys[0])
+
+ tk.MustExec("drop table test2.t2")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key, a int, b int as (a) virtual);")
+ tk.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references test.t1(id))")
+ tk.MustExec("use test2")
+ tk.MustExec("rename table test.t2 to test2.tt2")
+ // check the schema diff
+ diff = getLatestSchemaDiff(t, tk)
+ require.Equal(t, model.ActionRenameTable, diff.Type)
+ require.Equal(t, 0, len(diff.AffectedOpts))
+ tb1Info := getTableInfo(t, dom, "test", "t1")
+ tb2Info := getTableInfo(t, dom, "test2", "tt2")
+ require.Equal(t, 0, len(tb1Info.ForeignKeys))
+ tb1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 1, len(tb1ReferredFKs))
+ require.Equal(t, model.ReferredFKInfo{
+ Cols: []model.CIStr{model.NewCIStr("id")},
+ ChildSchema: model.NewCIStr("test2"),
+ ChildTable: model.NewCIStr("tt2"),
+ ChildFKName: model.NewCIStr("fk_b"),
+ }, *tb1ReferredFKs[0])
+ tb2ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test2", "tt2")
+ require.Equal(t, 0, len(tb2ReferredFKs))
+ require.Equal(t, 1, len(tb2Info.ForeignKeys))
+ require.Equal(t, model.FKInfo{
+ ID: 1,
+ Name: model.NewCIStr("fk_b"),
+ RefSchema: model.NewCIStr("test"),
+ RefTable: model.NewCIStr("t1"),
+ RefCols: []model.CIStr{model.NewCIStr("id")},
+ Cols: []model.CIStr{model.NewCIStr("b")},
+ State: model.StatePublic,
+ Version: 1,
+ }, *tb2Info.ForeignKeys[0])
+ // Auto create index for foreign key usage.
+ require.Equal(t, 1, len(tb2Info.Indices))
+ require.Equal(t, "fk_b", tb2Info.Indices[0].Name.L)
+ require.Equal(t, "`test2`.`tt2`, CONSTRAINT `fk_b` FOREIGN KEY (`b`) REFERENCES `test`.`t1` (`id`)", tb2Info.ForeignKeys[0].String("test2", "tt2"))
+
+ tk.MustExec("rename table test.t1 to test3.tt1")
+ tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test3", "tt1")
+ require.Equal(t, 1, len(tb1ReferredFKs))
+ require.Equal(t, 1, len(tb1ReferredFKs[0].Cols))
+ // check the schema diff
+ diff = getLatestSchemaDiff(t, tk)
+ require.Equal(t, model.ActionRenameTable, diff.Type)
+ require.Equal(t, 1, len(diff.AffectedOpts))
+ require.Equal(t, model.ReferredFKInfo{
+ Cols: []model.CIStr{model.NewCIStr("id")},
+ ChildSchema: model.NewCIStr("test2"),
+ ChildTable: model.NewCIStr("tt2"),
+ ChildFKName: model.NewCIStr("fk_b"),
+ }, *tb1ReferredFKs[0])
+ tbl2Info := getTableInfo(t, dom, "test2", "tt2")
+ tb2ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test2", "tt2")
+ require.Equal(t, 0, len(tb2ReferredFKs))
+ require.Equal(t, 1, len(tbl2Info.ForeignKeys))
+ require.Equal(t, model.FKInfo{
+ ID: 1,
+ Name: model.NewCIStr("fk_b"),
+ RefSchema: model.NewCIStr("test3"),
+ RefTable: model.NewCIStr("tt1"),
+ RefCols: []model.CIStr{model.NewCIStr("id")},
+ Cols: []model.CIStr{model.NewCIStr("b")},
+ State: model.StatePublic,
+ Version: 1,
+ }, *tbl2Info.ForeignKeys[0])
+ tk.MustQuery("show create table test2.tt2").Check(testkit.Rows("tt2 CREATE TABLE `tt2` (\n" +
+ " `id` int(11) NOT NULL,\n" +
+ " `b` int(11) DEFAULT NULL,\n" +
+ " PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n" +
+ " KEY `fk_b` (`b`),\n" +
+ " CONSTRAINT `fk_b` FOREIGN KEY (`b`) REFERENCES `test3`.`tt1` (`id`)\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
+}
+
+func TestCreateTableWithForeignKeyDML(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key, a int);")
+ tk.MustExec("begin")
+ tk.MustExec("insert into t1 values (1, 1)")
+ tk.MustExec("update t1 set a = 2 where id = 1")
+
+ tk2 := testkit.NewTestKit(t, store)
+ tk2.MustExec("use test")
+ tk2.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references test.t1(id))")
+
+ tk.MustExec("commit")
+}
+
+func TestCreateTableWithForeignKeyError(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("use test")
+
+ cases := []struct {
+ prepare []string
+ refer string
+ create string
+ err string
+ }{
+ {
+ refer: "create table t1 (id int, a int, b int);",
+ create: "create table t2 (a int, b int, foreign key fk_b(b) references T_unknown(b));",
+ err: "[schema:1824]Failed to open the referenced table 'T_unknown'",
+ },
+ {
+ refer: "create table t1 (id int, a int, b int);",
+ create: "create table t2 (a int, b int, foreign key fk_b(b) references t1(c_unknown));",
+ err: "[schema:3734]Failed to add the foreign key constraint. Missing column 'c_unknown' for constraint 'fk_b' in the referenced table 't1'",
+ },
+ {
+ refer: "create table t1 (id int key, a int, b int);",
+ create: "create table t2 (a int, b int, foreign key fk(c_unknown) references t1(id));",
+ err: "[ddl:1072]Key column 'c_unknown' doesn't exist in table",
+ },
+ {
+ refer: "create table t1 (id int, a int, b int);",
+ create: "create table t2 (a int, b int, foreign key fk_b(b) references t1(b));",
+ err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_b' in the referenced table 't1'",
+ },
+ {
+ refer: "create table t1 (id int, a int, b int not null, index(b));",
+ create: "create table t2 (a int, b int not null, foreign key fk_b(b) references t1(b) on update set null);",
+ err: "[schema:1830]Column 'b' cannot be NOT NULL: needed in a foreign key constraint 'fk_b' SET NULL",
+ },
+ {
+ refer: "create table t1 (id int, a int, b int not null, index(b));",
+ create: "create table t2 (a int, b int not null, foreign key fk_b(b) references t1(b) on delete set null);",
+ err: "[schema:1830]Column 'b' cannot be NOT NULL: needed in a foreign key constraint 'fk_b' SET NULL",
+ },
+ {
+ refer: "create table t1 (id int key, a int, b int as (a) virtual, index(b));",
+ create: "create table t2 (a int, b int, foreign key fk_b(b) references t1(b));",
+ err: "[schema:3733]Foreign key 'fk_b' uses virtual column 'b' which is not supported.",
+ },
+ {
+ refer: "create table t1 (id int key, a int, b int, index(b));",
+ create: "create table t2 (a int, b int as (a) virtual, foreign key fk_b(b) references t1(b));",
+ err: "[schema:3733]Foreign key 'fk_b' uses virtual column 'b' which is not supported.",
+ },
+ {
+ refer: "create table t1 (id int key, a int);",
+ create: "create table t2 (a int, b varchar(10), foreign key fk(b) references t1(id));",
+ err: "[ddl:3780]Referencing column 'b' and referenced column 'id' in foreign key constraint 'fk' are incompatible.",
+ },
+ {
+ refer: "create table t1 (id int key, a int not null, index(a));",
+ create: "create table t2 (a int, b int unsigned, foreign key fk_b(b) references t1(a));",
+ err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
+ },
+ {
+ refer: "create table t1 (id int key, a bigint, index(a));",
+ create: "create table t2 (a int, b int, foreign key fk_b(b) references t1(a));",
+ err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
+ },
+ {
+ refer: "create table t1 (id int key, a varchar(10) charset utf8, index(a));",
+ create: "create table t2 (a int, b varchar(10) charset utf8mb4, foreign key fk_b(b) references t1(a));",
+ err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
+ },
+ {
+ refer: "create table t1 (id int key, a varchar(10) collate utf8_bin, index(a));",
+ create: "create table t2 (a int, b varchar(10) collate utf8mb4_bin, foreign key fk_b(b) references t1(a));",
+ err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
+ },
+ {
+ refer: "create table t1 (id int key, a varchar(10));",
+ create: "create table t2 (a int, b varchar(10), foreign key fk_b(b) references t1(a));",
+ err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_b' in the referenced table 't1'",
+ },
+ {
+ refer: "create table t1 (id int key, a varchar(10), index (a(5)));",
+ create: "create table t2 (a int, b varchar(10), foreign key fk_b(b) references t1(a));",
+ err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_b' in the referenced table 't1'",
+ },
+ {
+ refer: "create table t1 (id int key, a int, index(a));",
+ create: "create table t2 (a int, b int, foreign key fk_b(b) references t1(id, a));",
+ err: "[schema:1239]Incorrect foreign key definition for 'fk_b': Key reference and table reference don't match",
+ },
+ {
+ create: "create table t2 (a int key, foreign key (a) references t2(a));",
+ err: "[schema:1215]Cannot add foreign key constraint",
+ },
+ {
+ create: "create table t2 (a int, b int, index(a,b), index(b,a), foreign key (a,b) references t2(a,b));",
+ err: "[schema:1215]Cannot add foreign key constraint",
+ },
+ {
+ create: "create table t2 (a int, b int, index(a,b), foreign key (a,b) references t2(b,a));",
+ err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_1' in the referenced table 't2'",
+ },
+ {
+ prepare: []string{
+ "set @@foreign_key_checks=0;",
+ "create table t2 (a int, b int, index(a), foreign key (a) references t1(id));",
+ },
+ create: "create table t1 (id int, a int);",
+ err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_1' in the referenced table 't1'",
+ },
+ {
+ prepare: []string{
+ "set @@foreign_key_checks=0;",
+ "create table t2 (a int, b int, index(a), foreign key (a) references t1(id));",
+ },
+ create: "create table t1 (id bigint key, a int);",
+ err: "[ddl:3780]Referencing column 'a' and referenced column 'id' in foreign key constraint 'fk_1' are incompatible.",
+ },
+ {
+ // foreign key is not support in temporary table.
+ refer: "create temporary table t1 (id int key, b int, index(b))",
+ create: "create table t2 (a int, b int, foreign key fk(b) references t1(b))",
+ err: "[schema:1824]Failed to open the referenced table 't1'",
+ },
+ {
+ // foreign key is not support in temporary table.
+ refer: "create global temporary table t1 (id int key, b int, index(b)) on commit delete rows",
+ create: "create table t2 (a int, b int, foreign key fk(b) references t1(b))",
+ err: "[schema:1215]Cannot add foreign key constraint",
+ },
+ {
+ // foreign key is not support in temporary table.
+ refer: "create table t1 (id int key, b int, index(b))",
+ create: "create temporary table t2 (a int, b int, foreign key fk(b) references t1(b))",
+ err: "[schema:1215]Cannot add foreign key constraint",
+ },
+ {
+ // foreign key is not support in temporary table.
+ refer: "create table t1 (id int key, b int, index(b))",
+ create: "create global temporary table t2 (a int, b int, foreign key fk(b) references t1(b)) on commit delete rows",
+ err: "[schema:1215]Cannot add foreign key constraint",
+ },
+ {
+ create: "create table t1 (a int, foreign key ``(a) references t1(a));",
+ err: "[ddl:1280]Incorrect index name ''",
+ },
+ {
+ create: "create table t1 (a int, constraint `` foreign key (a) references t1(a));",
+ err: "[ddl:1280]Incorrect index name ''",
+ },
+ {
+ create: "create table t1 (a int, constraint `fk` foreign key (a,a) references t1(a, b));",
+ err: "[schema:1060]Duplicate column name 'a'",
+ },
+ {
+ refer: "create table t1(a int, b int, index(a,b));",
+ create: "create table t2 (a int, b int, foreign key (a,b) references t1(a,a));",
+ err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_1' in the referenced table 't1'",
+ },
+ {
+ refer: "create table t1 (id int key, b int, index(b))",
+ create: "create table t2 (a int, b int, index fk_1(a), foreign key (b) references t1(b));",
+ err: "[ddl:1061]duplicate key name fk_1",
+ },
+ {
+ refer: "create table t1 (id int key);",
+ create: "create table t2 (id int key, foreign key name5678901234567890123456789012345678901234567890123456789012345(id) references t1(id));",
+ err: "[ddl:1059]Identifier name 'name5678901234567890123456789012345678901234567890123456789012345' is too long",
+ },
+ {
+ refer: "create table t1 (id int key);",
+ create: "create table t2 (id int key, constraint name5678901234567890123456789012345678901234567890123456789012345 foreign key (id) references t1(id));",
+ err: "[ddl:1059]Identifier name 'name5678901234567890123456789012345678901234567890123456789012345' is too long",
+ },
+ {
+ create: "create table t2 (id int key, constraint fk foreign key (id) references name5678901234567890123456789012345678901234567890123456789012345.t1(id));",
+ err: "[ddl:1059]Identifier name 'name5678901234567890123456789012345678901234567890123456789012345' is too long",
+ },
+ {
+ prepare: []string{
+ "set @@foreign_key_checks=0;",
+ },
+ create: "create table t2 (id int key, constraint fk foreign key (id) references name5678901234567890123456789012345678901234567890123456789012345(id));",
+ err: "[ddl:1059]Identifier name 'name5678901234567890123456789012345678901234567890123456789012345' is too long",
+ },
+ {
+ prepare: []string{
+ "set @@foreign_key_checks=0;",
+ },
+ create: "create table t2 (id int key, constraint fk foreign key (id) references t1(name5678901234567890123456789012345678901234567890123456789012345));",
+ err: "[ddl:1059]Identifier name 'name5678901234567890123456789012345678901234567890123456789012345' is too long",
+ },
+ // Test foreign key with temporary table
+ {
+ refer: "create temporary table t1 (id int key);",
+ create: "create table t2 (id int key, constraint fk foreign key (id) references t1(id));",
+ err: "[schema:1824]Failed to open the referenced table 't1'",
+ },
+ {
+ refer: "create table t1 (id int key);",
+ create: "create temporary table t2 (id int key, constraint fk foreign key (id) references t1(id));",
+ err: "[schema:1215]Cannot add foreign key constraint",
+ },
+ // Test foreign key with partition table
+ {
+ refer: "create table t1 (id int key) partition by hash(id) partitions 3;",
+ create: "create table t2 (id int key, constraint fk foreign key (id) references t1(id));",
+ err: "[schema:1506]Foreign key clause is not yet supported in conjunction with partitioning",
+ },
+ {
+ refer: "create table t1 (id int key);",
+ create: "create table t2 (id int key, constraint fk foreign key (id) references t1(id)) partition by hash(id) partitions 3;",
+ err: "[schema:1506]Foreign key clause is not yet supported in conjunction with partitioning",
+ },
+ }
+ for _, ca := range cases {
+ tk.MustExec("drop table if exists t2")
+ tk.MustExec("drop table if exists t1")
+ tk.MustExec("set @@foreign_key_checks=1")
+ for _, sql := range ca.prepare {
+ tk.MustExec(sql)
+ }
+ if ca.refer != "" {
+ tk.MustExec(ca.refer)
+ }
+ err := tk.ExecToErr(ca.create)
+ require.Error(t, err, ca.create)
+ require.Equal(t, ca.err, err.Error(), ca.create)
+ }
+
+ passCases := [][]string{
+ {
+ "create table t1 (id int key, a int, b int, foreign key fk(a) references t1(id))",
+ },
+ {
+ "create table t1 (id int key, b int not null, index(b))",
+ "create table t2 (a int, b int, foreign key fk_b(b) references t1(b));",
+ },
+ {
+ "create table t1 (id int key, a varchar(10), index(a));",
+ "create table t2 (a int, b varchar(20), foreign key fk_b(b) references t1(a));",
+ },
+ {
+ "create table t1 (id int key, a decimal(10,5), index(a));",
+ "create table t2 (a int, b decimal(20, 10), foreign key fk_b(b) references t1(a));",
+ },
+ {
+ "create table t1 (id int key, a varchar(10), index (a(10)));",
+ "create table t2 (a int, b varchar(20), foreign key fk_b(b) references t1(a));",
+ },
+ {
+ "set @@foreign_key_checks=0;",
+ "create table t2 (a int, b int, foreign key fk_b(b) references t_unknown(b));",
+ "set @@foreign_key_checks=1;",
+ },
+ {
+ "create table t2 (a int, b int, index(a,b), index(b,a), foreign key (a,b) references t2(b,a));",
+ },
+ {
+ "create table t1 (a int key, b int, index(b))",
+ "create table t2 (a int, b int, foreign key (a) references t1(a), foreign key (b) references t1(b));",
+ },
+ {
+ "create table t1 (id int key);",
+ "create table t2 (id int key, foreign key name567890123456789012345678901234567890123456789012345678901234(id) references t1(id));",
+ },
+ }
+ for _, ca := range passCases {
+ tk.MustExec("drop table if exists t2")
+ tk.MustExec("drop table if exists t1")
+ for _, sql := range ca {
+ tk.MustExec(sql)
+ }
+ }
+}
+
+func TestModifyColumnWithForeignKey(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("set @@foreign_key_checks=1;")
+ tk.MustExec("use test")
+
+ tk.MustExec("create table t1 (id int key, b varchar(10), index(b));")
+ tk.MustExec("create table t2 (a varchar(10), constraint fk foreign key (a) references t1(b));")
+ tk.MustExec("insert into t1 values (1, '123456789');")
+ tk.MustExec("insert into t2 values ('123456789');")
+ tk.MustGetErrMsg("alter table t1 modify column b varchar(5);", "[ddl:1833]Cannot change column 'b': used in a foreign key constraint 'fk' of table 'test.t2'")
+ tk.MustGetErrMsg("alter table t1 modify column b bigint;", "[ddl:3780]Referencing column 'a' and referenced column 'b' in foreign key constraint 'fk' are incompatible.")
+ tk.MustExec("alter table t1 modify column b varchar(20);")
+ tk.MustGetErrMsg("alter table t1 modify column b varchar(10);", "[ddl:1833]Cannot change column 'b': used in a foreign key constraint 'fk' of table 'test.t2'")
+ tk.MustExec("alter table t2 modify column a varchar(20);")
+ tk.MustExec("alter table t2 modify column a varchar(21);")
+ tk.MustGetErrMsg("alter table t2 modify column a varchar(5);", "[ddl:1832]Cannot change column 'a': used in a foreign key constraint 'fk'")
+ tk.MustGetErrMsg("alter table t2 modify column a bigint;", "[ddl:3780]Referencing column 'a' and referenced column 'b' in foreign key constraint 'fk' are incompatible.")
+
+ tk.MustExec("drop table t2")
+ tk.MustExec("drop table t1")
+ tk.MustExec("create table t1 (id int key, b decimal(10, 5), index(b));")
+ tk.MustExec("create table t2 (a decimal(10, 5), constraint fk foreign key (a) references t1(b));")
+ tk.MustExec("insert into t1 values (1, 12345.67891);")
+ tk.MustExec("insert into t2 values (12345.67891);")
+ tk.MustGetErrMsg("alter table t1 modify column b decimal(10, 6);", "[ddl:1833]Cannot change column 'b': used in a foreign key constraint 'fk' of table 'test.t2'")
+ tk.MustGetErrMsg("alter table t1 modify column b decimal(10, 3);", "[ddl:1833]Cannot change column 'b': used in a foreign key constraint 'fk' of table 'test.t2'")
+ tk.MustGetErrMsg("alter table t1 modify column b decimal(5, 2);", "[ddl:1833]Cannot change column 'b': used in a foreign key constraint 'fk' of table 'test.t2'")
+ tk.MustGetErrMsg("alter table t1 modify column b decimal(20, 10);", "[ddl:1833]Cannot change column 'b': used in a foreign key constraint 'fk' of table 'test.t2'")
+ tk.MustGetErrMsg("alter table t2 modify column a decimal(30, 15);", "[ddl:1832]Cannot change column 'a': used in a foreign key constraint 'fk'")
+ tk.MustGetErrMsg("alter table t2 modify column a decimal(5, 2);", "[ddl:1832]Cannot change column 'a': used in a foreign key constraint 'fk'")
+}
+
+func TestDropChildTableForeignKeyMetaInfo(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key, a int, b int, CONSTRAINT fk foreign key (a) references t1(id))")
+ tb1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 1, len(tb1ReferredFKs))
+ tk.MustExec("drop table t1")
+ tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 0, len(tb1ReferredFKs))
+
+ tk.MustExec("create table t1 (id int key, b int, index(b))")
+ tk.MustExec("create table t2 (a int, b int, foreign key fk (a) references t1(b));")
+ tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 1, len(tb1ReferredFKs))
+ tk.MustExec("drop table t2")
+ tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 0, len(tb1ReferredFKs))
+}
+
+func TestDropForeignKeyMetaInfo(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key, a int, b int, CONSTRAINT fk foreign key (a) references t1(id))")
+ tb1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 1, len(tb1ReferredFKs))
+ tk.MustExec("alter table t1 drop foreign key fk")
+ tbl1Info := getTableInfo(t, dom, "test", "t1")
+ tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 0, len(tbl1Info.ForeignKeys))
+ require.Equal(t, 0, len(tb1ReferredFKs))
+
+ tk.MustExec("drop table t1")
+ tk.MustExec("create table t1 (id int key, b int, index(b))")
+ tk.MustExec("create table t2 (a int, b int, foreign key fk (a) references t1(b));")
+ tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 1, len(tb1ReferredFKs))
+ tk.MustExec("alter table t2 drop foreign key fk")
+ tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 0, len(tb1ReferredFKs))
+ tbl2Info := getTableInfo(t, dom, "test", "t2")
+ require.Equal(t, 0, len(tbl2Info.ForeignKeys))
+}
+
+func TestTruncateOrDropTableWithForeignKeyReferred(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("use test")
+
+ cases := []struct {
+ prepares []string
+ tbl string
+ truncateErr string
+ dropErr string
+ }{
+ {
+ prepares: []string{
+ "create table t1 (id int key, b int not null, index(b))",
+ "create table t2 (a int, b int, foreign key fk_b(b) references t1(b));",
+ },
+ tbl: "t1",
+ truncateErr: "[ddl:1701]Cannot truncate a table referenced in a foreign key constraint (`test`.`t2` CONSTRAINT `fk_b`)",
+ dropErr: "[ddl:3730]Cannot drop table 't1' referenced by a foreign key constraint 'fk_b' on table 't2'.",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key, a varchar(10), index(a));",
+ "create table t2 (a int, b varchar(20), foreign key fk_b(b) references t1(a));",
+ },
+ tbl: "t1",
+ truncateErr: "[ddl:1701]Cannot truncate a table referenced in a foreign key constraint (`test`.`t2` CONSTRAINT `fk_b`)",
+ dropErr: "[ddl:3730]Cannot drop table 't1' referenced by a foreign key constraint 'fk_b' on table 't2'.",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key, a varchar(10), index (a(10)));",
+ "create table t2 (a int, b varchar(20), foreign key fk_b(b) references t1(a));",
+ },
+ tbl: "t1",
+ truncateErr: "[ddl:1701]Cannot truncate a table referenced in a foreign key constraint (`test`.`t2` CONSTRAINT `fk_b`)",
+ dropErr: "[ddl:3730]Cannot drop table 't1' referenced by a foreign key constraint 'fk_b' on table 't2'.",
+ },
+ }
+
+ for _, ca := range cases {
+ tk.MustExec("drop table if exists t2")
+ tk.MustExec("drop table if exists t1")
+ for _, sql := range ca.prepares {
+ tk.MustExec(sql)
+ }
+ truncateSQL := fmt.Sprintf("truncate table %v", ca.tbl)
+ tk.MustExec("set @@foreign_key_checks=1;")
+ err := tk.ExecToErr(truncateSQL)
+ require.Error(t, err)
+ require.Equal(t, ca.truncateErr, err.Error())
+ dropSQL := fmt.Sprintf("drop table %v", ca.tbl)
+ err = tk.ExecToErr(dropSQL)
+ require.Error(t, err)
+ require.Equal(t, ca.dropErr, err.Error())
+
+ tk.MustExec("set @@foreign_key_checks=0;")
+ tk.MustExec(truncateSQL)
+ }
+ passCases := [][]string{
+ {
+ "create table t1 (id int key, a int, b int, foreign key fk(a) references t1(id))",
+ "truncate table t1",
+ "drop table t1",
+ },
+ {
+ "create table t1 (id int key, a varchar(10), index (a(10)));",
+ "create table t2 (a int, b varchar(20), foreign key fk_b(b) references t1(a));",
+ "drop table t1, t2",
+ },
+ {
+ "set @@foreign_key_checks=0;",
+ "create table t1 (id int key, a varchar(10), index (a(10)));",
+ "create table t2 (a int, b varchar(20), foreign key fk_b(b) references t1(a));",
+ "truncate table t1",
+ "drop table t1",
+ },
+ }
+ for _, ca := range passCases {
+ tk.MustExec("drop table if exists t1, t2")
+ tk.MustExec("set @@foreign_key_checks=1;")
+ for _, sql := range ca {
+ tk.MustExec(sql)
+ }
+ }
+}
+
+func TestDropTableWithForeignKeyReferred(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("set @@foreign_key_checks=1;")
+ tk.MustExec("use test")
+
+ tk.MustExec("create table t1 (id int key, b int, index(b));")
+ tk.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references t1(id));")
+ tk.MustExec("create table t3 (id int key, b int, foreign key fk_b(b) references t2(id));")
+ err := tk.ExecToErr("drop table if exists t1,t2;")
+ require.Error(t, err)
+ require.Equal(t, "[ddl:3730]Cannot drop table 't2' referenced by a foreign key constraint 'fk_b' on table 't3'.", err.Error())
+ tk.MustQuery("show tables").Check(testkit.Rows("t1", "t2", "t3"))
+}
+
+func TestDropIndexNeededInForeignKey(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("set @@foreign_key_checks=1")
+ tk.MustExec("use test")
+
+ cases := []struct {
+ prepares []string
+ drops []string
+ err string
+ }{
+ {
+ prepares: []string{
+ "create table t1 (id int key, b int, index idx (b))",
+ "create table t2 (a int, b int, index idx (b), foreign key fk_b(b) references t1(b));",
+ },
+ drops: []string{
+ "alter table t1 drop index idx",
+ "alter table t2 drop index idx",
+ },
+ err: "[ddl:1553]Cannot drop index 'idx': needed in a foreign key constraint",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int, b int, index idx (id, b))",
+ "create table t2 (a int, b int, index idx (b, a), foreign key fk_b(b) references t1(id));",
+ },
+ drops: []string{
+ "alter table t1 drop index idx",
+ "alter table t2 drop index idx",
+ },
+ err: "[ddl:1553]Cannot drop index 'idx': needed in a foreign key constraint",
+ },
+ }
+
+ for _, ca := range cases {
+ tk.MustExec("drop table if exists t2")
+ tk.MustExec("drop table if exists t1")
+ for _, sql := range ca.prepares {
+ tk.MustExec(sql)
+ }
+ for _, drop := range ca.drops {
+ // even disable foreign key check, still can't drop the index used by foreign key.
+ tk.MustExec("set @@foreign_key_checks=0;")
+ err := tk.ExecToErr(drop)
+ require.Error(t, err)
+ require.Equal(t, ca.err, err.Error())
+ tk.MustExec("set @@foreign_key_checks=1;")
+ err = tk.ExecToErr(drop)
+ require.Error(t, err)
+ require.Equal(t, ca.err, err.Error())
+ }
+ }
+ passCases := [][]string{
+ {
+ "create table t1 (id int key, b int, index idxb (b))",
+ "create table t2 (a int, b int key, index idxa (a),index idxb (b), foreign key fk_b(b) references t1(id));",
+ "alter table t1 drop index idxb",
+ "alter table t2 drop index idxa",
+ "alter table t2 drop index idxb",
+ },
+ {
+ "create table t1 (id int key, b int, index idxb (b), unique index idx(b, id))",
+ "create table t2 (a int, b int key, index idx (b, a),index idxb (b), index idxab(a, b), foreign key fk_b(b) references t1(b));",
+ "alter table t1 drop index idxb",
+ "alter table t1 add index idxb (b)",
+ "alter table t1 drop index idx",
+ "alter table t2 drop index idx",
+ "alter table t2 add index idx (b, a)",
+ "alter table t2 drop index idxb",
+ "alter table t2 drop index idxab",
+ },
+ }
+ tk.MustExec("set @@foreign_key_checks=1;")
+ for _, ca := range passCases {
+ tk.MustExec("drop table if exists t2")
+ tk.MustExec("drop table if exists t1")
+ for _, sql := range ca {
+ tk.MustExec(sql)
+ }
+ }
+}
+
+func getTableInfo(t *testing.T, dom *domain.Domain, db, tb string) *model.TableInfo {
+ err := dom.Reload()
+ require.NoError(t, err)
+ is := dom.InfoSchema()
+ tbl, err := is.TableByName(model.NewCIStr(db), model.NewCIStr(tb))
+ require.NoError(t, err)
+ _, exist := is.TableByID(tbl.Meta().ID)
+ require.True(t, exist)
+ return tbl.Meta()
+}
+
+func getTableInfoReferredForeignKeys(t *testing.T, dom *domain.Domain, db, tb string) []*model.ReferredFKInfo {
+ err := dom.Reload()
+ require.NoError(t, err)
+ return dom.InfoSchema().GetTableReferredForeignKeys(db, tb)
+}
+
+func TestDropColumnWithForeignKey(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("set @@foreign_key_checks=1;")
+ tk.MustExec("use test")
+
+ tk.MustExec("create table t1 (id int key, a int, b int, index(b), CONSTRAINT fk foreign key (a) references t1(b))")
+ tk.MustGetErrMsg("alter table t1 drop column a;", "[ddl:1828]Cannot drop column 'a': needed in a foreign key constraint 'fk'")
+ tk.MustGetErrMsg("alter table t1 drop column b;", "[ddl:1829]Cannot drop column 'b': needed in a foreign key constraint 'fk' of table 't1'")
+
+ tk.MustExec("drop table t1")
+ tk.MustExec("create table t1 (id int key, b int, index(b));")
+ tk.MustExec("create table t2 (a int, b int, constraint fk foreign key (a) references t1(b));")
+ tk.MustGetErrMsg("alter table t1 drop column b;", "[ddl:1829]Cannot drop column 'b': needed in a foreign key constraint 'fk' of table 't2'")
+ tk.MustGetErrMsg("alter table t2 drop column a;", "[ddl:1828]Cannot drop column 'a': needed in a foreign key constraint 'fk'")
+}
+
+func TestRenameColumnWithForeignKeyMetaInfo(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("set @@foreign_key_checks=1;")
+ tk.MustExec("use test")
+
+ tk.MustExec("create table t1 (id int key, a int, b int, foreign key fk(a) references t1(id))")
+ tk.MustExec("alter table t1 change id kid int")
+ tk.MustExec("alter table t1 rename column a to aa")
+ tbl1Info := getTableInfo(t, dom, "test", "t1")
+ tb1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 1, len(tbl1Info.ForeignKeys))
+ require.Equal(t, 1, len(tb1ReferredFKs))
+ require.Equal(t, "kid", tb1ReferredFKs[0].Cols[0].L)
+ require.Equal(t, "kid", tbl1Info.ForeignKeys[0].RefCols[0].L)
+ require.Equal(t, "aa", tbl1Info.ForeignKeys[0].Cols[0].L)
+
+ tk.MustExec("drop table t1")
+ tk.MustExec("create table t1 (id int key, b int, index(b))")
+ tk.MustExec("create table t2 (a int, b int, foreign key fk(a) references t1(b));")
+ tk.MustExec("alter table t2 change a aa int")
+ tbl1Info = getTableInfo(t, dom, "test", "t1")
+ tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 1, len(tb1ReferredFKs))
+ require.Equal(t, 1, len(tb1ReferredFKs[0].Cols))
+ require.Equal(t, "b", tb1ReferredFKs[0].Cols[0].L)
+ tbl2Info := getTableInfo(t, dom, "test", "t2")
+ tb2ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t2")
+ require.Equal(t, 0, len(tb2ReferredFKs))
+ require.Equal(t, 1, len(tbl2Info.ForeignKeys))
+ require.Equal(t, 1, len(tbl2Info.ForeignKeys[0].Cols))
+ require.Equal(t, 1, len(tbl2Info.ForeignKeys[0].RefCols))
+ require.Equal(t, "aa", tbl2Info.ForeignKeys[0].Cols[0].L)
+ require.Equal(t, "b", tbl2Info.ForeignKeys[0].RefCols[0].L)
+
+ tk.MustExec("alter table t1 change id kid int")
+ tk.MustExec("alter table t1 change b bb int")
+ tbl1Info = getTableInfo(t, dom, "test", "t1")
+ tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 1, len(tb1ReferredFKs))
+ require.Equal(t, 1, len(tb1ReferredFKs[0].Cols))
+ require.Equal(t, "bb", tb1ReferredFKs[0].Cols[0].L)
+ tbl2Info = getTableInfo(t, dom, "test", "t2")
+ tb2ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t2")
+ require.Equal(t, 0, len(tb2ReferredFKs))
+ require.Equal(t, 1, len(tbl2Info.ForeignKeys))
+ require.Equal(t, 1, len(tbl2Info.ForeignKeys[0].Cols))
+ require.Equal(t, 1, len(tbl2Info.ForeignKeys[0].RefCols))
+ require.Equal(t, "aa", tbl2Info.ForeignKeys[0].Cols[0].L)
+ require.Equal(t, "bb", tbl2Info.ForeignKeys[0].RefCols[0].L)
+
+ tk.MustExec("drop table t1, t2")
+ tk.MustExec("create table t1 (id int key, b int, index(b))")
+ tk.MustExec("create table t2 (a int, b int, foreign key (a) references t1(b), foreign key (b) references t1(b));")
+ tk.MustExec("alter table t1 change b bb int")
+ tbl1Info = getTableInfo(t, dom, "test", "t1")
+ tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ require.Equal(t, 2, len(tb1ReferredFKs))
+ require.Equal(t, 1, len(tb1ReferredFKs[0].Cols))
+ require.Equal(t, 1, len(tb1ReferredFKs[1].Cols))
+ require.Equal(t, "bb", tb1ReferredFKs[0].Cols[0].L)
+ require.Equal(t, "bb", tb1ReferredFKs[1].Cols[0].L)
+ tbl2Info = getTableInfo(t, dom, "test", "t2")
+ tb2ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t2")
+ require.Equal(t, 0, len(tb2ReferredFKs))
+ require.Equal(t, 2, len(tbl2Info.ForeignKeys))
+ require.Equal(t, 1, len(tbl2Info.ForeignKeys[0].Cols))
+ require.Equal(t, 1, len(tbl2Info.ForeignKeys[0].RefCols))
+ require.Equal(t, "a", tbl2Info.ForeignKeys[0].Cols[0].L)
+ require.Equal(t, "bb", tbl2Info.ForeignKeys[0].RefCols[0].L)
+ require.Equal(t, 1, len(tbl2Info.ForeignKeys[1].Cols))
+ require.Equal(t, 1, len(tbl2Info.ForeignKeys[1].RefCols))
+ require.Equal(t, "b", tbl2Info.ForeignKeys[1].Cols[0].L)
+ require.Equal(t, "bb", tbl2Info.ForeignKeys[1].RefCols[0].L)
+ tk.MustExec("alter table t2 rename column a to aa")
+ tk.MustExec("alter table t2 change b bb int")
+ tk.MustQuery("show create table t2").
+ Check(testkit.Rows("t2 CREATE TABLE `t2` (\n" +
+ " `aa` int(11) DEFAULT NULL,\n" +
+ " `bb` int(11) DEFAULT NULL,\n" +
+ " KEY `fk_1` (`aa`),\n KEY `fk_2` (`bb`),\n" +
+ " CONSTRAINT `fk_1` FOREIGN KEY (`aa`) REFERENCES `test`.`t1` (`bb`),\n" +
+ " CONSTRAINT `fk_2` FOREIGN KEY (`bb`) REFERENCES `test`.`t1` (`bb`)\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
+}
+
+func TestDropDatabaseWithForeignKeyReferred(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("set @@foreign_key_checks=1;")
+ tk.MustExec("use test")
+
+ tk.MustExec("create table t1 (id int key, b int, index(b));")
+ tk.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references t1(id));")
+ tk.MustExec("create database test2")
+ tk.MustExec("create table test2.t3 (id int key, b int, foreign key fk_b(b) references test.t2(id));")
+ err := tk.ExecToErr("drop database test;")
+ require.Error(t, err)
+ require.Equal(t, "[ddl:3730]Cannot drop table 't2' referenced by a foreign key constraint 'fk_b' on table 't3'.", err.Error())
+ tk.MustExec("set @@foreign_key_checks=0;")
+ tk.MustExec("drop database test")
+
+ tk.MustExec("set @@foreign_key_checks=1;")
+ tk.MustExec("create database test")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key, b int, index(b));")
+ tk.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references t1(id));")
+ err = tk.ExecToErr("drop database test;")
+ require.Error(t, err)
+ require.Equal(t, "[ddl:3730]Cannot drop table 't2' referenced by a foreign key constraint 'fk_b' on table 't3'.", err.Error())
+ tk.MustExec("drop table test2.t3")
+ tk.MustExec("drop database test")
+}
+
+func TestAddForeignKey(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("set @@foreign_key_checks=1;")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key, b int);")
+ tk.MustExec("create table t2 (id int key, b int);")
+ tk.MustExec("alter table t2 add index(b)")
+ tk.MustExec("alter table t2 add foreign key (b) references t1(id);")
+ tbl2Info := getTableInfo(t, dom, "test", "t2")
+ require.Equal(t, int64(1), tbl2Info.MaxForeignKeyID)
+ tk.MustGetDBError("alter table t2 add foreign key (b) references t1(b);", infoschema.ErrForeignKeyNoIndexInParent)
+ tk.MustExec("alter table t1 add index(b)")
+ tk.MustExec("alter table t2 add foreign key (b) references t1(b);")
+ tk.MustGetDBError("alter table t2 add foreign key (b) references t2(b);", infoschema.ErrCannotAddForeign)
+ // Test auto-create index when create foreign key constraint.
+ tk.MustExec("drop table if exists t1,t2")
+ tk.MustExec("create table t1 (id int key, b int, index(b));")
+ tk.MustExec("create table t2 (id int key, b int);")
+ tk.MustExec("alter table t2 add constraint fk foreign key (b) references t1(b);")
+ tbl2Info = getTableInfo(t, dom, "test", "t2")
+ require.Equal(t, 1, len(tbl2Info.Indices))
+ require.Equal(t, "fk", tbl2Info.Indices[0].Name.L)
+ require.Equal(t, model.StatePublic, tbl2Info.Indices[0].State)
+ tk.MustQuery("select b from t2 use index(fk)").Check(testkit.Rows())
+ res := tk.MustQuery("explain select b from t2 use index(fk)")
+ plan := bytes.NewBuffer(nil)
+ rows := res.Rows()
+ for _, row := range rows {
+ for _, c := range row {
+ plan.WriteString(c.(string))
+ plan.WriteString(" ")
+ }
+ }
+ require.Regexp(t, ".*IndexReader.*index:fk.*", plan.String())
+
+ // Test add multiple foreign key constraint in one statement.
+ tk.MustExec("alter table t2 add column c int, add column d int, add column e int;")
+ tk.MustExec("alter table t2 add index idx_c(c, d, e)")
+ tk.MustExec("alter table t2 add constraint fk_c foreign key (c) references t1(b), " +
+ "add constraint fk_d foreign key (d) references t1(b)," +
+ "add constraint fk_e foreign key (e) references t1(b)")
+ tbl2Info = getTableInfo(t, dom, "test", "t2")
+ require.Equal(t, 4, len(tbl2Info.Indices))
+ names := []string{"fk", "idx_c", "fk_d", "fk_e"}
+ for i, idx := range tbl2Info.Indices {
+ require.Equal(t, names[i], idx.Name.L)
+ require.Equal(t, model.StatePublic, idx.State)
+ }
+ names = []string{"fk", "fk_c", "fk_d", "fk_e"}
+ for i, fkInfo := range tbl2Info.ForeignKeys {
+ require.Equal(t, names[i], fkInfo.Name.L)
+ require.Equal(t, model.StatePublic, fkInfo.State)
+ }
+ tk.MustGetDBError("insert into t2 (id, b) values (1,1)", plannercore.ErrNoReferencedRow2)
+ tk.MustGetDBError("insert into t2 (id, c) values (1,1)", plannercore.ErrNoReferencedRow2)
+ tk.MustGetDBError("insert into t2 (id, d) values (1,1)", plannercore.ErrNoReferencedRow2)
+ tk.MustGetDBError("insert into t2 (id, e) values (1,1)", plannercore.ErrNoReferencedRow2)
+
+ // Test add multiple foreign key constraint in one statement but failed.
+ tk.MustExec("alter table t2 drop foreign key fk")
+ tk.MustExec("alter table t2 drop foreign key fk_c")
+ tk.MustExec("alter table t2 drop foreign key fk_d")
+ tk.MustExec("alter table t2 drop foreign key fk_e")
+ tk.MustGetDBError("alter table t2 add constraint fk_c foreign key (c) references t1(b), "+
+ "add constraint fk_d foreign key (d) references t1(b),"+
+ "add constraint fk_e foreign key (e) references t1(unknown_col)", infoschema.ErrForeignKeyNoColumnInParent)
+ tbl2Info = getTableInfo(t, dom, "test", "t2")
+ require.Equal(t, 0, len(tbl2Info.ForeignKeys))
+ tk.MustGetDBError("alter table t2 drop index idx_c, add constraint fk_c foreign key (c) references t1(b)", dbterror.ErrDropIndexNeededInForeignKey)
+
+ // Test circular dependency add foreign key failed.
+ tk.MustExec("drop table if exists t1,t2")
+ tk.MustExec("create table t1 (id int key,a int, index(a));")
+ tk.MustExec("create table t2 (id int key,a int, foreign key fk(a) references t1(id) ON DELETE CASCADE);")
+ tk.MustExec("insert into t1 values (1,1);")
+ err := tk.ExecToErr("ALTER TABLE t1 ADD foreign key fk(a) references t2(id) ON DELETE CASCADE;")
+ require.Error(t, err)
+ require.Equal(t, "[ddl:1452]Cannot add or update a child row: a foreign key constraint fails (`test`.`t1`, CONSTRAINT `fk` FOREIGN KEY (`a`) REFERENCES `t2` (`id`) ON DELETE CASCADE)", err.Error())
+ tbl1Info := getTableInfo(t, dom, "test", "t1")
+ require.Equal(t, 0, len(tbl1Info.ForeignKeys))
+ referredFKs := dom.InfoSchema().GetTableReferredForeignKeys("test", "t2")
+ require.Equal(t, 0, len(referredFKs))
+ tk.MustQuery("show create table t1").Check(testkit.Rows("t1 CREATE TABLE `t1` (\n" +
+ " `id` int(11) NOT NULL,\n" +
+ " `a` int(11) DEFAULT NULL,\n" +
+ " PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n" +
+ " KEY `a` (`a`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
+
+ // Test add foreign key with auto-create index failed.
+ tk.MustExec("drop table if exists t1,t2")
+ tk.MustExec("create table t1 (id int key,a int);")
+ tk.MustExec("create table t2 (id int key);")
+ tk.MustExec("insert into t1 values (1,1);")
+ err = tk.ExecToErr("ALTER TABLE t1 ADD foreign key fk(a) references t2(id) ON DELETE CASCADE;")
+ require.Error(t, err)
+ require.Equal(t, "[ddl:1452]Cannot add or update a child row: a foreign key constraint fails (`test`.`t1`, CONSTRAINT `fk` FOREIGN KEY (`a`) REFERENCES `t2` (`id`) ON DELETE CASCADE)", err.Error())
+ tbl1Info = getTableInfo(t, dom, "test", "t1")
+ require.Equal(t, 0, len(tbl1Info.ForeignKeys))
+ referredFKs = dom.InfoSchema().GetTableReferredForeignKeys("test", "t2")
+ require.Equal(t, 0, len(referredFKs))
+ tk.MustQuery("show create table t1").Check(testkit.Rows("t1 CREATE TABLE `t1` (\n" +
+ " `id` int(11) NOT NULL,\n" +
+ " `a` int(11) DEFAULT NULL,\n" +
+ " PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
+}
+
+func TestAlterTableAddForeignKeyError(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("set @@foreign_key_checks=1;")
+ tk.MustExec("use test")
+ cases := []struct {
+ prepares []string
+ alter string
+ err string
+ }{
+ {
+ prepares: []string{
+ "create table t1 (id int, a int, b int);",
+ "create table t2 (a int, b int);",
+ },
+ alter: "alter table t2 add foreign key fk(b) references t_unknown(id)",
+ err: "[schema:1824]Failed to open the referenced table 't_unknown'",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int, a int, b int);",
+ "create table t2 (a int, b int);",
+ },
+ alter: "alter table t2 add foreign key fk(b) references t1(c_unknown)",
+ err: "[schema:3734]Failed to add the foreign key constraint. Missing column 'c_unknown' for constraint 'fk' in the referenced table 't1'",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int, a int, b int);",
+ "create table t2 (a int, b int);",
+ },
+ alter: "alter table t2 add foreign key fk_b(b) references t1(b)",
+ err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_b' in the referenced table 't1'",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int, a int, b int not null, index(b));",
+ "create table t2 (a int, b int not null);",
+ },
+ alter: "alter table t2 add foreign key fk_b(b) references t1(b) on update set null",
+ err: "[schema:1830]Column 'b' cannot be NOT NULL: needed in a foreign key constraint 'fk_b' SET NULL",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int, a int, b int not null, index(b));",
+ "create table t2 (a int, b int not null);",
+ },
+ alter: "alter table t2 add foreign key fk_b(b) references t1(b) on delete set null",
+ err: "[schema:1830]Column 'b' cannot be NOT NULL: needed in a foreign key constraint 'fk_b' SET NULL",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key, a int, b int as (a) virtual, index(b));",
+ "create table t2 (a int, b int);",
+ },
+ alter: "alter table t2 add foreign key fk_b(b) references t1(b)",
+ err: "[schema:3733]Foreign key 'fk_b' uses virtual column 'b' which is not supported.",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key, a int, b int, index(b));",
+ "create table t2 (a int, b int as (a) virtual);",
+ },
+ alter: "alter table t2 add foreign key fk_b(b) references t1(b)",
+ err: "[schema:3733]Foreign key 'fk_b' uses virtual column 'b' which is not supported.",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key, a int);",
+ "create table t2 (a int, b varchar(10));",
+ },
+ alter: "alter table t2 add foreign key fk(b) references t1(id)",
+ err: "[ddl:3780]Referencing column 'b' and referenced column 'id' in foreign key constraint 'fk' are incompatible.",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key, a int not null, index(a));",
+ "create table t2 (a int, b int unsigned);",
+ },
+ alter: "alter table t2 add foreign key fk_b(b) references t1(a)",
+ err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key, a bigint, index(a));",
+ "create table t2 (a int, b int);",
+ },
+ alter: "alter table t2 add foreign key fk_b(b) references t1(a)",
+ err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key, a varchar(10) charset utf8, index(a));",
+ "create table t2 (a int, b varchar(10) charset utf8mb4);",
+ },
+ alter: "alter table t2 add foreign key fk_b(b) references t1(a)",
+ err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key, a varchar(10) collate utf8_bin, index(a));",
+ "create table t2 (a int, b varchar(10) collate utf8mb4_bin);",
+ },
+ alter: "alter table t2 add foreign key fk_b(b) references t1(a)",
+ err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key, a varchar(10));",
+ "create table t2 (a int, b varchar(10));",
+ },
+ alter: "alter table t2 add foreign key fk_b(b) references t1(a)",
+ err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_b' in the referenced table 't1'",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key, a varchar(10), index (a(5)));",
+ "create table t2 (a int, b varchar(10));",
+ },
+ alter: "alter table t2 add foreign key fk_b(b) references t1(a)",
+ err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_b' in the referenced table 't1'",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key, a int)",
+ "create table t2 (id int, b int, index(b))",
+ "insert into t2 values (1,1)",
+ },
+ alter: "alter table t2 add foreign key fk_b(b) references t1(id)",
+ err: "[ddl:1452]Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk_b` FOREIGN KEY (`b`) REFERENCES `t1` (`id`))",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int, a int, b int, index(a,b))",
+ "create table t2 (id int, a int, b int, index(a,b))",
+ "insert into t2 values (1, 1, null), (2, null, 1), (3, null, null), (4, 1, 1)",
+ },
+ alter: "alter table t2 add foreign key fk_b(a, b) references t1(a, b)",
+ err: "[ddl:1452]Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk_b` FOREIGN KEY (`a`, `b`) REFERENCES `t1` (`a`, `b`))",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key);",
+ "create table t2 (a int, b int unique);",
+ },
+ alter: "alter table t2 add foreign key name5678901234567890123456789012345678901234567890123456789012345(b) references t1(id)",
+ err: "[ddl:1059]Identifier name 'name5678901234567890123456789012345678901234567890123456789012345' is too long",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key);",
+ "create table t2 (a int, b int unique);",
+ },
+ alter: "alter table t2 add constraint name5678901234567890123456789012345678901234567890123456789012345 foreign key (b) references t1(id)",
+ err: "[ddl:1059]Identifier name 'name5678901234567890123456789012345678901234567890123456789012345' is too long",
+ },
+ // Test foreign key with temporary table.
+ {
+ prepares: []string{
+ "create temporary table t1 (id int key);",
+ "create table t2 (a int, b int unique);",
+ },
+ alter: "alter table t2 add constraint fk foreign key (b) references t1(id)",
+ err: "[schema:1824]Failed to open the referenced table 't1'",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key);",
+ "create temporary table t2 (a int, b int unique);",
+ },
+ alter: "alter table t2 add constraint fk foreign key (b) references t1(id)",
+ err: "[ddl:8200]TiDB doesn't support ALTER TABLE for local temporary table",
+ },
+ // Test foreign key with partition table
+ {
+ prepares: []string{
+ "create table t1 (id int key) partition by hash(id) partitions 3;",
+ "create table t2 (id int key);",
+ },
+ alter: "alter table t2 add constraint fk foreign key (id) references t1(id)",
+ err: "[schema:1506]Foreign key clause is not yet supported in conjunction with partitioning",
+ },
+ {
+ prepares: []string{
+ "create table t1 (id int key);",
+ "create table t2 (id int key) partition by hash(id) partitions 3;;",
+ },
+ alter: "alter table t2 add constraint fk foreign key (id) references t1(id)",
+ err: "[schema:1506]Foreign key clause is not yet supported in conjunction with partitioning",
+ },
+ }
+ for i, ca := range cases {
+ tk.MustExec("drop table if exists t2")
+ tk.MustExec("drop table if exists t1")
+ for _, sql := range ca.prepares {
+ tk.MustExec(sql)
+ }
+ err := tk.ExecToErr(ca.alter)
+ require.Error(t, err, fmt.Sprintf("%v, %v", i, ca.err))
+ require.Equal(t, ca.err, err.Error())
+ }
+
+ passCases := [][]string{
+ {
+ "create table t1 (id int key, a int, b int, index(a))",
+ "alter table t1 add foreign key fk(a) references t1(id)",
+ },
+ {
+ "create table t1 (id int key, b int not null, index(b))",
+ "create table t2 (a int, b int, index(b));",
+ "alter table t2 add foreign key fk_b(b) references t1(b)",
+ },
+ {
+ "create table t1 (id int key, a varchar(10), index(a));",
+ "create table t2 (a int, b varchar(20), index(b));",
+ "alter table t2 add foreign key fk_b(b) references t1(a)",
+ },
+ {
+ "create table t1 (id int key, a decimal(10,5), index(a));",
+ "create table t2 (a int, b decimal(20, 10), index(b));",
+ "alter table t2 add foreign key fk_b(b) references t1(a)",
+ },
+ {
+ "create table t1 (id int key, a varchar(10), index (a(10)));",
+ "create table t2 (a int, b varchar(20), index(b));",
+ "alter table t2 add foreign key fk_b(b) references t1(a)",
+ },
+ {
+ "create table t1 (id int key, a int)",
+ "create table t2 (id int, b int, index(b))",
+ "insert into t2 values (1, null)",
+ "alter table t2 add foreign key fk_b(b) references t1(id)",
+ },
+ {
+ "create table t1 (id int, a int, b int, index(a,b))",
+ "create table t2 (id int, a int, b int, index(a,b))",
+ "insert into t2 values (1, 1, null), (2, null, 1), (3, null, null)",
+ "alter table t2 add foreign key fk_b(a, b) references t1(a, b)",
+ },
+ {
+ "set @@foreign_key_checks=0;",
+ "create table t1 (id int, a int, b int, index(a,b))",
+ "create table t2 (id int, a int, b int, index(a,b))",
+ "insert into t2 values (1, 1, 1)",
+ "alter table t2 add foreign key fk_b(a, b) references t1(a, b)",
+ "set @@foreign_key_checks=1;",
+ },
+ {
+ "set @@foreign_key_checks=0;",
+ "create table t2 (a int, b int, index(b));",
+ "alter table t2 add foreign key fk_b(b) references t_unknown(a)",
+ "set @@foreign_key_checks=1;",
+ },
+ {
+ "create table t1 (id int key);",
+ "create table t2 (a int, b int unique);",
+ "alter table t2 add foreign key name567890123456789012345678901234567890123456789012345678901234(b) references t1(id)",
+ },
+ }
+ for _, ca := range passCases {
+ tk.MustExec("drop table if exists t2")
+ tk.MustExec("drop table if exists t1")
+ for _, sql := range ca {
+ tk.MustExec(sql)
+ }
+ }
+}
+
+func TestRenameTablesWithForeignKey(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("set @@foreign_key_checks=0;")
+ tk.MustExec("create database test1")
+ tk.MustExec("create database test2")
+ tk.MustExec("use test")
+ tk.MustExec("create table t0 (id int key, b int);")
+ tk.MustExec("create table t1 (id int key, b int, index(b), foreign key fk(b) references t2(id));")
+ tk.MustExec("create table t2 (id int key, b int, index(b), foreign key fk(b) references t1(id));")
+ tk.MustExec("rename table test.t1 to test1.tt1, test.t2 to test2.tt2, test.t0 to test.tt0")
+
+ // check the schema diff
+ diff := getLatestSchemaDiff(t, tk)
+ require.Equal(t, model.ActionRenameTables, diff.Type)
+ require.Equal(t, 3, len(diff.AffectedOpts))
+
+ // check referred foreign key information.
+ t1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
+ t2ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t2")
+ require.Equal(t, 0, len(t1ReferredFKs))
+ require.Equal(t, 0, len(t2ReferredFKs))
+ tt1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test1", "tt1")
+ tt2ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test2", "tt2")
+ require.Equal(t, 1, len(tt1ReferredFKs))
+ require.Equal(t, 1, len(tt2ReferredFKs))
+ require.Equal(t, model.ReferredFKInfo{
+ Cols: []model.CIStr{model.NewCIStr("id")},
+ ChildSchema: model.NewCIStr("test2"),
+ ChildTable: model.NewCIStr("tt2"),
+ ChildFKName: model.NewCIStr("fk"),
+ }, *tt1ReferredFKs[0])
+ require.Equal(t, model.ReferredFKInfo{
+ Cols: []model.CIStr{model.NewCIStr("id")},
+ ChildSchema: model.NewCIStr("test1"),
+ ChildTable: model.NewCIStr("tt1"),
+ ChildFKName: model.NewCIStr("fk"),
+ }, *tt2ReferredFKs[0])
+
+ // check show create table information
+ tk.MustQuery("show create table test1.tt1").Check(testkit.Rows("tt1 CREATE TABLE `tt1` (\n" +
+ " `id` int(11) NOT NULL,\n" +
+ " `b` int(11) DEFAULT NULL,\n" +
+ " PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n" +
+ " KEY `b` (`b`),\n" +
+ " CONSTRAINT `fk` FOREIGN KEY (`b`) REFERENCES `test2`.`tt2` (`id`)\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
+ tk.MustQuery("show create table test2.tt2").Check(testkit.Rows("tt2 CREATE TABLE `tt2` (\n" +
+ " `id` int(11) NOT NULL,\n" +
+ " `b` int(11) DEFAULT NULL,\n" +
+ " PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n" +
+ " KEY `b` (`b`),\n" +
+ " CONSTRAINT `fk` FOREIGN KEY (`b`) REFERENCES `test1`.`tt1` (`id`)\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
+}
+
+func getLatestSchemaDiff(t *testing.T, tk *testkit.TestKit) *model.SchemaDiff {
+ ctx := tk.Session()
+ err := sessiontxn.NewTxn(context.Background(), ctx)
+ require.NoError(t, err)
+ txn, err := ctx.Txn(true)
+ require.NoError(t, err)
+ m := meta.NewMeta(txn)
+ ver, err := m.GetSchemaVersion()
+ require.NoError(t, err)
+ diff, err := m.GetSchemaDiff(ver)
+ require.NoError(t, err)
+ return diff
+}
+
+func TestMultiSchemaAddForeignKey(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@foreign_key_checks=1;")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key);")
+ tk.MustExec("create table t2 (a int, b int);")
+ tk.MustExec("alter table t2 add foreign key (a) references t1(id), add foreign key (b) references t1(id)")
+ tk.MustExec("alter table t2 add column c int, add column d int")
+ tk.MustExec("alter table t2 add foreign key (c) references t1(id), add foreign key (d) references t1(id), add index(c), add index(d)")
+ tk.MustExec("drop table t2")
+ tk.MustExec("create table t2 (a int, b int, index idx1(a), index idx2(b));")
+ tk.MustGetErrMsg("alter table t2 drop index idx1, drop index idx2, add foreign key (a) references t1(id), add foreign key (b) references t1(id)",
+ "[ddl:1553]Cannot drop index 'idx1': needed in a foreign key constraint")
+ tk.MustExec("alter table t2 drop index idx1, drop index idx2")
+ tk.MustExec("alter table t2 add foreign key (a) references t1(id), add foreign key (b) references t1(id)")
+ tk.MustQuery("show create table t2").Check(testkit.Rows("t2 CREATE TABLE `t2` (\n" +
+ " `a` int(11) DEFAULT NULL,\n" +
+ " `b` int(11) DEFAULT NULL,\n" +
+ " KEY `fk_1` (`a`),\n" +
+ " KEY `fk_2` (`b`),\n" +
+ " CONSTRAINT `fk_1` FOREIGN KEY (`a`) REFERENCES `test`.`t1` (`id`),\n" +
+ " CONSTRAINT `fk_2` FOREIGN KEY (`b`) REFERENCES `test`.`t1` (`id`)\n" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
+ tk.MustExec("drop table t2")
+ tk.MustExec("create table t2 (a int, b int, index idx0(a,b), index idx1(a), index idx2(b));")
+ tk.MustExec("alter table t2 drop index idx1, add foreign key (a) references t1(id), add foreign key (b) references t1(id)")
+}
+
+func TestAddForeignKeyInBigTable(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@foreign_key_checks=1;")
+ tk.MustExec("use test")
+ tk.MustExec("create table employee (id bigint auto_increment key, pid bigint)")
+ tk.MustExec("insert into employee (id) values (1),(2),(3),(4),(5),(6),(7),(8)")
+ for i := 0; i < 14; i++ {
+ tk.MustExec("insert into employee (pid) select pid from employee")
+ }
+ tk.MustExec("update employee set pid=id-1 where id>1")
+ start := time.Now()
+ tk.MustExec("alter table employee add foreign key fk_1(pid) references employee(id)")
+ require.Less(t, time.Since(start), time.Minute)
+}
+
+func TestForeignKeyWithCacheTable(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@foreign_key_checks=1;")
+ tk.MustExec("use test")
+ // Test foreign key refer cache table.
+ tk.MustExec("create table t1 (id int key);")
+ tk.MustExec("insert into t1 values (1),(2),(3),(4)")
+ tk.MustExec("alter table t1 cache;")
+ tk.MustExec("create table t2 (b int);")
+ tk.MustExec("alter table t2 add constraint fk foreign key (b) references t1(id) on delete cascade on update cascade")
+ tk.MustExec("insert into t2 values (1),(2),(3),(4)")
+ tk.MustGetDBError("insert into t2 values (5)", plannercore.ErrNoReferencedRow2)
+ tk.MustExec("update t1 set id = id+10 where id=1")
+ tk.MustExec("delete from t1 where id<10")
+ tk.MustQuery("select * from t1").Check(testkit.Rows("11"))
+ tk.MustQuery("select * from t2").Check(testkit.Rows("11"))
+ tk.MustExec("alter table t1 nocache;")
+ tk.MustExec("drop table t1,t2;")
+
+ // Test add foreign key on cache table.
+ tk.MustExec("create table t1 (id int key);")
+ tk.MustExec("create table t2 (b int);")
+ tk.MustExec("alter table t2 add constraint fk foreign key (b) references t1(id) on delete cascade on update cascade")
+ tk.MustExec("alter table t2 cache;")
+ tk.MustExec("insert into t1 values (1),(2),(3),(4)")
+ tk.MustExec("insert into t2 values (1),(2),(3),(4)")
+ tk.MustGetDBError("insert into t2 values (5)", plannercore.ErrNoReferencedRow2)
+ tk.MustExec("update t1 set id = id+10 where id=1")
+ tk.MustExec("delete from t1 where id<10")
+ tk.MustQuery("select * from t1").Check(testkit.Rows("11"))
+ tk.MustQuery("select * from t2").Check(testkit.Rows("11"))
+ tk.MustExec("alter table t2 nocache;")
+ tk.MustExec("drop table t1,t2;")
+}
+
+func TestForeignKeyAndConcurrentDDL(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@foreign_key_checks=1;")
+ tk.MustExec("use test")
+ // Test foreign key refer cache table.
+ tk.MustExec("create table t1 (a int, b int, c int, index(a), index(b), index(c));")
+ tk.MustExec("create table t2 (a int, b int, c int, index(a), index(b), index(c));")
+ tk2 := testkit.NewTestKit(t, store)
+ tk2.MustExec("set @@foreign_key_checks=1;")
+ tk2.MustExec("use test")
+ passCases := []struct {
+ prepare []string
+ ddl1 string
+ ddl2 string
+ }{
+ {
+ ddl1: "alter table t2 add constraint fk_1 foreign key (a) references t1(a)",
+ ddl2: "alter table t2 add constraint fk_2 foreign key (b) references t1(b)",
+ },
+ {
+ ddl1: "alter table t2 drop foreign key fk_1",
+ ddl2: "alter table t2 drop foreign key fk_2",
+ },
+ {
+ prepare: []string{
+ "alter table t2 drop index a",
+ },
+ ddl1: "alter table t2 add index(a)",
+ ddl2: "alter table t2 add constraint fk_1 foreign key (a) references t1(a)",
+ },
+ {
+ ddl1: "alter table t2 drop index c",
+ ddl2: "alter table t2 add constraint fk_2 foreign key (b) references t1(b)",
+ },
+ }
+ for _, ca := range passCases {
+ var wg sync.WaitGroup
+ wg.Add(2)
+ go func() {
+ defer wg.Done()
+ tk.MustExec(ca.ddl1)
+ }()
+ go func() {
+ defer wg.Done()
+ tk2.MustExec(ca.ddl2)
+ }()
+ wg.Wait()
+ }
+ errorCases := []struct {
+ prepare []string
+ ddl1 string
+ err1 string
+ ddl2 string
+ err2 string
+ }{
+ {
+ ddl1: "alter table t2 add constraint fk foreign key (a) references t1(a)",
+ err1: "[ddl:1826]Duplicate foreign key constraint name 'fk'",
+ ddl2: "alter table t2 add constraint fk foreign key (b) references t1(b)",
+ err2: "[ddl:1826]Duplicate foreign key constraint name 'fk'",
+ },
+ {
+ prepare: []string{
+ "alter table t2 add constraint fk_1 foreign key (a) references t1(a)",
+ },
+ ddl1: "alter table t2 drop foreign key fk_1",
+ err1: "[schema:1091]Can't DROP 'fk_1'; check that column/key exists",
+ ddl2: "alter table t2 drop foreign key fk_1",
+ err2: "[schema:1091]Can't DROP 'fk_1'; check that column/key exists",
+ },
+ {
+ ddl1: "alter table t2 drop index a",
+ err1: "[ddl:1553]Cannot drop index 'a': needed in a foreign key constraint",
+ ddl2: "alter table t2 add constraint fk_1 foreign key (a) references t1(a)",
+ err2: "[ddl:-1]Failed to add the foreign key constraint. Missing index for 'fk_1' foreign key columns in the table 't2'",
+ },
+ }
+ tk.MustExec("drop table t1,t2")
+ tk.MustExec("create table t1 (a int, b int, c int, index(a), index(b), index(c));")
+ tk.MustExec("create table t2 (a int, b int, c int, index(a), index(b), index(c));")
+ for i, ca := range errorCases {
+ for _, sql := range ca.prepare {
+ tk.MustExec(sql)
+ }
+ var wg sync.WaitGroup
+ var err1, err2 error
+ wg.Add(2)
+ go func() {
+ defer wg.Done()
+ err1 = tk.ExecToErr(ca.ddl1)
+ }()
+ go func() {
+ defer wg.Done()
+ err2 = tk2.ExecToErr(ca.ddl2)
+ }()
+ wg.Wait()
+ if (err1 == nil && err2 == nil) || (err1 != nil && err2 != nil) {
+ require.Failf(t, "both ddl1 and ddl2 execute success, but expect 1 error", fmt.Sprintf("idx: %v, err1: %v, err2: %v", i, err1, err2))
+ }
+ if err1 != nil {
+ require.Equal(t, ca.err1, err1.Error())
+ }
+ if err2 != nil {
+ require.Equal(t, ca.err2, err2.Error())
+ }
+ }
+}
diff --git a/ddl/fktest/main_test.go b/ddl/fktest/main_test.go
new file mode 100644
index 0000000000000..36f34049a9d03
--- /dev/null
+++ b/ddl/fktest/main_test.go
@@ -0,0 +1,56 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package ddl_test
+
+import (
+ "testing"
+ "time"
+
+ "github.com/pingcap/tidb/config"
+ "github.com/pingcap/tidb/ddl"
+ "github.com/pingcap/tidb/domain"
+ "github.com/pingcap/tidb/meta/autoid"
+ "github.com/pingcap/tidb/testkit/testsetup"
+ "github.com/tikv/client-go/v2/tikv"
+ "go.uber.org/goleak"
+)
+
+func TestMain(m *testing.M) {
+ testsetup.SetupForCommonTest()
+ tikv.EnableFailpoints()
+
+ domain.SchemaOutOfDateRetryInterval.Store(50 * time.Millisecond)
+ domain.SchemaOutOfDateRetryTimes.Store(50)
+
+ autoid.SetStep(5000)
+ ddl.RunInGoTest = true
+
+ config.UpdateGlobal(func(conf *config.Config) {
+ conf.Instance.SlowThreshold = 10000
+ conf.TiKVClient.AsyncCommit.SafeWindow = 0
+ conf.TiKVClient.AsyncCommit.AllowedClockDrift = 0
+ conf.Experimental.AllowsExpressionIndex = true
+ })
+
+ opts := []goleak.Option{
+ goleak.IgnoreTopFunction("github.com/golang/glog.(*loggingT).flushDaemon"),
+ goleak.IgnoreTopFunction("github.com/lestrrat-go/httprc.runFetchWorker"),
+ goleak.IgnoreTopFunction("go.etcd.io/etcd/client/pkg/v3/logutil.(*MergeLogger).outputLoop"),
+ goleak.IgnoreTopFunction("github.com/tikv/client-go/v2/txnkv/transaction.keepAlive"),
+ goleak.IgnoreTopFunction("go.opencensus.io/stats/view.(*worker).start"),
+ }
+
+ goleak.VerifyTestMain(m, opts...)
+}
diff --git a/ddl/foreign_key.go b/ddl/foreign_key.go
index 6f1d02d464ac8..1a06719cb404b 100644
--- a/ddl/foreign_key.go
+++ b/ddl/foreign_key.go
@@ -44,6 +44,9 @@ func (w *worker) onCreateForeignKey(d *ddlCtx, t *meta.Meta, job *model.Job) (ve
job.State = model.JobStateCancelled
return ver, errors.Trace(err)
}
+ if job.IsRollingback() {
+ return dropForeignKey(d, t, job, tblInfo, fkInfo.Name)
+ }
switch job.SchemaState {
case model.StateNone:
err = checkAddForeignKeyValidInOwner(d, t, job.SchemaName, tblInfo, &fkInfo, fkCheck)
@@ -63,7 +66,7 @@ func (w *worker) onCreateForeignKey(d *ddlCtx, t *meta.Meta, job *model.Job) (ve
case model.StateWriteOnly:
err = checkForeignKeyConstrain(w, job.SchemaName, tblInfo.Name.L, &fkInfo, fkCheck)
if err != nil {
- job.State = model.JobStateCancelled
+ job.State = model.JobStateRollingback
return ver, err
}
tblInfo.ForeignKeys[len(tblInfo.ForeignKeys)-1].State = model.StateWriteReorganization
@@ -94,29 +97,27 @@ func onDropForeignKey(d *ddlCtx, t *meta.Meta, job *model.Job) (ver int64, _ err
return ver, errors.Trace(err)
}
- var (
- fkName model.CIStr
- found bool
- fkInfo model.FKInfo
- )
+ var fkName model.CIStr
err = job.DecodeArgs(&fkName)
if err != nil {
job.State = model.JobStateCancelled
return ver, errors.Trace(err)
}
+ return dropForeignKey(d, t, job, tblInfo, fkName)
+}
+func dropForeignKey(d *ddlCtx, t *meta.Meta, job *model.Job, tblInfo *model.TableInfo, fkName model.CIStr) (ver int64, err error) {
+ var fkInfo *model.FKInfo
for _, fk := range tblInfo.ForeignKeys {
if fk.Name.L == fkName.L {
- found = true
- fkInfo = *fk
+ fkInfo = fk
+ break
}
}
-
- if !found {
+ if fkInfo == nil {
job.State = model.JobStateCancelled
return ver, infoschema.ErrForeignKeyNotExists.GenWithStackByArgs(fkName)
}
-
nfks := tblInfo.ForeignKeys[:0]
for _, fk := range tblInfo.ForeignKeys {
if fk.Name.L != fkName.L {
@@ -124,24 +125,18 @@ func onDropForeignKey(d *ddlCtx, t *meta.Meta, job *model.Job) (ver int64, _ err
}
}
tblInfo.ForeignKeys = nfks
-
- originalState := fkInfo.State
- switch fkInfo.State {
- case model.StatePublic:
- // We just support record the foreign key, so we just make it none.
- // public -> none
- fkInfo.State = model.StateNone
- ver, err = updateVersionAndTableInfo(d, t, job, tblInfo, originalState != fkInfo.State)
- if err != nil {
- return ver, errors.Trace(err)
- }
- // Finish this job.
+ ver, err = updateVersionAndTableInfo(d, t, job, tblInfo, true)
+ if err != nil {
+ return ver, errors.Trace(err)
+ }
+ // Finish this job.
+ if job.IsRollingback() {
+ job.FinishTableJob(model.JobStateRollbackDone, model.StateNone, ver, tblInfo)
+ } else {
job.FinishTableJob(model.JobStateDone, model.StateNone, ver, tblInfo)
- job.SchemaState = fkInfo.State
- return ver, nil
- default:
- return ver, dbterror.ErrInvalidDDLState.GenWithStackByArgs("foreign key", fkInfo.State)
}
+ job.SchemaState = model.StateNone
+ return ver, err
}
func allocateFKIndexID(tblInfo *model.TableInfo) int64 {
@@ -268,6 +263,12 @@ func checkTableForeignKey(referTblInfo, tblInfo *model.TableInfo, fkInfo *model.
if referTblInfo.TempTableType != model.TempTableNone || tblInfo.TempTableType != model.TempTableNone {
return infoschema.ErrCannotAddForeign
}
+ if referTblInfo.TTLInfo != nil {
+ return dbterror.ErrUnsupportedTTLReferencedByFK
+ }
+ if referTblInfo.GetPartitionInfo() != nil || tblInfo.GetPartitionInfo() != nil {
+ return infoschema.ErrForeignKeyOnPartitioned
+ }
// check refer columns in parent table.
for i := range fkInfo.RefCols {
@@ -293,7 +294,7 @@ func checkTableForeignKey(referTblInfo, tblInfo *model.TableInfo, fkInfo *model.
}
}
// check refer columns should have index.
- if model.FindIndexByColumns(referTblInfo, fkInfo.RefCols...) == nil {
+ if model.FindIndexByColumns(referTblInfo, referTblInfo.Indices, fkInfo.RefCols...) == nil {
return infoschema.ErrForeignKeyNoIndexInParent.GenWithStackByArgs(fkInfo.Name, fkInfo.RefTable)
}
return nil
@@ -662,7 +663,7 @@ func checkAddForeignKeyValidInOwner(d *ddlCtx, t *meta.Meta, schema string, tbIn
return nil
}
}
- if model.FindIndexByColumns(tbInfo, fk.Cols...) == nil {
+ if model.FindIndexByColumns(tbInfo, tbInfo.Indices, fk.Cols...) == nil {
return errors.Errorf("Failed to add the foreign key constraint. Missing index for '%s' foreign key columns in the table '%s'", fk.Name, tbInfo.Name)
}
return nil
@@ -676,7 +677,12 @@ func checkForeignKeyConstrain(w *worker, schema, table string, fkInfo *model.FKI
if err != nil {
return errors.Trace(err)
}
- defer w.sessPool.put(sctx)
+ originValue := sctx.GetSessionVars().OptimizerEnableNAAJ
+ sctx.GetSessionVars().OptimizerEnableNAAJ = true
+ defer func() {
+ sctx.GetSessionVars().OptimizerEnableNAAJ = originValue
+ w.sessPool.put(sctx)
+ }()
var buf strings.Builder
buf.WriteString("select 1 from %n.%n where ")
@@ -711,7 +717,7 @@ func checkForeignKeyConstrain(w *worker, schema, table string, fkInfo *model.FKI
}
buf.WriteString(" from %n.%n ) limit 1")
paramsList = append(paramsList, fkInfo.RefSchema.L, fkInfo.RefTable.L)
- rows, _, err := sctx.(sqlexec.RestrictedSQLExecutor).ExecRestrictedSQL(w.ctx, nil, buf.String(), paramsList...)
+ rows, _, err := sctx.(sqlexec.RestrictedSQLExecutor).ExecRestrictedSQL(w.ctx, []sqlexec.OptionFuncAlias{sqlexec.ExecOptionUseCurSession}, buf.String(), paramsList...)
if err != nil {
return errors.Trace(err)
}
diff --git a/ddl/foreign_key_test.go b/ddl/foreign_key_test.go
index a50fd80e03681..627c924b21871 100644
--- a/ddl/foreign_key_test.go
+++ b/ddl/foreign_key_test.go
@@ -15,9 +15,7 @@
package ddl_test
import (
- "bytes"
"context"
- "fmt"
"strings"
"sync"
"testing"
@@ -25,17 +23,12 @@ import (
"github.com/pingcap/errors"
"github.com/pingcap/tidb/ddl"
- "github.com/pingcap/tidb/domain"
- "github.com/pingcap/tidb/infoschema"
- "github.com/pingcap/tidb/meta"
- "github.com/pingcap/tidb/parser/auth"
"github.com/pingcap/tidb/parser/model"
- plannercore "github.com/pingcap/tidb/planner/core"
"github.com/pingcap/tidb/sessionctx"
"github.com/pingcap/tidb/sessiontxn"
"github.com/pingcap/tidb/table"
"github.com/pingcap/tidb/testkit"
- "github.com/pingcap/tidb/util/dbterror"
+ "github.com/pingcap/tidb/types"
"github.com/stretchr/testify/require"
)
@@ -115,7 +108,17 @@ func TestForeignKey(t *testing.T) {
testCreateSchema(t, testkit.NewTestKit(t, store).Session(), dom.DDL(), dbInfo)
tblInfo, err := testTableInfo(store, "t", 3)
require.NoError(t, err)
-
+ tblInfo.Indices = append(tblInfo.Indices, &model.IndexInfo{
+ ID: 1,
+ Name: model.NewCIStr("idx_fk"),
+ Table: model.NewCIStr("t"),
+ Columns: []*model.IndexColumn{{
+ Name: model.NewCIStr("c1"),
+ Offset: 0,
+ Length: types.UnspecifiedLength,
+ }},
+ State: model.StatePublic,
+ })
testCreateTable(t, testkit.NewTestKit(t, store).Session(), d, dbInfo, tblInfo)
// fix data race
@@ -204,853 +207,6 @@ func TestForeignKey(t *testing.T) {
require.NoError(t, err)
}
-func TestCreateTableWithForeignKeyMetaInfo(t *testing.T) {
- store, dom := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("use test")
- tk.MustExec("create table t1 (id int key, a int,b int as (a) virtual);")
- tk.MustExec("create database test2")
- tk.MustExec("use test2")
- tk.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references test.t1(id) ON UPDATE RESTRICT ON DELETE CASCADE)")
- tb1Info := getTableInfo(t, dom, "test", "t1")
- tb2Info := getTableInfo(t, dom, "test2", "t2")
- require.Equal(t, 1, len(dom.InfoSchema().GetTableReferredForeignKeys("test", "t1")))
- require.Equal(t, 0, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t2")))
- require.Equal(t, 0, len(tb1Info.ForeignKeys))
- tb1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 1, len(tb1ReferredFKs))
- require.Equal(t, model.ReferredFKInfo{
- Cols: []model.CIStr{model.NewCIStr("id")},
- ChildSchema: model.NewCIStr("test2"),
- ChildTable: model.NewCIStr("t2"),
- ChildFKName: model.NewCIStr("fk_b"),
- }, *tb1ReferredFKs[0])
- tb2ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test2", "t2")
- require.Equal(t, 0, len(tb2ReferredFKs))
- require.Equal(t, 1, len(tb2Info.ForeignKeys))
- require.Equal(t, model.FKInfo{
- ID: 1,
- Name: model.NewCIStr("fk_b"),
- RefSchema: model.NewCIStr("test"),
- RefTable: model.NewCIStr("t1"),
- RefCols: []model.CIStr{model.NewCIStr("id")},
- Cols: []model.CIStr{model.NewCIStr("b")},
- OnDelete: 2,
- OnUpdate: 1,
- State: model.StatePublic,
- Version: 1,
- }, *tb2Info.ForeignKeys[0])
- // Auto create index for foreign key usage.
- require.Equal(t, 1, len(tb2Info.Indices))
- require.Equal(t, "fk_b", tb2Info.Indices[0].Name.L)
- require.Equal(t, "`test2`.`t2`, CONSTRAINT `fk_b` FOREIGN KEY (`b`) REFERENCES `test`.`t1` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT", tb2Info.ForeignKeys[0].String("test2", "t2"))
-
- tk.MustExec("create table t3 (id int, b int, index idx_b(b), foreign key fk_b(b) references t2(id) ON UPDATE SET NULL ON DELETE NO ACTION)")
- tb2Info = getTableInfo(t, dom, "test2", "t2")
- tb3Info := getTableInfo(t, dom, "test2", "t3")
- require.Equal(t, 1, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t2")))
- require.Equal(t, 0, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t3")))
- require.Equal(t, 1, len(tb2Info.ForeignKeys))
- tb2ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test2", "t2")
- require.Equal(t, 1, len(tb2ReferredFKs))
- require.Equal(t, model.ReferredFKInfo{
- Cols: []model.CIStr{model.NewCIStr("id")},
- ChildSchema: model.NewCIStr("test2"),
- ChildTable: model.NewCIStr("t3"),
- ChildFKName: model.NewCIStr("fk_b"),
- }, *tb2ReferredFKs[0])
- tb3ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test2", "t3")
- require.Equal(t, 0, len(tb3ReferredFKs))
- require.Equal(t, 1, len(tb3Info.ForeignKeys))
- require.Equal(t, model.FKInfo{
- ID: 1,
- Name: model.NewCIStr("fk_b"),
- RefSchema: model.NewCIStr("test2"),
- RefTable: model.NewCIStr("t2"),
- RefCols: []model.CIStr{model.NewCIStr("id")},
- Cols: []model.CIStr{model.NewCIStr("b")},
- OnDelete: 4,
- OnUpdate: 3,
- State: model.StatePublic,
- Version: 1,
- }, *tb3Info.ForeignKeys[0])
- require.Equal(t, 1, len(tb3Info.Indices))
- require.Equal(t, "idx_b", tb3Info.Indices[0].Name.L)
- require.Equal(t, "`test2`.`t3`, CONSTRAINT `fk_b` FOREIGN KEY (`b`) REFERENCES `t2` (`id`) ON DELETE NO ACTION ON UPDATE SET NULL", tb3Info.ForeignKeys[0].String("test2", "t3"))
-
- tk.MustExec("create table t5 (id int key, a int, b int, foreign key (a) references t5(id));")
- tb5Info := getTableInfo(t, dom, "test2", "t5")
- require.Equal(t, 1, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t5")))
- require.Equal(t, 1, len(tb5Info.ForeignKeys))
- tb5ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test2", "t5")
- require.Equal(t, 1, len(tb5ReferredFKs))
- require.Equal(t, model.ReferredFKInfo{
- Cols: []model.CIStr{model.NewCIStr("id")},
- ChildSchema: model.NewCIStr("test2"),
- ChildTable: model.NewCIStr("t5"),
- ChildFKName: model.NewCIStr("fk_1"),
- }, *tb5ReferredFKs[0])
- require.Equal(t, model.FKInfo{
- ID: 1,
- Name: model.NewCIStr("fk_1"),
- RefSchema: model.NewCIStr("test2"),
- RefTable: model.NewCIStr("t5"),
- RefCols: []model.CIStr{model.NewCIStr("id")},
- Cols: []model.CIStr{model.NewCIStr("a")},
- State: model.StatePublic,
- Version: 1,
- }, *tb5Info.ForeignKeys[0])
- require.Equal(t, 1, len(tb5Info.Indices))
- require.Equal(t, "fk_1", tb5Info.Indices[0].Name.L)
- require.Equal(t, 1, len(dom.InfoSchema().GetTableReferredForeignKeys("test", "t1")))
- require.Equal(t, 1, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t2")))
- require.Equal(t, 0, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t3")))
- require.Equal(t, 1, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t5")))
-
- tk.MustExec("set @@global.tidb_enable_foreign_key=0")
- tk.MustExec("drop database test2")
- require.Equal(t, 0, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t2")))
- require.Equal(t, 0, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t3")))
- require.Equal(t, 0, len(dom.InfoSchema().GetTableReferredForeignKeys("test2", "t5")))
-}
-
-func TestCreateTableWithForeignKeyMetaInfo2(t *testing.T) {
- store, dom := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("create database test2")
- tk.MustExec("set @@foreign_key_checks=0")
- tk.MustExec("use test2")
- tk.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references test.t1(id) ON UPDATE RESTRICT ON DELETE CASCADE)")
- tk.MustExec("use test")
- tk.MustExec("create table t1 (id int key, a int, b int as (a) virtual);")
- tb1Info := getTableInfo(t, dom, "test", "t1")
- tb2Info := getTableInfo(t, dom, "test2", "t2")
- require.Equal(t, 0, len(tb1Info.ForeignKeys))
- tb1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 1, len(tb1ReferredFKs))
- require.Equal(t, model.ReferredFKInfo{
- Cols: []model.CIStr{model.NewCIStr("id")},
- ChildSchema: model.NewCIStr("test2"),
- ChildTable: model.NewCIStr("t2"),
- ChildFKName: model.NewCIStr("fk_b"),
- }, *tb1ReferredFKs[0])
- tb2ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test2", "t2")
- require.Equal(t, 0, len(tb2ReferredFKs))
- require.Equal(t, 1, len(tb2Info.ForeignKeys))
- require.Equal(t, model.FKInfo{
- ID: 1,
- Name: model.NewCIStr("fk_b"),
- RefSchema: model.NewCIStr("test"),
- RefTable: model.NewCIStr("t1"),
- RefCols: []model.CIStr{model.NewCIStr("id")},
- Cols: []model.CIStr{model.NewCIStr("b")},
- OnDelete: 2,
- OnUpdate: 1,
- State: model.StatePublic,
- Version: 1,
- }, *tb2Info.ForeignKeys[0])
- // Auto create index for foreign key usage.
- require.Equal(t, 1, len(tb2Info.Indices))
- require.Equal(t, "fk_b", tb2Info.Indices[0].Name.L)
- require.Equal(t, "`test2`.`t2`, CONSTRAINT `fk_b` FOREIGN KEY (`b`) REFERENCES `test`.`t1` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT", tb2Info.ForeignKeys[0].String("test2", "t2"))
-
- tk.MustExec("create table t3 (id int key, a int, foreign key fk_a(a) references test.t1(id) ON DELETE CASCADE ON UPDATE RESTRICT, foreign key fk_a2(a) references test2.t2(id))")
- tb1Info = getTableInfo(t, dom, "test", "t1")
- tb3Info := getTableInfo(t, dom, "test", "t3")
- require.Equal(t, 0, len(tb1Info.ForeignKeys))
- tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 2, len(tb1ReferredFKs))
- require.Equal(t, model.ReferredFKInfo{
- Cols: []model.CIStr{model.NewCIStr("id")},
- ChildSchema: model.NewCIStr("test"),
- ChildTable: model.NewCIStr("t3"),
- ChildFKName: model.NewCIStr("fk_a"),
- }, *tb1ReferredFKs[0])
- require.Equal(t, model.ReferredFKInfo{
- Cols: []model.CIStr{model.NewCIStr("id")},
- ChildSchema: model.NewCIStr("test2"),
- ChildTable: model.NewCIStr("t2"),
- ChildFKName: model.NewCIStr("fk_b"),
- }, *tb1ReferredFKs[1])
- tb3ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t3")
- require.Equal(t, 0, len(tb3ReferredFKs))
- require.Equal(t, 2, len(tb3Info.ForeignKeys))
- require.Equal(t, model.FKInfo{
- ID: 1,
- Name: model.NewCIStr("fk_a"),
- RefSchema: model.NewCIStr("test"),
- RefTable: model.NewCIStr("t1"),
- RefCols: []model.CIStr{model.NewCIStr("id")},
- Cols: []model.CIStr{model.NewCIStr("a")},
- OnDelete: 2,
- OnUpdate: 1,
- State: model.StatePublic,
- Version: 1,
- }, *tb3Info.ForeignKeys[0])
- require.Equal(t, model.FKInfo{
- ID: 2,
- Name: model.NewCIStr("fk_a2"),
- RefSchema: model.NewCIStr("test2"),
- RefTable: model.NewCIStr("t2"),
- RefCols: []model.CIStr{model.NewCIStr("id")},
- Cols: []model.CIStr{model.NewCIStr("a")},
- State: model.StatePublic,
- Version: 1,
- }, *tb3Info.ForeignKeys[1])
- // Auto create index for foreign key usage.
- require.Equal(t, 1, len(tb3Info.Indices))
- require.Equal(t, "fk_a", tb3Info.Indices[0].Name.L)
- require.Equal(t, "`test`.`t3`, CONSTRAINT `fk_a` FOREIGN KEY (`a`) REFERENCES `t1` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT", tb3Info.ForeignKeys[0].String("test", "t3"))
- require.Equal(t, "`test`.`t3`, CONSTRAINT `fk_a2` FOREIGN KEY (`a`) REFERENCES `test2`.`t2` (`id`)", tb3Info.ForeignKeys[1].String("test", "t3"))
-
- tk.MustExec("set @@foreign_key_checks=0")
- tk.MustExec("drop table test2.t2")
- tb1Info = getTableInfo(t, dom, "test", "t1")
- tb3Info = getTableInfo(t, dom, "test", "t3")
- require.Equal(t, 0, len(tb1Info.ForeignKeys))
- tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 1, len(tb1ReferredFKs))
- require.Equal(t, model.ReferredFKInfo{
- Cols: []model.CIStr{model.NewCIStr("id")},
- ChildSchema: model.NewCIStr("test"),
- ChildTable: model.NewCIStr("t3"),
- ChildFKName: model.NewCIStr("fk_a"),
- }, *tb1ReferredFKs[0])
- tb3ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t3")
- require.Equal(t, 0, len(tb3ReferredFKs))
- require.Equal(t, 2, len(tb3Info.ForeignKeys))
- require.Equal(t, model.FKInfo{
- ID: 1,
- Name: model.NewCIStr("fk_a"),
- RefSchema: model.NewCIStr("test"),
- RefTable: model.NewCIStr("t1"),
- RefCols: []model.CIStr{model.NewCIStr("id")},
- Cols: []model.CIStr{model.NewCIStr("a")},
- OnDelete: 2,
- OnUpdate: 1,
- State: model.StatePublic,
- Version: 1,
- }, *tb3Info.ForeignKeys[0])
- require.Equal(t, model.FKInfo{
- ID: 2,
- Name: model.NewCIStr("fk_a2"),
- RefSchema: model.NewCIStr("test2"),
- RefTable: model.NewCIStr("t2"),
- RefCols: []model.CIStr{model.NewCIStr("id")},
- Cols: []model.CIStr{model.NewCIStr("a")},
- State: model.StatePublic,
- Version: 1,
- }, *tb3Info.ForeignKeys[1])
-}
-
-func TestCreateTableWithForeignKeyMetaInfo3(t *testing.T) {
- store, dom := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("set @@foreign_key_checks=1")
- tk.MustExec("use test")
- tk.MustExec("create table t1 (id int key, a int, b int as (a) virtual);")
- tk.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references test.t1(id))")
- tk.MustExec("create table t3 (id int key, b int, foreign key fk_b(b) references test.t1(id))")
- tk.MustExec("create table t4 (id int key, b int, foreign key fk_b(b) references test.t1(id))")
- tb1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- tk.MustExec("drop table t3")
- tk.MustExec("create table t5 (id int key, b int, foreign key fk_b(b) references test.t1(id))")
- require.Equal(t, 3, len(tb1ReferredFKs))
- require.Equal(t, "t2", tb1ReferredFKs[0].ChildTable.L)
- require.Equal(t, "t3", tb1ReferredFKs[1].ChildTable.L)
- require.Equal(t, "t4", tb1ReferredFKs[2].ChildTable.L)
-}
-
-func TestCreateTableWithForeignKeyPrivilegeCheck(t *testing.T) {
- store, _ := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("use test")
-
- tk.MustExec("create user 'u1'@'%' identified by '';")
- tk.MustExec("grant create on *.* to 'u1'@'%';")
- tk.MustExec("create table t1 (id int key);")
-
- tk2 := testkit.NewTestKit(t, store)
- tk2.MustExec("use test")
- tk2.Session().Auth(&auth.UserIdentity{Username: "u1", Hostname: "localhost", CurrentUser: true, AuthUsername: "u1", AuthHostname: "%"}, nil, []byte("012345678901234567890"))
- err := tk2.ExecToErr("create table t2 (a int, foreign key fk(a) references t1(id));")
- require.Error(t, err)
- require.Equal(t, "[planner:1142]REFERENCES command denied to user 'u1'@'%' for table 't1'", err.Error())
-
- tk.MustExec("grant references on test.t1 to 'u1'@'%';")
- tk2.MustExec("create table t2 (a int, foreign key fk(a) references t1(id));")
- tk2.MustExec("create table t3 (id int key)")
- err = tk2.ExecToErr("create table t4 (a int, foreign key fk(a) references t1(id), foreign key (a) references t3(id));")
- require.Error(t, err)
- require.Equal(t, "[planner:1142]REFERENCES command denied to user 'u1'@'%' for table 't3'", err.Error())
-
- tk.MustExec("grant references on test.t3 to 'u1'@'%';")
- tk2.MustExec("create table t4 (a int, foreign key fk(a) references t1(id), foreign key (a) references t3(id));")
-}
-
-func TestRenameTableWithForeignKeyMetaInfo(t *testing.T) {
- store, dom := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("create database test2")
- tk.MustExec("create database test3")
- tk.MustExec("use test")
- tk.MustExec("create table t1 (id int key, a int, b int, foreign key fk(a) references t1(id))")
- tk.MustExec("rename table test.t1 to test2.t2")
- // check the schema diff
- diff := getLatestSchemaDiff(t, tk)
- require.Equal(t, model.ActionRenameTable, diff.Type)
- require.Equal(t, 0, len(diff.AffectedOpts))
- tk.MustQuery("show create table test2.t2").Check(testkit.Rows("t2 CREATE TABLE `t2` (\n" +
- " `id` int(11) NOT NULL,\n" +
- " `a` int(11) DEFAULT NULL,\n" +
- " `b` int(11) DEFAULT NULL,\n" +
- " PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n" +
- " KEY `fk` (`a`),\n" +
- " CONSTRAINT `fk` FOREIGN KEY (`a`) REFERENCES `test2`.`t2` (`id`)\n" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
- tblInfo := getTableInfo(t, dom, "test2", "t2")
- tbReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test2", "t2")
- require.Equal(t, 1, len(tblInfo.ForeignKeys))
- require.Equal(t, 1, len(tbReferredFKs))
- require.Equal(t, model.ReferredFKInfo{
- Cols: []model.CIStr{model.NewCIStr("id")},
- ChildSchema: model.NewCIStr("test2"),
- ChildTable: model.NewCIStr("t2"),
- ChildFKName: model.NewCIStr("fk"),
- }, *tbReferredFKs[0])
- require.Equal(t, model.FKInfo{
- ID: 1,
- Name: model.NewCIStr("fk"),
- RefSchema: model.NewCIStr("test2"),
- RefTable: model.NewCIStr("t2"),
- RefCols: []model.CIStr{model.NewCIStr("id")},
- Cols: []model.CIStr{model.NewCIStr("a")},
- State: model.StatePublic,
- Version: 1,
- }, *tblInfo.ForeignKeys[0])
-
- tk.MustExec("drop table test2.t2")
- tk.MustExec("use test")
- tk.MustExec("create table t1 (id int key, a int, b int as (a) virtual);")
- tk.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references test.t1(id))")
- tk.MustExec("use test2")
- tk.MustExec("rename table test.t2 to test2.tt2")
- // check the schema diff
- diff = getLatestSchemaDiff(t, tk)
- require.Equal(t, model.ActionRenameTable, diff.Type)
- require.Equal(t, 0, len(diff.AffectedOpts))
- tb1Info := getTableInfo(t, dom, "test", "t1")
- tb2Info := getTableInfo(t, dom, "test2", "tt2")
- require.Equal(t, 0, len(tb1Info.ForeignKeys))
- tb1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 1, len(tb1ReferredFKs))
- require.Equal(t, model.ReferredFKInfo{
- Cols: []model.CIStr{model.NewCIStr("id")},
- ChildSchema: model.NewCIStr("test2"),
- ChildTable: model.NewCIStr("tt2"),
- ChildFKName: model.NewCIStr("fk_b"),
- }, *tb1ReferredFKs[0])
- tb2ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test2", "tt2")
- require.Equal(t, 0, len(tb2ReferredFKs))
- require.Equal(t, 1, len(tb2Info.ForeignKeys))
- require.Equal(t, model.FKInfo{
- ID: 1,
- Name: model.NewCIStr("fk_b"),
- RefSchema: model.NewCIStr("test"),
- RefTable: model.NewCIStr("t1"),
- RefCols: []model.CIStr{model.NewCIStr("id")},
- Cols: []model.CIStr{model.NewCIStr("b")},
- State: model.StatePublic,
- Version: 1,
- }, *tb2Info.ForeignKeys[0])
- // Auto create index for foreign key usage.
- require.Equal(t, 1, len(tb2Info.Indices))
- require.Equal(t, "fk_b", tb2Info.Indices[0].Name.L)
- require.Equal(t, "`test2`.`tt2`, CONSTRAINT `fk_b` FOREIGN KEY (`b`) REFERENCES `test`.`t1` (`id`)", tb2Info.ForeignKeys[0].String("test2", "tt2"))
-
- tk.MustExec("rename table test.t1 to test3.tt1")
- tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test3", "tt1")
- require.Equal(t, 1, len(tb1ReferredFKs))
- require.Equal(t, 1, len(tb1ReferredFKs[0].Cols))
- // check the schema diff
- diff = getLatestSchemaDiff(t, tk)
- require.Equal(t, model.ActionRenameTable, diff.Type)
- require.Equal(t, 1, len(diff.AffectedOpts))
- require.Equal(t, model.ReferredFKInfo{
- Cols: []model.CIStr{model.NewCIStr("id")},
- ChildSchema: model.NewCIStr("test2"),
- ChildTable: model.NewCIStr("tt2"),
- ChildFKName: model.NewCIStr("fk_b"),
- }, *tb1ReferredFKs[0])
- tbl2Info := getTableInfo(t, dom, "test2", "tt2")
- tb2ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test2", "tt2")
- require.Equal(t, 0, len(tb2ReferredFKs))
- require.Equal(t, 1, len(tbl2Info.ForeignKeys))
- require.Equal(t, model.FKInfo{
- ID: 1,
- Name: model.NewCIStr("fk_b"),
- RefSchema: model.NewCIStr("test3"),
- RefTable: model.NewCIStr("tt1"),
- RefCols: []model.CIStr{model.NewCIStr("id")},
- Cols: []model.CIStr{model.NewCIStr("b")},
- State: model.StatePublic,
- Version: 1,
- }, *tbl2Info.ForeignKeys[0])
- tk.MustQuery("show create table test2.tt2").Check(testkit.Rows("tt2 CREATE TABLE `tt2` (\n" +
- " `id` int(11) NOT NULL,\n" +
- " `b` int(11) DEFAULT NULL,\n" +
- " PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n" +
- " KEY `fk_b` (`b`),\n" +
- " CONSTRAINT `fk_b` FOREIGN KEY (`b`) REFERENCES `test3`.`tt1` (`id`)\n" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
-}
-
-func TestCreateTableWithForeignKeyDML(t *testing.T) {
- store, _ := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("use test")
- tk.MustExec("create table t1 (id int key, a int);")
- tk.MustExec("begin")
- tk.MustExec("insert into t1 values (1, 1)")
- tk.MustExec("update t1 set a = 2 where id = 1")
-
- tk2 := testkit.NewTestKit(t, store)
- tk2.MustExec("use test")
- tk2.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references test.t1(id))")
-
- tk.MustExec("commit")
-}
-
-func TestCreateTableWithForeignKeyError(t *testing.T) {
- store, _ := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("use test")
-
- cases := []struct {
- prepare []string
- refer string
- create string
- err string
- }{
- {
- refer: "create table t1 (id int, a int, b int);",
- create: "create table t2 (a int, b int, foreign key fk_b(b) references T_unknown(b));",
- err: "[schema:1824]Failed to open the referenced table 'T_unknown'",
- },
- {
- refer: "create table t1 (id int, a int, b int);",
- create: "create table t2 (a int, b int, foreign key fk_b(b) references t1(c_unknown));",
- err: "[schema:3734]Failed to add the foreign key constraint. Missing column 'c_unknown' for constraint 'fk_b' in the referenced table 't1'",
- },
- {
- refer: "create table t1 (id int key, a int, b int);",
- create: "create table t2 (a int, b int, foreign key fk(c_unknown) references t1(id));",
- err: "[ddl:1072]Key column 'c_unknown' doesn't exist in table",
- },
- {
- refer: "create table t1 (id int, a int, b int);",
- create: "create table t2 (a int, b int, foreign key fk_b(b) references t1(b));",
- err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_b' in the referenced table 't1'",
- },
- {
- refer: "create table t1 (id int, a int, b int not null, index(b));",
- create: "create table t2 (a int, b int not null, foreign key fk_b(b) references t1(b) on update set null);",
- err: "[schema:1830]Column 'b' cannot be NOT NULL: needed in a foreign key constraint 'fk_b' SET NULL",
- },
- {
- refer: "create table t1 (id int, a int, b int not null, index(b));",
- create: "create table t2 (a int, b int not null, foreign key fk_b(b) references t1(b) on delete set null);",
- err: "[schema:1830]Column 'b' cannot be NOT NULL: needed in a foreign key constraint 'fk_b' SET NULL",
- },
- {
- refer: "create table t1 (id int key, a int, b int as (a) virtual, index(b));",
- create: "create table t2 (a int, b int, foreign key fk_b(b) references t1(b));",
- err: "[schema:3733]Foreign key 'fk_b' uses virtual column 'b' which is not supported.",
- },
- {
- refer: "create table t1 (id int key, a int, b int, index(b));",
- create: "create table t2 (a int, b int as (a) virtual, foreign key fk_b(b) references t1(b));",
- err: "[schema:3733]Foreign key 'fk_b' uses virtual column 'b' which is not supported.",
- },
- {
- refer: "create table t1 (id int key, a int);",
- create: "create table t2 (a int, b varchar(10), foreign key fk(b) references t1(id));",
- err: "[ddl:3780]Referencing column 'b' and referenced column 'id' in foreign key constraint 'fk' are incompatible.",
- },
- {
- refer: "create table t1 (id int key, a int not null, index(a));",
- create: "create table t2 (a int, b int unsigned, foreign key fk_b(b) references t1(a));",
- err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
- },
- {
- refer: "create table t1 (id int key, a bigint, index(a));",
- create: "create table t2 (a int, b int, foreign key fk_b(b) references t1(a));",
- err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
- },
- {
- refer: "create table t1 (id int key, a varchar(10) charset utf8, index(a));",
- create: "create table t2 (a int, b varchar(10) charset utf8mb4, foreign key fk_b(b) references t1(a));",
- err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
- },
- {
- refer: "create table t1 (id int key, a varchar(10) collate utf8_bin, index(a));",
- create: "create table t2 (a int, b varchar(10) collate utf8mb4_bin, foreign key fk_b(b) references t1(a));",
- err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
- },
- {
- refer: "create table t1 (id int key, a varchar(10));",
- create: "create table t2 (a int, b varchar(10), foreign key fk_b(b) references t1(a));",
- err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_b' in the referenced table 't1'",
- },
- {
- refer: "create table t1 (id int key, a varchar(10), index (a(5)));",
- create: "create table t2 (a int, b varchar(10), foreign key fk_b(b) references t1(a));",
- err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_b' in the referenced table 't1'",
- },
- {
- refer: "create table t1 (id int key, a int, index(a));",
- create: "create table t2 (a int, b int, foreign key fk_b(b) references t1(id, a));",
- err: "[schema:1239]Incorrect foreign key definition for 'fk_b': Key reference and table reference don't match",
- },
- {
- create: "create table t2 (a int key, foreign key (a) references t2(a));",
- err: "[schema:1215]Cannot add foreign key constraint",
- },
- {
- create: "create table t2 (a int, b int, index(a,b), index(b,a), foreign key (a,b) references t2(a,b));",
- err: "[schema:1215]Cannot add foreign key constraint",
- },
- {
- create: "create table t2 (a int, b int, index(a,b), foreign key (a,b) references t2(b,a));",
- err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_1' in the referenced table 't2'",
- },
- {
- prepare: []string{
- "set @@foreign_key_checks=0;",
- "create table t2 (a int, b int, index(a), foreign key (a) references t1(id));",
- },
- create: "create table t1 (id int, a int);",
- err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_1' in the referenced table 't1'",
- },
- {
- prepare: []string{
- "set @@foreign_key_checks=0;",
- "create table t2 (a int, b int, index(a), foreign key (a) references t1(id));",
- },
- create: "create table t1 (id bigint key, a int);",
- err: "[ddl:3780]Referencing column 'a' and referenced column 'id' in foreign key constraint 'fk_1' are incompatible.",
- },
- {
- // foreign key is not support in temporary table.
- refer: "create temporary table t1 (id int key, b int, index(b))",
- create: "create table t2 (a int, b int, foreign key fk(b) references t1(b))",
- err: "[schema:1824]Failed to open the referenced table 't1'",
- },
- {
- // foreign key is not support in temporary table.
- refer: "create global temporary table t1 (id int key, b int, index(b)) on commit delete rows",
- create: "create table t2 (a int, b int, foreign key fk(b) references t1(b))",
- err: "[schema:1215]Cannot add foreign key constraint",
- },
- {
- // foreign key is not support in temporary table.
- refer: "create table t1 (id int key, b int, index(b))",
- create: "create temporary table t2 (a int, b int, foreign key fk(b) references t1(b))",
- err: "[schema:1215]Cannot add foreign key constraint",
- },
- {
- // foreign key is not support in temporary table.
- refer: "create table t1 (id int key, b int, index(b))",
- create: "create global temporary table t2 (a int, b int, foreign key fk(b) references t1(b)) on commit delete rows",
- err: "[schema:1215]Cannot add foreign key constraint",
- },
- {
- create: "create table t1 (a int, foreign key ``(a) references t1(a));",
- err: "[ddl:1280]Incorrect index name ''",
- },
- {
- create: "create table t1 (a int, constraint `` foreign key (a) references t1(a));",
- err: "[ddl:1280]Incorrect index name ''",
- },
- {
- create: "create table t1 (a int, constraint `fk` foreign key (a,a) references t1(a, b));",
- err: "[schema:1060]Duplicate column name 'a'",
- },
- {
- refer: "create table t1(a int, b int, index(a,b));",
- create: "create table t2 (a int, b int, foreign key (a,b) references t1(a,a));",
- err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_1' in the referenced table 't1'",
- },
- {
- refer: "create table t1 (id int key, b int, index(b))",
- create: "create table t2 (a int, b int, index fk_1(a), foreign key (b) references t1(b));",
- err: "[ddl:1061]duplicate key name fk_1",
- },
- {
- refer: "create table t1 (id int key);",
- create: "create table t2 (id int key, foreign key name5678901234567890123456789012345678901234567890123456789012345(id) references t1(id));",
- err: "[ddl:1059]Identifier name 'name5678901234567890123456789012345678901234567890123456789012345' is too long",
- },
- {
- refer: "create table t1 (id int key);",
- create: "create table t2 (id int key, constraint name5678901234567890123456789012345678901234567890123456789012345 foreign key (id) references t1(id));",
- err: "[ddl:1059]Identifier name 'name5678901234567890123456789012345678901234567890123456789012345' is too long",
- },
- {
- create: "create table t2 (id int key, constraint fk foreign key (id) references name5678901234567890123456789012345678901234567890123456789012345.t1(id));",
- err: "[ddl:1059]Identifier name 'name5678901234567890123456789012345678901234567890123456789012345' is too long",
- },
- {
- prepare: []string{
- "set @@foreign_key_checks=0;",
- },
- create: "create table t2 (id int key, constraint fk foreign key (id) references name5678901234567890123456789012345678901234567890123456789012345(id));",
- err: "[ddl:1059]Identifier name 'name5678901234567890123456789012345678901234567890123456789012345' is too long",
- },
- {
- prepare: []string{
- "set @@foreign_key_checks=0;",
- },
- create: "create table t2 (id int key, constraint fk foreign key (id) references t1(name5678901234567890123456789012345678901234567890123456789012345));",
- err: "[ddl:1059]Identifier name 'name5678901234567890123456789012345678901234567890123456789012345' is too long",
- },
- }
- for _, ca := range cases {
- tk.MustExec("drop table if exists t2")
- tk.MustExec("drop table if exists t1")
- tk.MustExec("set @@foreign_key_checks=1")
- for _, sql := range ca.prepare {
- tk.MustExec(sql)
- }
- if ca.refer != "" {
- tk.MustExec(ca.refer)
- }
- err := tk.ExecToErr(ca.create)
- require.Error(t, err, ca.create)
- require.Equal(t, ca.err, err.Error(), ca.create)
- }
-
- passCases := [][]string{
- {
- "create table t1 (id int key, a int, b int, foreign key fk(a) references t1(id))",
- },
- {
- "create table t1 (id int key, b int not null, index(b))",
- "create table t2 (a int, b int, foreign key fk_b(b) references t1(b));",
- },
- {
- "create table t1 (id int key, a varchar(10), index(a));",
- "create table t2 (a int, b varchar(20), foreign key fk_b(b) references t1(a));",
- },
- {
- "create table t1 (id int key, a decimal(10,5), index(a));",
- "create table t2 (a int, b decimal(20, 10), foreign key fk_b(b) references t1(a));",
- },
- {
- "create table t1 (id int key, a varchar(10), index (a(10)));",
- "create table t2 (a int, b varchar(20), foreign key fk_b(b) references t1(a));",
- },
- {
- "set @@foreign_key_checks=0;",
- "create table t2 (a int, b int, foreign key fk_b(b) references t_unknown(b));",
- "set @@foreign_key_checks=1;",
- },
- {
- "create table t2 (a int, b int, index(a,b), index(b,a), foreign key (a,b) references t2(b,a));",
- },
- {
- "create table t1 (a int key, b int, index(b))",
- "create table t2 (a int, b int, foreign key (a) references t1(a), foreign key (b) references t1(b));",
- },
- {
- "create table t1 (id int key);",
- "create table t2 (id int key, foreign key name567890123456789012345678901234567890123456789012345678901234(id) references t1(id));",
- },
- }
- for _, ca := range passCases {
- tk.MustExec("drop table if exists t2")
- tk.MustExec("drop table if exists t1")
- for _, sql := range ca {
- tk.MustExec(sql)
- }
- }
-}
-
-func TestModifyColumnWithForeignKey(t *testing.T) {
- store, _ := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("set @@foreign_key_checks=1;")
- tk.MustExec("use test")
-
- tk.MustExec("create table t1 (id int key, b varchar(10), index(b));")
- tk.MustExec("create table t2 (a varchar(10), constraint fk foreign key (a) references t1(b));")
- tk.MustExec("insert into t1 values (1, '123456789');")
- tk.MustExec("insert into t2 values ('123456789');")
- tk.MustGetErrMsg("alter table t1 modify column b varchar(5);", "[ddl:1833]Cannot change column 'b': used in a foreign key constraint 'fk' of table 'test.t2'")
- tk.MustGetErrMsg("alter table t1 modify column b bigint;", "[ddl:3780]Referencing column 'a' and referenced column 'b' in foreign key constraint 'fk' are incompatible.")
- tk.MustExec("alter table t1 modify column b varchar(20);")
- tk.MustGetErrMsg("alter table t1 modify column b varchar(10);", "[ddl:1833]Cannot change column 'b': used in a foreign key constraint 'fk' of table 'test.t2'")
- tk.MustExec("alter table t2 modify column a varchar(20);")
- tk.MustExec("alter table t2 modify column a varchar(21);")
- tk.MustGetErrMsg("alter table t2 modify column a varchar(5);", "[ddl:1832]Cannot change column 'a': used in a foreign key constraint 'fk'")
- tk.MustGetErrMsg("alter table t2 modify column a bigint;", "[ddl:3780]Referencing column 'a' and referenced column 'b' in foreign key constraint 'fk' are incompatible.")
-
- tk.MustExec("drop table t2")
- tk.MustExec("drop table t1")
- tk.MustExec("create table t1 (id int key, b decimal(10, 5), index(b));")
- tk.MustExec("create table t2 (a decimal(10, 5), constraint fk foreign key (a) references t1(b));")
- tk.MustExec("insert into t1 values (1, 12345.67891);")
- tk.MustExec("insert into t2 values (12345.67891);")
- tk.MustGetErrMsg("alter table t1 modify column b decimal(10, 6);", "[ddl:1833]Cannot change column 'b': used in a foreign key constraint 'fk' of table 'test.t2'")
- tk.MustGetErrMsg("alter table t1 modify column b decimal(10, 3);", "[ddl:1833]Cannot change column 'b': used in a foreign key constraint 'fk' of table 'test.t2'")
- tk.MustGetErrMsg("alter table t1 modify column b decimal(5, 2);", "[ddl:1833]Cannot change column 'b': used in a foreign key constraint 'fk' of table 'test.t2'")
- tk.MustGetErrMsg("alter table t1 modify column b decimal(20, 10);", "[ddl:1833]Cannot change column 'b': used in a foreign key constraint 'fk' of table 'test.t2'")
- tk.MustGetErrMsg("alter table t2 modify column a decimal(30, 15);", "[ddl:1832]Cannot change column 'a': used in a foreign key constraint 'fk'")
- tk.MustGetErrMsg("alter table t2 modify column a decimal(5, 2);", "[ddl:1832]Cannot change column 'a': used in a foreign key constraint 'fk'")
-}
-
-func TestDropChildTableForeignKeyMetaInfo(t *testing.T) {
- store, dom := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("use test")
- tk.MustExec("create table t1 (id int key, a int, b int, CONSTRAINT fk foreign key (a) references t1(id))")
- tb1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 1, len(tb1ReferredFKs))
- tk.MustExec("drop table t1")
- tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 0, len(tb1ReferredFKs))
-
- tk.MustExec("create table t1 (id int key, b int, index(b))")
- tk.MustExec("create table t2 (a int, b int, foreign key fk (a) references t1(b));")
- tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 1, len(tb1ReferredFKs))
- tk.MustExec("drop table t2")
- tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 0, len(tb1ReferredFKs))
-}
-
-func TestDropForeignKeyMetaInfo(t *testing.T) {
- store, dom := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("use test")
- tk.MustExec("create table t1 (id int key, a int, b int, CONSTRAINT fk foreign key (a) references t1(id))")
- tb1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 1, len(tb1ReferredFKs))
- tk.MustExec("alter table t1 drop foreign key fk")
- tbl1Info := getTableInfo(t, dom, "test", "t1")
- tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 0, len(tbl1Info.ForeignKeys))
- require.Equal(t, 0, len(tb1ReferredFKs))
-
- tk.MustExec("drop table t1")
- tk.MustExec("create table t1 (id int key, b int, index(b))")
- tk.MustExec("create table t2 (a int, b int, foreign key fk (a) references t1(b));")
- tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 1, len(tb1ReferredFKs))
- tk.MustExec("alter table t2 drop foreign key fk")
- tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 0, len(tb1ReferredFKs))
- tbl2Info := getTableInfo(t, dom, "test", "t2")
- require.Equal(t, 0, len(tbl2Info.ForeignKeys))
-}
-
-func TestTruncateOrDropTableWithForeignKeyReferred(t *testing.T) {
- store, _ := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("use test")
-
- cases := []struct {
- prepares []string
- tbl string
- truncateErr string
- dropErr string
- }{
- {
- prepares: []string{
- "create table t1 (id int key, b int not null, index(b))",
- "create table t2 (a int, b int, foreign key fk_b(b) references t1(b));",
- },
- tbl: "t1",
- truncateErr: "[ddl:1701]Cannot truncate a table referenced in a foreign key constraint (`test`.`t2` CONSTRAINT `fk_b`)",
- dropErr: "[ddl:3730]Cannot drop table 't1' referenced by a foreign key constraint 'fk_b' on table 't2'.",
- },
- {
- prepares: []string{
- "create table t1 (id int key, a varchar(10), index(a));",
- "create table t2 (a int, b varchar(20), foreign key fk_b(b) references t1(a));",
- },
- tbl: "t1",
- truncateErr: "[ddl:1701]Cannot truncate a table referenced in a foreign key constraint (`test`.`t2` CONSTRAINT `fk_b`)",
- dropErr: "[ddl:3730]Cannot drop table 't1' referenced by a foreign key constraint 'fk_b' on table 't2'.",
- },
- {
- prepares: []string{
- "create table t1 (id int key, a varchar(10), index (a(10)));",
- "create table t2 (a int, b varchar(20), foreign key fk_b(b) references t1(a));",
- },
- tbl: "t1",
- truncateErr: "[ddl:1701]Cannot truncate a table referenced in a foreign key constraint (`test`.`t2` CONSTRAINT `fk_b`)",
- dropErr: "[ddl:3730]Cannot drop table 't1' referenced by a foreign key constraint 'fk_b' on table 't2'.",
- },
- }
-
- for _, ca := range cases {
- tk.MustExec("drop table if exists t2")
- tk.MustExec("drop table if exists t1")
- for _, sql := range ca.prepares {
- tk.MustExec(sql)
- }
- truncateSQL := fmt.Sprintf("truncate table %v", ca.tbl)
- tk.MustExec("set @@foreign_key_checks=1;")
- err := tk.ExecToErr(truncateSQL)
- require.Error(t, err)
- require.Equal(t, ca.truncateErr, err.Error())
- dropSQL := fmt.Sprintf("drop table %v", ca.tbl)
- err = tk.ExecToErr(dropSQL)
- require.Error(t, err)
- require.Equal(t, ca.dropErr, err.Error())
-
- tk.MustExec("set @@foreign_key_checks=0;")
- tk.MustExec(truncateSQL)
- }
- passCases := [][]string{
- {
- "create table t1 (id int key, a int, b int, foreign key fk(a) references t1(id))",
- "truncate table t1",
- "drop table t1",
- },
- {
- "create table t1 (id int key, a varchar(10), index (a(10)));",
- "create table t2 (a int, b varchar(20), foreign key fk_b(b) references t1(a));",
- "drop table t1, t2",
- },
- {
- "set @@foreign_key_checks=0;",
- "create table t1 (id int key, a varchar(10), index (a(10)));",
- "create table t2 (a int, b varchar(20), foreign key fk_b(b) references t1(a));",
- "truncate table t1",
- "drop table t1",
- },
- }
- for _, ca := range passCases {
- tk.MustExec("drop table if exists t1, t2")
- tk.MustExec("set @@foreign_key_checks=1;")
- for _, sql := range ca {
- tk.MustExec(sql)
- }
- }
-}
-
func TestTruncateOrDropTableWithForeignKeyReferred2(t *testing.T) {
store, dom := testkit.CreateMockStoreAndDomainWithSchemaLease(t, testLease)
d := dom.DDL()
@@ -1108,106 +264,6 @@ func TestTruncateOrDropTableWithForeignKeyReferred2(t *testing.T) {
require.Equal(t, "[ddl:1701]Cannot truncate a table referenced in a foreign key constraint (`test`.`t2` CONSTRAINT `fk`)", dropErr.Error())
}
-func TestDropTableWithForeignKeyReferred(t *testing.T) {
- store, _ := testkit.CreateMockStoreAndDomainWithSchemaLease(t, testLease)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("set @@foreign_key_checks=1;")
- tk.MustExec("use test")
-
- tk.MustExec("create table t1 (id int key, b int, index(b));")
- tk.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references t1(id));")
- tk.MustExec("create table t3 (id int key, b int, foreign key fk_b(b) references t2(id));")
- err := tk.ExecToErr("drop table if exists t1,t2;")
- require.Error(t, err)
- require.Equal(t, "[ddl:3730]Cannot drop table 't2' referenced by a foreign key constraint 'fk_b' on table 't3'.", err.Error())
- tk.MustQuery("show tables").Check(testkit.Rows("t1", "t2", "t3"))
-}
-
-func TestDropIndexNeededInForeignKey(t *testing.T) {
- store, _ := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("set @@foreign_key_checks=1")
- tk.MustExec("use test")
-
- cases := []struct {
- prepares []string
- drops []string
- err string
- }{
- {
- prepares: []string{
- "create table t1 (id int key, b int, index idx (b))",
- "create table t2 (a int, b int, index idx (b), foreign key fk_b(b) references t1(b));",
- },
- drops: []string{
- "alter table t1 drop index idx",
- "alter table t2 drop index idx",
- },
- err: "[ddl:1553]Cannot drop index 'idx': needed in a foreign key constraint",
- },
- {
- prepares: []string{
- "create table t1 (id int, b int, index idx (id, b))",
- "create table t2 (a int, b int, index idx (b, a), foreign key fk_b(b) references t1(id));",
- },
- drops: []string{
- "alter table t1 drop index idx",
- "alter table t2 drop index idx",
- },
- err: "[ddl:1553]Cannot drop index 'idx': needed in a foreign key constraint",
- },
- }
-
- for _, ca := range cases {
- tk.MustExec("drop table if exists t2")
- tk.MustExec("drop table if exists t1")
- for _, sql := range ca.prepares {
- tk.MustExec(sql)
- }
- for _, drop := range ca.drops {
- // even disable foreign key check, still can't drop the index used by foreign key.
- tk.MustExec("set @@foreign_key_checks=0;")
- err := tk.ExecToErr(drop)
- require.Error(t, err)
- require.Equal(t, ca.err, err.Error())
- tk.MustExec("set @@foreign_key_checks=1;")
- err = tk.ExecToErr(drop)
- require.Error(t, err)
- require.Equal(t, ca.err, err.Error())
- }
- }
- passCases := [][]string{
- {
- "create table t1 (id int key, b int, index idxb (b))",
- "create table t2 (a int, b int key, index idxa (a),index idxb (b), foreign key fk_b(b) references t1(id));",
- "alter table t1 drop index idxb",
- "alter table t2 drop index idxa",
- "alter table t2 drop index idxb",
- },
- {
- "create table t1 (id int key, b int, index idxb (b), unique index idx(b, id))",
- "create table t2 (a int, b int key, index idx (b, a),index idxb (b), index idxab(a, b), foreign key fk_b(b) references t1(b));",
- "alter table t1 drop index idxb",
- "alter table t1 add index idxb (b)",
- "alter table t1 drop index idx",
- "alter table t2 drop index idx",
- "alter table t2 add index idx (b, a)",
- "alter table t2 drop index idxb",
- "alter table t2 drop index idxab",
- },
- }
- tk.MustExec("set @@foreign_key_checks=1;")
- for _, ca := range passCases {
- tk.MustExec("drop table if exists t2")
- tk.MustExec("drop table if exists t1")
- for _, sql := range ca {
- tk.MustExec(sql)
- }
- }
-}
-
func TestDropIndexNeededInForeignKey2(t *testing.T) {
store, dom := testkit.CreateMockStoreAndDomainWithSchemaLease(t, testLease)
d := dom.DDL()
@@ -1247,157 +303,6 @@ func TestDropIndexNeededInForeignKey2(t *testing.T) {
require.Equal(t, "[ddl:1553]Cannot drop index 'idx2': needed in a foreign key constraint", dropErr.Error())
}
-func getTableInfo(t *testing.T, dom *domain.Domain, db, tb string) *model.TableInfo {
- err := dom.Reload()
- require.NoError(t, err)
- is := dom.InfoSchema()
- tbl, err := is.TableByName(model.NewCIStr(db), model.NewCIStr(tb))
- require.NoError(t, err)
- _, exist := is.TableByID(tbl.Meta().ID)
- require.True(t, exist)
- return tbl.Meta()
-}
-
-func getTableInfoReferredForeignKeys(t *testing.T, dom *domain.Domain, db, tb string) []*model.ReferredFKInfo {
- err := dom.Reload()
- require.NoError(t, err)
- return dom.InfoSchema().GetTableReferredForeignKeys(db, tb)
-}
-
-func TestDropColumnWithForeignKey(t *testing.T) {
- store, _ := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("set @@foreign_key_checks=1;")
- tk.MustExec("use test")
-
- tk.MustExec("create table t1 (id int key, a int, b int, index(b), CONSTRAINT fk foreign key (a) references t1(b))")
- tk.MustGetErrMsg("alter table t1 drop column a;", "[ddl:1828]Cannot drop column 'a': needed in a foreign key constraint 'fk'")
- tk.MustGetErrMsg("alter table t1 drop column b;", "[ddl:1829]Cannot drop column 'b': needed in a foreign key constraint 'fk' of table 't1'")
-
- tk.MustExec("drop table t1")
- tk.MustExec("create table t1 (id int key, b int, index(b));")
- tk.MustExec("create table t2 (a int, b int, constraint fk foreign key (a) references t1(b));")
- tk.MustGetErrMsg("alter table t1 drop column b;", "[ddl:1829]Cannot drop column 'b': needed in a foreign key constraint 'fk' of table 't2'")
- tk.MustGetErrMsg("alter table t2 drop column a;", "[ddl:1828]Cannot drop column 'a': needed in a foreign key constraint 'fk'")
-}
-
-func TestRenameColumnWithForeignKeyMetaInfo(t *testing.T) {
- store, dom := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("set @@foreign_key_checks=1;")
- tk.MustExec("use test")
-
- tk.MustExec("create table t1 (id int key, a int, b int, foreign key fk(a) references t1(id))")
- tk.MustExec("alter table t1 change id kid int")
- tk.MustExec("alter table t1 rename column a to aa")
- tbl1Info := getTableInfo(t, dom, "test", "t1")
- tb1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 1, len(tbl1Info.ForeignKeys))
- require.Equal(t, 1, len(tb1ReferredFKs))
- require.Equal(t, "kid", tb1ReferredFKs[0].Cols[0].L)
- require.Equal(t, "kid", tbl1Info.ForeignKeys[0].RefCols[0].L)
- require.Equal(t, "aa", tbl1Info.ForeignKeys[0].Cols[0].L)
-
- tk.MustExec("drop table t1")
- tk.MustExec("create table t1 (id int key, b int, index(b))")
- tk.MustExec("create table t2 (a int, b int, foreign key fk(a) references t1(b));")
- tk.MustExec("alter table t2 change a aa int")
- tbl1Info = getTableInfo(t, dom, "test", "t1")
- tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 1, len(tb1ReferredFKs))
- require.Equal(t, 1, len(tb1ReferredFKs[0].Cols))
- require.Equal(t, "b", tb1ReferredFKs[0].Cols[0].L)
- tbl2Info := getTableInfo(t, dom, "test", "t2")
- tb2ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t2")
- require.Equal(t, 0, len(tb2ReferredFKs))
- require.Equal(t, 1, len(tbl2Info.ForeignKeys))
- require.Equal(t, 1, len(tbl2Info.ForeignKeys[0].Cols))
- require.Equal(t, 1, len(tbl2Info.ForeignKeys[0].RefCols))
- require.Equal(t, "aa", tbl2Info.ForeignKeys[0].Cols[0].L)
- require.Equal(t, "b", tbl2Info.ForeignKeys[0].RefCols[0].L)
-
- tk.MustExec("alter table t1 change id kid int")
- tk.MustExec("alter table t1 change b bb int")
- tbl1Info = getTableInfo(t, dom, "test", "t1")
- tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 1, len(tb1ReferredFKs))
- require.Equal(t, 1, len(tb1ReferredFKs[0].Cols))
- require.Equal(t, "bb", tb1ReferredFKs[0].Cols[0].L)
- tbl2Info = getTableInfo(t, dom, "test", "t2")
- tb2ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t2")
- require.Equal(t, 0, len(tb2ReferredFKs))
- require.Equal(t, 1, len(tbl2Info.ForeignKeys))
- require.Equal(t, 1, len(tbl2Info.ForeignKeys[0].Cols))
- require.Equal(t, 1, len(tbl2Info.ForeignKeys[0].RefCols))
- require.Equal(t, "aa", tbl2Info.ForeignKeys[0].Cols[0].L)
- require.Equal(t, "bb", tbl2Info.ForeignKeys[0].RefCols[0].L)
-
- tk.MustExec("drop table t1, t2")
- tk.MustExec("create table t1 (id int key, b int, index(b))")
- tk.MustExec("create table t2 (a int, b int, foreign key (a) references t1(b), foreign key (b) references t1(b));")
- tk.MustExec("alter table t1 change b bb int")
- tbl1Info = getTableInfo(t, dom, "test", "t1")
- tb1ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- require.Equal(t, 2, len(tb1ReferredFKs))
- require.Equal(t, 1, len(tb1ReferredFKs[0].Cols))
- require.Equal(t, 1, len(tb1ReferredFKs[1].Cols))
- require.Equal(t, "bb", tb1ReferredFKs[0].Cols[0].L)
- require.Equal(t, "bb", tb1ReferredFKs[1].Cols[0].L)
- tbl2Info = getTableInfo(t, dom, "test", "t2")
- tb2ReferredFKs = getTableInfoReferredForeignKeys(t, dom, "test", "t2")
- require.Equal(t, 0, len(tb2ReferredFKs))
- require.Equal(t, 2, len(tbl2Info.ForeignKeys))
- require.Equal(t, 1, len(tbl2Info.ForeignKeys[0].Cols))
- require.Equal(t, 1, len(tbl2Info.ForeignKeys[0].RefCols))
- require.Equal(t, "a", tbl2Info.ForeignKeys[0].Cols[0].L)
- require.Equal(t, "bb", tbl2Info.ForeignKeys[0].RefCols[0].L)
- require.Equal(t, 1, len(tbl2Info.ForeignKeys[1].Cols))
- require.Equal(t, 1, len(tbl2Info.ForeignKeys[1].RefCols))
- require.Equal(t, "b", tbl2Info.ForeignKeys[1].Cols[0].L)
- require.Equal(t, "bb", tbl2Info.ForeignKeys[1].RefCols[0].L)
- tk.MustExec("alter table t2 rename column a to aa")
- tk.MustExec("alter table t2 change b bb int")
- tk.MustQuery("show create table t2").
- Check(testkit.Rows("t2 CREATE TABLE `t2` (\n" +
- " `aa` int(11) DEFAULT NULL,\n" +
- " `bb` int(11) DEFAULT NULL,\n" +
- " KEY `fk_1` (`aa`),\n KEY `fk_2` (`bb`),\n" +
- " CONSTRAINT `fk_1` FOREIGN KEY (`aa`) REFERENCES `test`.`t1` (`bb`),\n" +
- " CONSTRAINT `fk_2` FOREIGN KEY (`bb`) REFERENCES `test`.`t1` (`bb`)\n" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
-}
-
-func TestDropDatabaseWithForeignKeyReferred(t *testing.T) {
- store, _ := testkit.CreateMockStoreAndDomainWithSchemaLease(t, testLease)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("set @@foreign_key_checks=1;")
- tk.MustExec("use test")
-
- tk.MustExec("create table t1 (id int key, b int, index(b));")
- tk.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references t1(id));")
- tk.MustExec("create database test2")
- tk.MustExec("create table test2.t3 (id int key, b int, foreign key fk_b(b) references test.t2(id));")
- err := tk.ExecToErr("drop database test;")
- require.Error(t, err)
- require.Equal(t, "[ddl:3730]Cannot drop table 't2' referenced by a foreign key constraint 'fk_b' on table 't3'.", err.Error())
- tk.MustExec("set @@foreign_key_checks=0;")
- tk.MustExec("drop database test")
-
- tk.MustExec("set @@foreign_key_checks=1;")
- tk.MustExec("create database test")
- tk.MustExec("use test")
- tk.MustExec("create table t1 (id int key, b int, index(b));")
- tk.MustExec("create table t2 (id int key, b int, foreign key fk_b(b) references t1(id));")
- err = tk.ExecToErr("drop database test;")
- require.Error(t, err)
- require.Equal(t, "[ddl:3730]Cannot drop table 't2' referenced by a foreign key constraint 'fk_b' on table 't3'.", err.Error())
- tk.MustExec("drop table test2.t3")
- tk.MustExec("drop database test")
-}
-
func TestDropDatabaseWithForeignKeyReferred2(t *testing.T) {
store, dom := testkit.CreateMockStoreAndDomainWithSchemaLease(t, testLease)
d := dom.DDL()
@@ -1442,79 +347,6 @@ func TestDropDatabaseWithForeignKeyReferred2(t *testing.T) {
tk.MustExec("drop database test")
}
-func TestAddForeignKey(t *testing.T) {
- store, dom := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("set @@foreign_key_checks=1;")
- tk.MustExec("use test")
- tk.MustExec("create table t1 (id int key, b int);")
- tk.MustExec("create table t2 (id int key, b int);")
- tk.MustExec("alter table t2 add index(b)")
- tk.MustExec("alter table t2 add foreign key (b) references t1(id);")
- tbl2Info := getTableInfo(t, dom, "test", "t2")
- require.Equal(t, int64(1), tbl2Info.MaxForeignKeyID)
- tk.MustGetDBError("alter table t2 add foreign key (b) references t1(b);", infoschema.ErrForeignKeyNoIndexInParent)
- tk.MustExec("alter table t1 add index(b)")
- tk.MustExec("alter table t2 add foreign key (b) references t1(b);")
- tk.MustGetDBError("alter table t2 add foreign key (b) references t2(b);", infoschema.ErrCannotAddForeign)
- // Test auto-create index when create foreign key constraint.
- tk.MustExec("drop table if exists t1,t2")
- tk.MustExec("create table t1 (id int key, b int, index(b));")
- tk.MustExec("create table t2 (id int key, b int);")
- tk.MustExec("alter table t2 add constraint fk foreign key (b) references t1(b);")
- tbl2Info = getTableInfo(t, dom, "test", "t2")
- require.Equal(t, 1, len(tbl2Info.Indices))
- require.Equal(t, "fk", tbl2Info.Indices[0].Name.L)
- require.Equal(t, model.StatePublic, tbl2Info.Indices[0].State)
- tk.MustQuery("select b from t2 use index(fk)").Check(testkit.Rows())
- res := tk.MustQuery("explain select b from t2 use index(fk)")
- plan := bytes.NewBuffer(nil)
- rows := res.Rows()
- for _, row := range rows {
- for _, c := range row {
- plan.WriteString(c.(string))
- plan.WriteString(" ")
- }
- }
- require.Regexp(t, ".*IndexReader.*index:fk.*", plan.String())
-
- // Test add multiple foreign key constraint in one statement.
- tk.MustExec("alter table t2 add column c int, add column d int, add column e int;")
- tk.MustExec("alter table t2 add index idx_c(c, d, e)")
- tk.MustExec("alter table t2 add constraint fk_c foreign key (c) references t1(b), " +
- "add constraint fk_d foreign key (d) references t1(b)," +
- "add constraint fk_e foreign key (e) references t1(b)")
- tbl2Info = getTableInfo(t, dom, "test", "t2")
- require.Equal(t, 4, len(tbl2Info.Indices))
- names := []string{"fk", "idx_c", "fk_d", "fk_e"}
- for i, idx := range tbl2Info.Indices {
- require.Equal(t, names[i], idx.Name.L)
- require.Equal(t, model.StatePublic, idx.State)
- }
- names = []string{"fk", "fk_c", "fk_d", "fk_e"}
- for i, fkInfo := range tbl2Info.ForeignKeys {
- require.Equal(t, names[i], fkInfo.Name.L)
- require.Equal(t, model.StatePublic, fkInfo.State)
- }
- tk.MustGetDBError("insert into t2 (id, b) values (1,1)", plannercore.ErrNoReferencedRow2)
- tk.MustGetDBError("insert into t2 (id, c) values (1,1)", plannercore.ErrNoReferencedRow2)
- tk.MustGetDBError("insert into t2 (id, d) values (1,1)", plannercore.ErrNoReferencedRow2)
- tk.MustGetDBError("insert into t2 (id, e) values (1,1)", plannercore.ErrNoReferencedRow2)
-
- // Test add multiple foreign key constraint in one statement but failed.
- tk.MustExec("alter table t2 drop foreign key fk")
- tk.MustExec("alter table t2 drop foreign key fk_c")
- tk.MustExec("alter table t2 drop foreign key fk_d")
- tk.MustExec("alter table t2 drop foreign key fk_e")
- tk.MustGetDBError("alter table t2 add constraint fk_c foreign key (c) references t1(b), "+
- "add constraint fk_d foreign key (d) references t1(b),"+
- "add constraint fk_e foreign key (e) references t1(unknown_col)", infoschema.ErrForeignKeyNoColumnInParent)
- tbl2Info = getTableInfo(t, dom, "test", "t2")
- require.Equal(t, 0, len(tbl2Info.ForeignKeys))
- tk.MustGetDBError("alter table t2 drop index idx_c, add constraint fk_c foreign key (c) references t1(b)", dbterror.ErrDropIndexNeededInForeignKey)
-}
-
func TestAddForeignKey2(t *testing.T) {
store, dom := testkit.CreateMockStoreAndDomainWithSchemaLease(t, testLease)
d := dom.DDL()
@@ -1597,309 +429,3 @@ func TestAddForeignKey3(t *testing.T) {
tk.MustQuery("select * from t1 order by id").Check(testkit.Rows("1 1", "2 2", "3 3"))
tk.MustQuery("select * from t2 order by id").Check(testkit.Rows("1 1", "2 2", "3 3"))
}
-
-func TestAlterTableAddForeignKeyError(t *testing.T) {
- store, _ := testkit.CreateMockStoreAndDomain(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("set @@foreign_key_checks=1;")
- tk.MustExec("use test")
- cases := []struct {
- prepares []string
- alter string
- err string
- }{
- {
- prepares: []string{
- "create table t1 (id int, a int, b int);",
- "create table t2 (a int, b int);",
- },
- alter: "alter table t2 add foreign key fk(b) references t_unknown(id)",
- err: "[schema:1824]Failed to open the referenced table 't_unknown'",
- },
- {
- prepares: []string{
- "create table t1 (id int, a int, b int);",
- "create table t2 (a int, b int);",
- },
- alter: "alter table t2 add foreign key fk(b) references t1(c_unknown)",
- err: "[schema:3734]Failed to add the foreign key constraint. Missing column 'c_unknown' for constraint 'fk' in the referenced table 't1'",
- },
- {
- prepares: []string{
- "create table t1 (id int, a int, b int);",
- "create table t2 (a int, b int);",
- },
- alter: "alter table t2 add foreign key fk_b(b) references t1(b)",
- err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_b' in the referenced table 't1'",
- },
- {
- prepares: []string{
- "create table t1 (id int, a int, b int not null, index(b));",
- "create table t2 (a int, b int not null);",
- },
- alter: "alter table t2 add foreign key fk_b(b) references t1(b) on update set null",
- err: "[schema:1830]Column 'b' cannot be NOT NULL: needed in a foreign key constraint 'fk_b' SET NULL",
- },
- {
- prepares: []string{
- "create table t1 (id int, a int, b int not null, index(b));",
- "create table t2 (a int, b int not null);",
- },
- alter: "alter table t2 add foreign key fk_b(b) references t1(b) on delete set null",
- err: "[schema:1830]Column 'b' cannot be NOT NULL: needed in a foreign key constraint 'fk_b' SET NULL",
- },
- {
- prepares: []string{
- "create table t1 (id int key, a int, b int as (a) virtual, index(b));",
- "create table t2 (a int, b int);",
- },
- alter: "alter table t2 add foreign key fk_b(b) references t1(b)",
- err: "[schema:3733]Foreign key 'fk_b' uses virtual column 'b' which is not supported.",
- },
- {
- prepares: []string{
- "create table t1 (id int key, a int, b int, index(b));",
- "create table t2 (a int, b int as (a) virtual);",
- },
- alter: "alter table t2 add foreign key fk_b(b) references t1(b)",
- err: "[schema:3733]Foreign key 'fk_b' uses virtual column 'b' which is not supported.",
- },
- {
- prepares: []string{
- "create table t1 (id int key, a int);",
- "create table t2 (a int, b varchar(10));",
- },
- alter: "alter table t2 add foreign key fk(b) references t1(id)",
- err: "[ddl:3780]Referencing column 'b' and referenced column 'id' in foreign key constraint 'fk' are incompatible.",
- },
- {
- prepares: []string{
- "create table t1 (id int key, a int not null, index(a));",
- "create table t2 (a int, b int unsigned);",
- },
- alter: "alter table t2 add foreign key fk_b(b) references t1(a)",
- err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
- },
- {
- prepares: []string{
- "create table t1 (id int key, a bigint, index(a));",
- "create table t2 (a int, b int);",
- },
- alter: "alter table t2 add foreign key fk_b(b) references t1(a)",
- err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
- },
- {
- prepares: []string{
- "create table t1 (id int key, a varchar(10) charset utf8, index(a));",
- "create table t2 (a int, b varchar(10) charset utf8mb4);",
- },
- alter: "alter table t2 add foreign key fk_b(b) references t1(a)",
- err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
- },
- {
- prepares: []string{
- "create table t1 (id int key, a varchar(10) collate utf8_bin, index(a));",
- "create table t2 (a int, b varchar(10) collate utf8mb4_bin);",
- },
- alter: "alter table t2 add foreign key fk_b(b) references t1(a)",
- err: "[ddl:3780]Referencing column 'b' and referenced column 'a' in foreign key constraint 'fk_b' are incompatible.",
- },
- {
- prepares: []string{
- "create table t1 (id int key, a varchar(10));",
- "create table t2 (a int, b varchar(10));",
- },
- alter: "alter table t2 add foreign key fk_b(b) references t1(a)",
- err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_b' in the referenced table 't1'",
- },
- {
- prepares: []string{
- "create table t1 (id int key, a varchar(10), index (a(5)));",
- "create table t2 (a int, b varchar(10));",
- },
- alter: "alter table t2 add foreign key fk_b(b) references t1(a)",
- err: "[schema:1822]Failed to add the foreign key constraint. Missing index for constraint 'fk_b' in the referenced table 't1'",
- },
- {
- prepares: []string{
- "create table t1 (id int key, a int)",
- "create table t2 (id int, b int, index(b))",
- "insert into t2 values (1,1)",
- },
- alter: "alter table t2 add foreign key fk_b(b) references t1(id)",
- err: "[ddl:1452]Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk_b` FOREIGN KEY (`b`) REFERENCES `t1` (`id`))",
- },
- {
- prepares: []string{
- "create table t1 (id int, a int, b int, index(a,b))",
- "create table t2 (id int, a int, b int, index(a,b))",
- "insert into t2 values (1, 1, null), (2, null, 1), (3, null, null), (4, 1, 1)",
- },
- alter: "alter table t2 add foreign key fk_b(a, b) references t1(a, b)",
- err: "[ddl:1452]Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk_b` FOREIGN KEY (`a`, `b`) REFERENCES `t1` (`a`, `b`))",
- },
- {
- prepares: []string{
- "create table t1 (id int key);",
- "create table t2 (a int, b int unique);",
- },
- alter: "alter table t2 add foreign key name5678901234567890123456789012345678901234567890123456789012345(b) references t1(id)",
- err: "[ddl:1059]Identifier name 'name5678901234567890123456789012345678901234567890123456789012345' is too long",
- },
- {
- prepares: []string{
- "create table t1 (id int key);",
- "create table t2 (a int, b int unique);",
- },
- alter: "alter table t2 add constraint name5678901234567890123456789012345678901234567890123456789012345 foreign key (b) references t1(id)",
- err: "[ddl:1059]Identifier name 'name5678901234567890123456789012345678901234567890123456789012345' is too long",
- },
- }
- for i, ca := range cases {
- tk.MustExec("drop table if exists t2")
- tk.MustExec("drop table if exists t1")
- for _, sql := range ca.prepares {
- tk.MustExec(sql)
- }
- err := tk.ExecToErr(ca.alter)
- require.Error(t, err, fmt.Sprintf("%v, %v", i, ca.err))
- require.Equal(t, ca.err, err.Error())
- }
-
- passCases := [][]string{
- {
- "create table t1 (id int key, a int, b int, index(a))",
- "alter table t1 add foreign key fk(a) references t1(id)",
- },
- {
- "create table t1 (id int key, b int not null, index(b))",
- "create table t2 (a int, b int, index(b));",
- "alter table t2 add foreign key fk_b(b) references t1(b)",
- },
- {
- "create table t1 (id int key, a varchar(10), index(a));",
- "create table t2 (a int, b varchar(20), index(b));",
- "alter table t2 add foreign key fk_b(b) references t1(a)",
- },
- {
- "create table t1 (id int key, a decimal(10,5), index(a));",
- "create table t2 (a int, b decimal(20, 10), index(b));",
- "alter table t2 add foreign key fk_b(b) references t1(a)",
- },
- {
- "create table t1 (id int key, a varchar(10), index (a(10)));",
- "create table t2 (a int, b varchar(20), index(b));",
- "alter table t2 add foreign key fk_b(b) references t1(a)",
- },
- {
- "create table t1 (id int key, a int)",
- "create table t2 (id int, b int, index(b))",
- "insert into t2 values (1, null)",
- "alter table t2 add foreign key fk_b(b) references t1(id)",
- },
- {
- "create table t1 (id int, a int, b int, index(a,b))",
- "create table t2 (id int, a int, b int, index(a,b))",
- "insert into t2 values (1, 1, null), (2, null, 1), (3, null, null)",
- "alter table t2 add foreign key fk_b(a, b) references t1(a, b)",
- },
- {
- "set @@foreign_key_checks=0;",
- "create table t1 (id int, a int, b int, index(a,b))",
- "create table t2 (id int, a int, b int, index(a,b))",
- "insert into t2 values (1, 1, 1)",
- "alter table t2 add foreign key fk_b(a, b) references t1(a, b)",
- "set @@foreign_key_checks=1;",
- },
- {
- "set @@foreign_key_checks=0;",
- "create table t2 (a int, b int, index(b));",
- "alter table t2 add foreign key fk_b(b) references t_unknown(a)",
- "set @@foreign_key_checks=1;",
- },
- {
- "create table t1 (id int key);",
- "create table t2 (a int, b int unique);",
- "alter table t2 add foreign key name567890123456789012345678901234567890123456789012345678901234(b) references t1(id)",
- },
- }
- for _, ca := range passCases {
- tk.MustExec("drop table if exists t2")
- tk.MustExec("drop table if exists t1")
- for _, sql := range ca {
- tk.MustExec(sql)
- }
- }
-}
-
-func TestRenameTablesWithForeignKey(t *testing.T) {
- store, dom := testkit.CreateMockStoreAndDomainWithSchemaLease(t, testLease)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@global.tidb_enable_foreign_key=1")
- tk.MustExec("set @@foreign_key_checks=0;")
- tk.MustExec("create database test1")
- tk.MustExec("create database test2")
- tk.MustExec("use test")
- tk.MustExec("create table t0 (id int key, b int);")
- tk.MustExec("create table t1 (id int key, b int, index(b), foreign key fk(b) references t2(id));")
- tk.MustExec("create table t2 (id int key, b int, index(b), foreign key fk(b) references t1(id));")
- tk.MustExec("rename table test.t1 to test1.tt1, test.t2 to test2.tt2, test.t0 to test.tt0")
-
- // check the schema diff
- diff := getLatestSchemaDiff(t, tk)
- require.Equal(t, model.ActionRenameTables, diff.Type)
- require.Equal(t, 3, len(diff.AffectedOpts))
-
- // check referred foreign key information.
- t1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t1")
- t2ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test", "t2")
- require.Equal(t, 0, len(t1ReferredFKs))
- require.Equal(t, 0, len(t2ReferredFKs))
- tt1ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test1", "tt1")
- tt2ReferredFKs := getTableInfoReferredForeignKeys(t, dom, "test2", "tt2")
- require.Equal(t, 1, len(tt1ReferredFKs))
- require.Equal(t, 1, len(tt2ReferredFKs))
- require.Equal(t, model.ReferredFKInfo{
- Cols: []model.CIStr{model.NewCIStr("id")},
- ChildSchema: model.NewCIStr("test2"),
- ChildTable: model.NewCIStr("tt2"),
- ChildFKName: model.NewCIStr("fk"),
- }, *tt1ReferredFKs[0])
- require.Equal(t, model.ReferredFKInfo{
- Cols: []model.CIStr{model.NewCIStr("id")},
- ChildSchema: model.NewCIStr("test1"),
- ChildTable: model.NewCIStr("tt1"),
- ChildFKName: model.NewCIStr("fk"),
- }, *tt2ReferredFKs[0])
-
- // check show create table information
- tk.MustQuery("show create table test1.tt1").Check(testkit.Rows("tt1 CREATE TABLE `tt1` (\n" +
- " `id` int(11) NOT NULL,\n" +
- " `b` int(11) DEFAULT NULL,\n" +
- " PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n" +
- " KEY `b` (`b`),\n" +
- " CONSTRAINT `fk` FOREIGN KEY (`b`) REFERENCES `test2`.`tt2` (`id`)\n" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
- tk.MustQuery("show create table test2.tt2").Check(testkit.Rows("tt2 CREATE TABLE `tt2` (\n" +
- " `id` int(11) NOT NULL,\n" +
- " `b` int(11) DEFAULT NULL,\n" +
- " PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n" +
- " KEY `b` (`b`),\n" +
- " CONSTRAINT `fk` FOREIGN KEY (`b`) REFERENCES `test1`.`tt1` (`id`)\n" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
-}
-
-func getLatestSchemaDiff(t *testing.T, tk *testkit.TestKit) *model.SchemaDiff {
- ctx := tk.Session()
- err := sessiontxn.NewTxn(context.Background(), ctx)
- require.NoError(t, err)
- txn, err := ctx.Txn(true)
- require.NoError(t, err)
- m := meta.NewMeta(txn)
- ver, err := m.GetSchemaVersion()
- require.NoError(t, err)
- diff, err := m.GetSchemaDiff(ver)
- require.NoError(t, err)
- return diff
-}
diff --git a/ddl/generated_column.go b/ddl/generated_column.go
index 2f4ceee8b60a9..6c5e99dab2cd6 100644
--- a/ddl/generated_column.go
+++ b/ddl/generated_column.go
@@ -122,13 +122,19 @@ func findPositionRelativeColumn(cols []*table.Column, pos *ast.ColumnPosition) (
// findDependedColumnNames returns a set of string, which indicates
// the names of the columns that are depended by colDef.
-func findDependedColumnNames(colDef *ast.ColumnDef) (generated bool, colsMap map[string]struct{}) {
+func findDependedColumnNames(schemaName model.CIStr, tableName model.CIStr, colDef *ast.ColumnDef) (generated bool, colsMap map[string]struct{}, err error) {
colsMap = make(map[string]struct{})
for _, option := range colDef.Options {
if option.Tp == ast.ColumnOptionGenerated {
generated = true
colNames := FindColumnNamesInExpr(option.Expr)
for _, depCol := range colNames {
+ if depCol.Schema.L != "" && schemaName.L != "" && depCol.Schema.L != schemaName.L {
+ return false, nil, dbterror.ErrWrongDBName.GenWithStackByArgs(depCol.Schema.O)
+ }
+ if depCol.Table.L != "" && tableName.L != "" && depCol.Table.L != tableName.L {
+ return false, nil, dbterror.ErrWrongTableName.GenWithStackByArgs(depCol.Table.O)
+ }
colsMap[depCol.Name.L] = struct{}{}
}
break
@@ -192,7 +198,7 @@ func (c *generatedColumnChecker) Leave(inNode ast.Node) (node ast.Node, ok bool)
// 3. check if the modified expr contains non-deterministic functions
// 4. check whether new column refers to any auto-increment columns.
// 5. check if the new column is indexed or stored
-func checkModifyGeneratedColumn(sctx sessionctx.Context, tbl table.Table, oldCol, newCol *table.Column, newColDef *ast.ColumnDef, pos *ast.ColumnPosition) error {
+func checkModifyGeneratedColumn(sctx sessionctx.Context, schemaName model.CIStr, tbl table.Table, oldCol, newCol *table.Column, newColDef *ast.ColumnDef, pos *ast.ColumnPosition) error {
// rule 1.
oldColIsStored := !oldCol.IsGenerated() || oldCol.GeneratedStored
newColIsStored := !newCol.IsGenerated() || newCol.GeneratedStored
@@ -252,7 +258,10 @@ func checkModifyGeneratedColumn(sctx sessionctx.Context, tbl table.Table, oldCol
}
// rule 4.
- _, dependColNames := findDependedColumnNames(newColDef)
+ _, dependColNames, err := findDependedColumnNames(schemaName, tbl.Meta().Name, newColDef)
+ if err != nil {
+ return errors.Trace(err)
+ }
if !sctx.GetSessionVars().EnableAutoIncrementInGenerated {
if err := checkAutoIncrementRef(newColDef.Name.Name.L, dependColNames, tbl.Meta()); err != nil {
return errors.Trace(err)
@@ -268,12 +277,14 @@ func checkModifyGeneratedColumn(sctx sessionctx.Context, tbl table.Table, oldCol
}
type illegalFunctionChecker struct {
- hasIllegalFunc bool
- hasAggFunc bool
- hasRowVal bool // hasRowVal checks whether the functional index refers to a row value
- hasWindowFunc bool
- hasNotGAFunc4ExprIdx bool
- otherErr error
+ hasIllegalFunc bool
+ hasAggFunc bool
+ hasRowVal bool // hasRowVal checks whether the functional index refers to a row value
+ hasWindowFunc bool
+ hasNotGAFunc4ExprIdx bool
+ hasCastArrayFunc bool
+ disallowCastArrayFunc bool
+ otherErr error
}
func (c *illegalFunctionChecker) Enter(inNode ast.Node) (outNode ast.Node, skipChildren bool) {
@@ -308,7 +319,14 @@ func (c *illegalFunctionChecker) Enter(inNode ast.Node) (outNode ast.Node, skipC
case *ast.WindowFuncExpr:
c.hasWindowFunc = true
return inNode, true
+ case *ast.FuncCastExpr:
+ c.hasCastArrayFunc = c.hasCastArrayFunc || node.Tp.IsArray()
+ if c.disallowCastArrayFunc && node.Tp.IsArray() {
+ c.otherErr = expression.ErrNotSupportedYet.GenWithStackByArgs("Use of CAST( .. AS .. ARRAY) outside of functional index in CREATE(non-SELECT)/ALTER TABLE or in general expressions")
+ return inNode, true
+ }
}
+ c.disallowCastArrayFunc = true
return inNode, false
}
@@ -355,6 +373,9 @@ func checkIllegalFn4Generated(name string, genType int, expr ast.ExprNode) error
if genType == typeIndex && c.hasNotGAFunc4ExprIdx && !config.GetGlobalConfig().Experimental.AllowsExpressionIndex {
return dbterror.ErrUnsupportedExpressionIndex
}
+ if genType == typeColumn && c.hasCastArrayFunc {
+ return expression.ErrNotSupportedYet.GenWithStackByArgs("Use of CAST( .. AS .. ARRAY) outside of functional index in CREATE(non-SELECT)/ALTER TABLE or in general expressions")
+ }
return nil
}
diff --git a/ddl/index.go b/ddl/index.go
index b93c968bced1b..512c856faa8ef 100644
--- a/ddl/index.go
+++ b/ddl/index.go
@@ -39,11 +39,13 @@ import (
"github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/sessionctx"
+ "github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/table"
"github.com/pingcap/tidb/table/tables"
"github.com/pingcap/tidb/tablecodec"
"github.com/pingcap/tidb/types"
"github.com/pingcap/tidb/util"
+ "github.com/pingcap/tidb/util/chunk"
"github.com/pingcap/tidb/util/dbterror"
"github.com/pingcap/tidb/util/logutil"
decoder "github.com/pingcap/tidb/util/rowDecoder"
@@ -63,26 +65,33 @@ var (
telemetryAddIndexIngestUsage = metrics.TelemetryAddIndexIngestCnt
)
-func buildIndexColumns(ctx sessionctx.Context, columns []*model.ColumnInfo, indexPartSpecifications []*ast.IndexPartSpecification) ([]*model.IndexColumn, error) {
+func buildIndexColumns(ctx sessionctx.Context, columns []*model.ColumnInfo, indexPartSpecifications []*ast.IndexPartSpecification) ([]*model.IndexColumn, bool, error) {
// Build offsets.
idxParts := make([]*model.IndexColumn, 0, len(indexPartSpecifications))
var col *model.ColumnInfo
+ var mvIndex bool
maxIndexLength := config.GetGlobalConfig().MaxIndexLength
// The sum of length of all index columns.
sumLength := 0
for _, ip := range indexPartSpecifications {
col = model.FindColumnInfo(columns, ip.Column.Name.L)
if col == nil {
- return nil, dbterror.ErrKeyColumnDoesNotExits.GenWithStack("column does not exist: %s", ip.Column.Name)
+ return nil, false, dbterror.ErrKeyColumnDoesNotExits.GenWithStack("column does not exist: %s", ip.Column.Name)
}
if err := checkIndexColumn(ctx, col, ip.Length); err != nil {
- return nil, err
+ return nil, false, err
+ }
+ if col.FieldType.IsArray() {
+ if mvIndex {
+ return nil, false, dbterror.ErrNotSupportedYet.GenWithStack("'more than one multi-valued key part per index'")
+ }
+ mvIndex = true
}
indexColLen := ip.Length
indexColumnLength, err := getIndexColumnLength(col, ip.Length)
if err != nil {
- return nil, err
+ return nil, false, err
}
sumLength += indexColumnLength
@@ -91,12 +100,12 @@ func buildIndexColumns(ctx sessionctx.Context, columns []*model.ColumnInfo, inde
// The multiple column index and the unique index in which the length sum exceeds the maximum size
// will return an error instead produce a warning.
if ctx == nil || ctx.GetSessionVars().StrictSQLMode || mysql.HasUniKeyFlag(col.GetFlag()) || len(indexPartSpecifications) > 1 {
- return nil, dbterror.ErrTooLongKey.GenWithStackByArgs(maxIndexLength)
+ return nil, false, dbterror.ErrTooLongKey.GenWithStackByArgs(maxIndexLength)
}
// truncate index length and produce warning message in non-restrict sql mode.
colLenPerUint, err := getIndexColumnLength(col, 1)
if err != nil {
- return nil, err
+ return nil, false, err
}
indexColLen = maxIndexLength / colLenPerUint
// produce warning message
@@ -110,7 +119,7 @@ func buildIndexColumns(ctx sessionctx.Context, columns []*model.ColumnInfo, inde
})
}
- return idxParts, nil
+ return idxParts, mvIndex, nil
}
// CheckPKOnGeneratedColumn checks the specification of PK is valid.
@@ -153,7 +162,7 @@ func checkIndexColumn(ctx sessionctx.Context, col *model.ColumnInfo, indexColumn
}
// JSON column cannot index.
- if col.FieldType.GetType() == mysql.TypeJSON {
+ if col.FieldType.GetType() == mysql.TypeJSON && !col.FieldType.IsArray() {
if col.Hidden {
return dbterror.ErrFunctionalIndexOnJSONOrGeometryFunction
}
@@ -262,7 +271,7 @@ func BuildIndexInfo(
return nil, errors.Trace(err)
}
- idxColumns, err := buildIndexColumns(ctx, allTableColumns, indexPartSpecifications)
+ idxColumns, mvIndex, err := buildIndexColumns(ctx, allTableColumns, indexPartSpecifications)
if err != nil {
return nil, errors.Trace(err)
}
@@ -275,6 +284,7 @@ func BuildIndexInfo(
Primary: isPrimary,
Unique: isUnique,
Global: isGlobal,
+ MVIndex: mvIndex,
}
if indexOption != nil {
@@ -676,6 +686,9 @@ func (w *worker) onCreateIndex(d *ddlCtx, t *meta.Meta, job *model.Job, isPK boo
job.Args = []interface{}{indexInfo.ID, false /*if exists*/, getPartitionIDs(tbl.Meta())}
// Finish this job.
job.FinishTableJob(model.JobStateDone, model.StatePublic, ver, tblInfo)
+ if job.ReorgMeta.ReorgTp == model.ReorgTypeLitMerge {
+ ingest.LitBackCtxMgr.Unregister(job.ID)
+ }
default:
err = dbterror.ErrInvalidDDLState.GenWithStackByArgs("index", tblInfo.State)
}
@@ -691,15 +704,18 @@ func pickBackfillType(w *worker, job *model.Job) model.ReorgType {
return job.ReorgMeta.ReorgTp
}
if IsEnableFastReorg() {
- canUseIngest := canUseIngest(w)
- if ingest.LitInitialized && canUseIngest {
- job.ReorgMeta.ReorgTp = model.ReorgTypeLitMerge
- return model.ReorgTypeLitMerge
+ var useIngest bool
+ if ingest.LitInitialized {
+ useIngest = canUseIngest(w)
+ if useIngest {
+ job.ReorgMeta.ReorgTp = model.ReorgTypeLitMerge
+ return model.ReorgTypeLitMerge
+ }
}
// The lightning environment is unavailable, but we can still use the txn-merge backfill.
logutil.BgLogger().Info("[ddl] fallback to txn-merge backfill process",
zap.Bool("lightning env initialized", ingest.LitInitialized),
- zap.Bool("can use ingest", canUseIngest))
+ zap.Bool("can use ingest", useIngest))
job.ReorgMeta.ReorgTp = model.ReorgTypeTxnMerge
return model.ReorgTypeTxnMerge
}
@@ -710,7 +726,10 @@ func pickBackfillType(w *worker, job *model.Job) model.ReorgType {
// canUseIngest indicates whether it can use ingest way to backfill index.
func canUseIngest(w *worker) bool {
// We only allow one task to use ingest at the same time, in order to limit the CPU usage.
- if len(ingest.LitBackCtxMgr.Keys()) > 0 {
+ activeJobIDs := ingest.LitBackCtxMgr.Keys()
+ if len(activeJobIDs) > 0 {
+ logutil.BgLogger().Info("[ddl-ingest] ingest backfill is already in use by another DDL job",
+ zap.Int64("job ID", activeJobIDs[0]))
return false
}
ctx, err := w.sessPool.get()
@@ -753,12 +772,15 @@ func IngestJobsNotExisted(ctx sessionctx.Context) bool {
}
// tryFallbackToTxnMerge changes the reorg type to txn-merge if the lightning backfill meets something wrong.
-func tryFallbackToTxnMerge(job *model.Job, err error) {
+func tryFallbackToTxnMerge(job *model.Job, err error) error {
if job.State != model.JobStateRollingback {
logutil.BgLogger().Info("[ddl] fallback to txn-merge backfill process", zap.Error(err))
job.ReorgMeta.ReorgTp = model.ReorgTypeTxnMerge
job.SnapshotVer = 0
+ job.RowCount = 0
+ return nil
}
+ return err
}
func doReorgWorkForCreateIndexMultiSchema(w *worker, d *ddlCtx, t *meta.Meta, job *model.Job,
@@ -782,8 +804,10 @@ func doReorgWorkForCreateIndex(w *worker, d *ddlCtx, t *meta.Meta, job *model.Jo
}
switch indexInfo.BackfillState {
case model.BackfillStateRunning:
- logutil.BgLogger().Info("[ddl] index backfill state running", zap.Int64("job ID", job.ID),
- zap.String("table", tbl.Meta().Name.O), zap.String("index", indexInfo.Name.O))
+ logutil.BgLogger().Info("[ddl] index backfill state running",
+ zap.Int64("job ID", job.ID), zap.String("table", tbl.Meta().Name.O),
+ zap.Bool("ingest mode", bfProcess == model.ReorgTypeLitMerge),
+ zap.String("index", indexInfo.Name.O))
switch bfProcess {
case model.ReorgTypeLitMerge:
bc, ok := ingest.LitBackCtxMgr.Load(job.ID)
@@ -793,17 +817,18 @@ func doReorgWorkForCreateIndex(w *worker, d *ddlCtx, t *meta.Meta, job *model.Jo
if !ok && job.SnapshotVer != 0 {
// The owner is crashed or changed, we need to restart the backfill.
job.SnapshotVer = 0
+ job.RowCount = 0
return false, ver, nil
}
bc, err = ingest.LitBackCtxMgr.Register(w.ctx, indexInfo.Unique, job.ID, job.ReorgMeta.SQLMode)
if err != nil {
- tryFallbackToTxnMerge(job, err)
+ err = tryFallbackToTxnMerge(job, err)
return false, ver, errors.Trace(err)
}
done, ver, err = runReorgJobAndHandleErr(w, d, t, job, tbl, indexInfo, false)
if err != nil {
ingest.LitBackCtxMgr.Unregister(job.ID)
- tryFallbackToTxnMerge(job, err)
+ err = tryFallbackToTxnMerge(job, err)
return false, ver, errors.Trace(err)
}
if !done {
@@ -816,7 +841,7 @@ func doReorgWorkForCreateIndex(w *worker, d *ddlCtx, t *meta.Meta, job *model.Jo
ver, err = convertAddIdxJob2RollbackJob(d, t, job, tbl.Meta(), indexInfo, err)
} else {
logutil.BgLogger().Warn("[ddl] lightning import error", zap.Error(err))
- tryFallbackToTxnMerge(job, err)
+ err = tryFallbackToTxnMerge(job, err)
}
ingest.LitBackCtxMgr.Unregister(job.ID)
return false, ver, errors.Trace(err)
@@ -847,7 +872,8 @@ func doReorgWorkForCreateIndex(w *worker, d *ddlCtx, t *meta.Meta, job *model.Jo
return false, ver, err
}
indexInfo.BackfillState = model.BackfillStateInapplicable // Prevent double-write on this index.
- return true, ver, nil
+ ver, err = updateVersionAndTableInfo(d, t, job, tbl.Meta(), true)
+ return true, ver, err
default:
return false, 0, dbterror.ErrInvalidDDLState.GenWithStackByArgs("backfill", indexInfo.BackfillState)
}
@@ -856,8 +882,12 @@ func doReorgWorkForCreateIndex(w *worker, d *ddlCtx, t *meta.Meta, job *model.Jo
func runReorgJobAndHandleErr(w *worker, d *ddlCtx, t *meta.Meta, job *model.Job,
tbl table.Table, indexInfo *model.IndexInfo, mergingTmpIdx bool) (done bool, ver int64, err error) {
elements := []*meta.Element{{ID: indexInfo.ID, TypeKey: meta.IndexElementKey}}
- rh := newReorgHandler(t, w.sess, w.concurrentDDL)
- reorgInfo, err := getReorgInfo(d.jobContext(job), d, rh, job, tbl, elements, mergingTmpIdx)
+ rh := newReorgHandler(t, w.sess)
+ dbInfo, err := t.GetDatabase(job.SchemaID)
+ if err != nil {
+ return false, ver, errors.Trace(err)
+ }
+ reorgInfo, err := getReorgInfo(d.jobContext(job.ID), d, rh, job, dbInfo, tbl, elements, mergingTmpIdx)
if err != nil || reorgInfo.first {
// If we run reorg firstly, we should update the job snapshot version
// and then run the reorg next time.
@@ -953,6 +983,9 @@ func onDropIndex(d *ddlCtx, t *meta.Meta, job *model.Job) (ver int64, _ error) {
// Finish this job.
if job.IsRollingback() {
job.FinishTableJob(model.JobStateRollbackDone, model.StateNone, ver, tblInfo)
+ if job.ReorgMeta.ReorgTp == model.ReorgTypeLitMerge {
+ ingest.LitBackCtxMgr.Unregister(job.ID)
+ }
job.Args[0] = indexInfo.ID
} else {
// the partition ids were append by convertAddIdxJob2RollbackJob, it is weird, but for the compatibility,
@@ -1159,9 +1192,10 @@ type indexRecord struct {
}
type baseIndexWorker struct {
- *backfillWorker
+ *backfillCtx
indexes []table.Index
+ tp backfillerType
metricCounter prometheus.Counter
// The following attributes are used to reduce memory allocation.
@@ -1170,41 +1204,41 @@ type baseIndexWorker struct {
rowMap map[int64]types.Datum
rowDecoder *decoder.RowDecoder
- sqlMode mysql.SQLMode
jobContext *JobContext
}
type addIndexWorker struct {
baseIndexWorker
- index table.Index
- writerCtx *ingest.WriterContext
+ index table.Index
+ writerCtx *ingest.WriterContext
+ copReqSenderPool *copReqSenderPool
// The following attributes are used to reduce memory allocation.
idxKeyBufs [][]byte
batchCheckKeys []kv.Key
+ batchCheckValues [][]byte
distinctCheckFlags []bool
}
-func newAddIndexWorker(sessCtx sessionctx.Context, id int, t table.PhysicalTable, decodeColMap map[int64]decoder.Column,
- reorgInfo *reorgInfo, jc *JobContext, job *model.Job) (*addIndexWorker, error) {
- if !bytes.Equal(reorgInfo.currElement.TypeKey, meta.IndexElementKey) {
- logutil.BgLogger().Error("Element type for addIndexWorker incorrect", zap.String("jobQuery", reorgInfo.Query),
- zap.String("reorgInfo", reorgInfo.String()))
- return nil, errors.Errorf("element type is not index, typeKey: %v", reorgInfo.currElement.TypeKey)
+func newAddIndexWorker(decodeColMap map[int64]decoder.Column, id int, t table.PhysicalTable, bfCtx *backfillCtx, jc *JobContext, jobID, eleID int64, eleTypeKey []byte) (*addIndexWorker, error) {
+ if !bytes.Equal(eleTypeKey, meta.IndexElementKey) {
+ logutil.BgLogger().Error("Element type for addIndexWorker incorrect", zap.String("jobQuery", jc.cacheSQL),
+ zap.Int64("job ID", jobID), zap.ByteString("element type", eleTypeKey), zap.Int64("element ID", eleID))
+ return nil, errors.Errorf("element type is not index, typeKey: %v", eleTypeKey)
}
- indexInfo := model.FindIndexInfoByID(t.Meta().Indices, reorgInfo.currElement.ID)
+ indexInfo := model.FindIndexInfoByID(t.Meta().Indices, eleID)
index := tables.NewIndex(t.GetPhysicalID(), t.Meta(), indexInfo)
rowDecoder := decoder.NewRowDecoder(t, t.WritableCols(), decodeColMap)
var lwCtx *ingest.WriterContext
- if job.ReorgMeta.ReorgTp == model.ReorgTypeLitMerge {
- bc, ok := ingest.LitBackCtxMgr.Load(job.ID)
+ if bfCtx.reorgTp == model.ReorgTypeLitMerge {
+ bc, ok := ingest.LitBackCtxMgr.Load(jobID)
if !ok {
return nil, errors.Trace(errors.New(ingest.LitErrGetBackendFail))
}
- ei, err := bc.EngMgr.Register(bc, job, reorgInfo.currElement.ID)
+ ei, err := bc.EngMgr.Register(bc, jobID, eleID, bfCtx.schemaName, t.Meta().Name.O)
if err != nil {
- return nil, errors.Trace(errors.New(ingest.LitErrCreateEngineFail))
+ return nil, errors.Trace(err)
}
lwCtx, err = ei.NewWriterCtx(id)
if err != nil {
@@ -1214,14 +1248,13 @@ func newAddIndexWorker(sessCtx sessionctx.Context, id int, t table.PhysicalTable
return &addIndexWorker{
baseIndexWorker: baseIndexWorker{
- backfillWorker: newBackfillWorker(jc.ddlJobCtx, sessCtx, id, t, reorgInfo, typeAddIndexWorker),
- indexes: []table.Index{index},
- rowDecoder: rowDecoder,
- defaultVals: make([]types.Datum, len(t.WritableCols())),
- rowMap: make(map[int64]types.Datum, len(decodeColMap)),
- metricCounter: metrics.BackfillTotalCounter.WithLabelValues(metrics.GenerateReorgLabel("add_idx_rate", reorgInfo.SchemaName, t.Meta().Name.String())),
- sqlMode: reorgInfo.ReorgMeta.SQLMode,
- jobContext: jc,
+ backfillCtx: bfCtx,
+ indexes: []table.Index{index},
+ rowDecoder: rowDecoder,
+ defaultVals: make([]types.Datum, len(t.WritableCols())),
+ rowMap: make(map[int64]types.Datum, len(decodeColMap)),
+ metricCounter: metrics.BackfillTotalCounter.WithLabelValues(metrics.GenerateReorgLabel("add_idx_rate", bfCtx.schemaName, t.Meta().Name.String())),
+ jobContext: jc,
},
index: index,
writerCtx: lwCtx,
@@ -1232,6 +1265,65 @@ func (w *baseIndexWorker) AddMetricInfo(cnt float64) {
w.metricCounter.Add(cnt)
}
+func (*baseIndexWorker) GetTask() (*BackfillJob, error) {
+ return nil, nil
+}
+
+func (w *baseIndexWorker) String() string {
+ return w.tp.String()
+}
+
+func (w *baseIndexWorker) UpdateTask(bfJob *BackfillJob) error {
+ sess, ok := w.backfillCtx.sessCtx.(*session)
+ if !ok {
+ return errors.Errorf("sess ctx:%#v convert session failed", w.backfillCtx.sessCtx)
+ }
+
+ return runInTxn(sess, func(se *session) error {
+ jobs, err := GetBackfillJobs(sess, BackfillTable, fmt.Sprintf("ddl_job_id = %d and ele_id = %d and ele_key = '%s' and id = %d",
+ bfJob.JobID, bfJob.EleID, bfJob.EleKey, bfJob.ID), "update_backfill_task")
+ if err != nil {
+ return err
+ }
+ if len(jobs) == 0 {
+ return dbterror.ErrDDLJobNotFound.FastGen("get zero backfill job")
+ }
+ if jobs[0].InstanceID != bfJob.InstanceID {
+ return dbterror.ErrDDLJobNotFound.FastGenByArgs(fmt.Sprintf("get a backfill job %v, want instance ID %s", jobs[0], bfJob.InstanceID))
+ }
+
+ currTime, err := GetOracleTimeWithStartTS(se)
+ if err != nil {
+ return err
+ }
+ bfJob.InstanceLease = GetLeaseGoTime(currTime, InstanceLease)
+ return updateBackfillJob(sess, BackfillTable, bfJob, "update_backfill_task")
+ })
+}
+
+func (w *baseIndexWorker) FinishTask(bfJob *BackfillJob) error {
+ sess, ok := w.backfillCtx.sessCtx.(*session)
+ if !ok {
+ return errors.Errorf("sess ctx:%#v convert session failed", w.backfillCtx.sessCtx)
+ }
+ return runInTxn(sess, func(se *session) error {
+ txn, err := se.txn()
+ if err != nil {
+ return errors.Trace(err)
+ }
+ bfJob.FinishTS = txn.StartTS()
+ err = RemoveBackfillJob(sess, false, bfJob)
+ if err != nil {
+ return err
+ }
+ return AddBackfillHistoryJob(sess, []*BackfillJob{bfJob})
+ })
+}
+
+func (w *baseIndexWorker) GetCtx() *backfillCtx {
+ return w.backfillCtx
+}
+
// mockNotOwnerErrOnce uses to make sure `notOwnerErr` only mock error once.
var mockNotOwnerErrOnce uint32
@@ -1245,7 +1337,7 @@ func (w *baseIndexWorker) getIndexRecord(idxInfo *model.IndexInfo, handle kv.Han
failpoint.Return(nil, errors.Trace(dbterror.ErrCantDecodeRecord.GenWithStackByArgs("index",
errors.New("mock can't decode record error"))))
case "modifyColumnNotOwnerErr":
- if idxInfo.Name.O == "_Idx$_idx" && handle.IntValue() == 7168 && atomic.CompareAndSwapUint32(&mockNotOwnerErrOnce, 0, 1) {
+ if idxInfo.Name.O == "_Idx$_idx_0" && handle.IntValue() == 7168 && atomic.CompareAndSwapUint32(&mockNotOwnerErrOnce, 0, 1) {
failpoint.Return(nil, errors.Trace(dbterror.ErrNotOwner))
}
case "addIdxNotOwnerErr":
@@ -1274,7 +1366,7 @@ func (w *baseIndexWorker) getIndexRecord(idxInfo *model.IndexInfo, handle kv.Han
idxVal[j] = idxColumnVal
}
- rsData := tables.TryGetHandleRestoredDataWrapper(w.table, nil, w.rowMap, idxInfo)
+ rsData := tables.TryGetHandleRestoredDataWrapper(w.table.Meta(), nil, w.rowMap, idxInfo)
idxRecord := &indexRecord{handle: handle, key: recordKey, vals: idxVal, rsData: rsData}
return idxRecord, nil
}
@@ -1322,8 +1414,9 @@ func (w *baseIndexWorker) fetchRowColVals(txn kv.Transaction, taskRange reorgBac
// taskDone means that the reorged handle is out of taskRange.endHandle.
taskDone := false
oprStartTime := startTime
- err := iterateSnapshotKeys(w.reorgInfo.d.jobContext(w.reorgInfo.Job), w.sessCtx.GetStore(), w.priority, w.table.RecordPrefix(), txn.StartTS(), taskRange.startKey, taskRange.endKey,
- func(handle kv.Handle, recordKey kv.Key, rawRow []byte) (bool, error) {
+ jobID := taskRange.getJobID()
+ err := iterateSnapshotKeys(w.GetCtx().jobContext(jobID), w.sessCtx.GetStore(), taskRange.priority, taskRange.physicalTable.RecordPrefix(), txn.StartTS(),
+ taskRange.startKey, taskRange.endKey, func(handle kv.Handle, recordKey kv.Key, rawRow []byte) (bool, error) {
oprEndTime := time.Now()
logSlowOperations(oprEndTime.Sub(oprStartTime), "iterateSnapshotKeys in baseIndexWorker fetchRowColVals", 0)
oprStartTime = oprEndTime
@@ -1376,6 +1469,7 @@ func (w *addIndexWorker) initBatchCheckBufs(batchCount int) {
}
w.batchCheckKeys = w.batchCheckKeys[:0]
+ w.batchCheckValues = w.batchCheckValues[:0]
w.distinctCheckFlags = w.distinctCheckFlags[:0]
}
@@ -1407,6 +1501,9 @@ func (w *addIndexWorker) checkHandleExists(key kv.Key, value []byte, handle kv.H
if err != nil {
str = string(val)
}
+ if types.IsBinaryStr(colInfos[i].Ft) || types.IsTypeBit(colInfos[i].Ft) {
+ str = util.FmtNonASCIIPrintableCharToHex(str)
+ }
valueStr = append(valueStr, str)
}
return kv.ErrKeyExists.FastGenByArgs(strings.Join(valueStr, "-"), indexName)
@@ -1422,16 +1519,28 @@ func (w *addIndexWorker) batchCheckUniqueKey(txn kv.Transaction, idxRecords []*i
w.initBatchCheckBufs(len(idxRecords))
stmtCtx := w.sessCtx.GetSessionVars().StmtCtx
+ cnt := 0
for i, record := range idxRecords {
- idxKey, distinct, err := w.index.GenIndexKey(stmtCtx, record.vals, record.handle, w.idxKeyBufs[i])
- if err != nil {
- return errors.Trace(err)
+ iter := w.index.GenIndexKVIter(stmtCtx, record.vals, record.handle, idxRecords[i].rsData)
+ for iter.Valid() {
+ var buf []byte
+ if cnt < len(w.idxKeyBufs) {
+ buf = w.idxKeyBufs[cnt]
+ }
+ key, val, distinct, err := iter.Next(buf)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ if cnt < len(w.idxKeyBufs) {
+ w.idxKeyBufs[cnt] = key
+ } else {
+ w.idxKeyBufs = append(w.idxKeyBufs, key)
+ }
+ cnt++
+ w.batchCheckKeys = append(w.batchCheckKeys, key)
+ w.batchCheckValues = append(w.batchCheckValues, val)
+ w.distinctCheckFlags = append(w.distinctCheckFlags, distinct)
}
- // save the buffer to reduce memory allocations.
- w.idxKeyBufs[i] = idxKey
-
- w.batchCheckKeys = append(w.batchCheckKeys, idxKey)
- w.distinctCheckFlags = append(w.distinctCheckFlags, distinct)
}
batchVals, err := txn.BatchGet(context.Background(), w.batchCheckKeys)
@@ -1453,12 +1562,7 @@ func (w *addIndexWorker) batchCheckUniqueKey(txn kv.Transaction, idxRecords []*i
} else if w.distinctCheckFlags[i] {
// The keys in w.batchCheckKeys also maybe duplicate,
// so we need to backfill the not found key into `batchVals` map.
- needRsData := tables.NeedRestoredData(w.index.Meta().Columns, w.table.Meta().Columns)
- val, err := tablecodec.GenIndexValuePortal(stmtCtx, w.table.Meta(), w.index.Meta(), needRsData, w.distinctCheckFlags[i], false, idxRecords[i].vals, idxRecords[i].handle, 0, idxRecords[i].rsData)
- if err != nil {
- return errors.Trace(err)
- }
- batchVals[string(key)] = val
+ batchVals[string(key)] = w.batchCheckValues[i]
}
}
// Constrains is already checked.
@@ -1480,16 +1584,28 @@ func (w *addIndexWorker) BackfillDataInTxn(handleRange reorgBackfillTask) (taskC
needMergeTmpIdx := w.index.Meta().BackfillState != model.BackfillStateInapplicable
oprStartTime := time.Now()
+ jobID := handleRange.getJobID()
ctx := kv.WithInternalSourceType(context.Background(), w.jobContext.ddlJobSourceType())
- errInTxn = kv.RunInNewTxn(ctx, w.sessCtx.GetStore(), true, func(ctx context.Context, txn kv.Transaction) error {
+ errInTxn = kv.RunInNewTxn(ctx, w.sessCtx.GetStore(), true, func(ctx context.Context, txn kv.Transaction) (err error) {
taskCtx.addedCount = 0
taskCtx.scanCount = 0
- txn.SetOption(kv.Priority, w.priority)
- if tagger := w.reorgInfo.d.getResourceGroupTaggerForTopSQL(w.reorgInfo.Job); tagger != nil {
+ txn.SetOption(kv.Priority, handleRange.priority)
+ if tagger := w.GetCtx().getResourceGroupTaggerForTopSQL(jobID); tagger != nil {
txn.SetOption(kv.ResourceGroupTagger, tagger)
}
- idxRecords, nextKey, taskDone, err := w.fetchRowColVals(txn, handleRange)
+ var (
+ idxRecords []*indexRecord
+ copChunk *chunk.Chunk // only used by the coprocessor request sender.
+ nextKey kv.Key
+ taskDone bool
+ )
+ if w.copReqSenderPool != nil {
+ idxRecords, copChunk, nextKey, taskDone, err = w.copReqSenderPool.fetchRowColValsFromCop(handleRange)
+ defer w.copReqSenderPool.recycleIdxRecordsAndChunk(idxRecords, copChunk)
+ } else {
+ idxRecords, nextKey, taskDone, err = w.fetchRowColVals(txn, handleRange)
+ }
if err != nil {
return errors.Trace(err)
}
@@ -1534,19 +1650,18 @@ func (w *addIndexWorker) BackfillDataInTxn(handleRange reorgBackfillTask) (taskC
} else { // The lightning environment is ready.
vars := w.sessCtx.GetSessionVars()
sCtx, writeBufs := vars.StmtCtx, vars.GetWriteStmtBufs()
- key, distinct, err := w.index.GenIndexKey(sCtx, idxRecord.vals, idxRecord.handle, writeBufs.IndexKeyBuf)
- if err != nil {
- return errors.Trace(err)
- }
- idxVal, err := w.index.GenIndexValue(sCtx, distinct, idxRecord.vals, idxRecord.handle, idxRecord.rsData)
- if err != nil {
- return errors.Trace(err)
- }
- err = w.writerCtx.WriteRow(key, idxVal)
- if err != nil {
- return errors.Trace(err)
+ iter := w.index.GenIndexKVIter(sCtx, idxRecord.vals, idxRecord.handle, idxRecord.rsData)
+ for iter.Valid() {
+ key, idxVal, _, err := iter.Next(writeBufs.IndexKeyBuf)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ err = w.writerCtx.WriteRow(key, idxVal)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ writeBufs.IndexKeyBuf = key
}
- writeBufs.IndexKeyBuf = key
}
taskCtx.addedCount++
}
@@ -1588,7 +1703,18 @@ func (w *worker) addTableIndex(t table.Table, reorgInfo *reorgInfo) error {
}
} else {
//nolint:forcetypeassert
- err = w.addPhysicalTableIndex(t.(table.PhysicalTable), reorgInfo)
+ phyTbl := t.(table.PhysicalTable)
+ // TODO: Support typeAddIndexMergeTmpWorker and partitionTable.
+ isDistReorg := variable.DDLEnableDistributeReorg.Load()
+ if isDistReorg && !reorgInfo.mergingTmpIdx {
+ sCtx, err := w.sessPool.get()
+ if err != nil {
+ return errors.Trace(err)
+ }
+ defer w.sessPool.put(sCtx)
+ return w.controlWritePhysicalTableRecord(newSession(sCtx), phyTbl, typeAddIndexWorker, reorgInfo)
+ }
+ err = w.addPhysicalTableIndex(phyTbl, reorgInfo)
}
return errors.Trace(err)
}
@@ -1631,7 +1757,7 @@ func (w *worker) updateReorgInfo(t table.PartitionedTable, reorg *reorgInfo) (bo
if err != nil {
return false, errors.Trace(err)
}
- start, end, err := getTableRange(reorg.d.jobContext(reorg.Job), reorg.d, t.GetPartition(pid), currentVer.Ver, reorg.Job.Priority)
+ start, end, err := getTableRange(reorg.d.jobContext(reorg.Job.ID), reorg.d, t.GetPartition(pid), currentVer.Ver, reorg.Job.Priority)
if err != nil {
return false, errors.Trace(err)
}
@@ -1702,7 +1828,7 @@ type cleanUpIndexWorker struct {
baseIndexWorker
}
-func newCleanUpIndexWorker(sessCtx sessionctx.Context, id int, t table.PhysicalTable, decodeColMap map[int64]decoder.Column, reorgInfo *reorgInfo, jc *JobContext) *cleanUpIndexWorker {
+func newCleanUpIndexWorker(sessCtx sessionctx.Context, t table.PhysicalTable, decodeColMap map[int64]decoder.Column, reorgInfo *reorgInfo, jc *JobContext) *cleanUpIndexWorker {
indexes := make([]table.Index, 0, len(t.Indices()))
rowDecoder := decoder.NewRowDecoder(t, t.WritableCols(), decodeColMap)
for _, index := range t.Indices() {
@@ -1712,14 +1838,13 @@ func newCleanUpIndexWorker(sessCtx sessionctx.Context, id int, t table.PhysicalT
}
return &cleanUpIndexWorker{
baseIndexWorker: baseIndexWorker{
- backfillWorker: newBackfillWorker(jc.ddlJobCtx, sessCtx, id, t, reorgInfo, typeCleanUpIndexWorker),
- indexes: indexes,
- rowDecoder: rowDecoder,
- defaultVals: make([]types.Datum, len(t.WritableCols())),
- rowMap: make(map[int64]types.Datum, len(decodeColMap)),
- metricCounter: metrics.BackfillTotalCounter.WithLabelValues(metrics.GenerateReorgLabel("cleanup_idx_rate", reorgInfo.SchemaName, t.Meta().Name.String())),
- sqlMode: reorgInfo.ReorgMeta.SQLMode,
- jobContext: jc,
+ backfillCtx: newBackfillCtx(reorgInfo.d, sessCtx, reorgInfo.ReorgMeta.ReorgTp, reorgInfo.SchemaName, t),
+ indexes: indexes,
+ rowDecoder: rowDecoder,
+ defaultVals: make([]types.Datum, len(t.WritableCols())),
+ rowMap: make(map[int64]types.Datum, len(decodeColMap)),
+ metricCounter: metrics.BackfillTotalCounter.WithLabelValues(metrics.GenerateReorgLabel("cleanup_idx_rate", reorgInfo.SchemaName, t.Meta().Name.String())),
+ jobContext: jc,
},
}
}
@@ -1737,8 +1862,8 @@ func (w *cleanUpIndexWorker) BackfillDataInTxn(handleRange reorgBackfillTask) (t
errInTxn = kv.RunInNewTxn(ctx, w.sessCtx.GetStore(), true, func(ctx context.Context, txn kv.Transaction) error {
taskCtx.addedCount = 0
taskCtx.scanCount = 0
- txn.SetOption(kv.Priority, w.priority)
- if tagger := w.reorgInfo.d.getResourceGroupTaggerForTopSQL(w.reorgInfo.Job); tagger != nil {
+ txn.SetOption(kv.Priority, handleRange.priority)
+ if tagger := w.GetCtx().getResourceGroupTaggerForTopSQL(handleRange.getJobID()); tagger != nil {
txn.SetOption(kv.ResourceGroupTagger, tagger)
}
@@ -1821,7 +1946,7 @@ func (w *worker) updateReorgInfoForPartitions(t table.PartitionedTable, reorg *r
if err != nil {
return false, errors.Trace(err)
}
- start, end, err := getTableRange(reorg.d.jobContext(reorg.Job), reorg.d, t.GetPartition(pid), currentVer.Ver, reorg.Job.Priority)
+ start, end, err := getTableRange(reorg.d.jobContext(reorg.Job.ID), reorg.d, t.GetPartition(pid), currentVer.Ver, reorg.Job.Priority)
if err != nil {
return false, errors.Trace(err)
}
@@ -1829,10 +1954,10 @@ func (w *worker) updateReorgInfoForPartitions(t table.PartitionedTable, reorg *r
// Write the reorg info to store so the whole reorganize process can recover from panic.
err = reorg.UpdateReorgMeta(reorg.StartKey, w.sessPool)
- logutil.BgLogger().Info("[ddl] job update reorgInfo", zap.Int64("jobID", reorg.Job.ID),
- zap.ByteString("elementType", reorg.currElement.TypeKey), zap.Int64("elementID", reorg.currElement.ID),
- zap.Int64("partitionTableID", pid), zap.String("startHandle", tryDecodeToHandleString(start)),
- zap.String("endHandle", tryDecodeToHandleString(end)), zap.Error(err))
+ logutil.BgLogger().Info("[ddl] job update reorg info", zap.Int64("jobID", reorg.Job.ID),
+ zap.Stringer("element", reorg.currElement),
+ zap.Int64("partition table ID", pid), zap.String("start key", hex.EncodeToString(start)),
+ zap.String("end key", hex.EncodeToString(end)), zap.Error(err))
return false, errors.Trace(err)
}
diff --git a/ddl/index_change_test.go b/ddl/index_change_test.go
index b5d2c9d6ce983..f9dcc99154dc5 100644
--- a/ddl/index_change_test.go
+++ b/ddl/index_change_test.go
@@ -219,6 +219,7 @@ func checkAddWriteOnlyForAddIndex(ctx sessionctx.Context, delOnlyTbl, writeOnlyT
}
func checkAddPublicForAddIndex(ctx sessionctx.Context, writeTbl, publicTbl table.Table) error {
+ var err1 error
// WriteOnlyTable: insert t values (6, 6)
err := sessiontxn.NewTxn(context.Background(), ctx)
if err != nil {
@@ -229,7 +230,11 @@ func checkAddPublicForAddIndex(ctx sessionctx.Context, writeTbl, publicTbl table
return errors.Trace(err)
}
err = checkIndexExists(ctx, publicTbl, 6, 6, true)
- if err != nil {
+ if ddl.IsEnableFastReorg() {
+ // Need check temp index also.
+ err1 = checkIndexExists(ctx, writeTbl, 6, 6, true)
+ }
+ if err != nil && err1 != nil {
return errors.Trace(err)
}
// PublicTable: insert t values (7, 7)
@@ -248,10 +253,18 @@ func checkAddPublicForAddIndex(ctx sessionctx.Context, writeTbl, publicTbl table
return errors.Trace(err)
}
err = checkIndexExists(ctx, publicTbl, 5, 7, true)
- if err != nil {
+ if ddl.IsEnableFastReorg() {
+ // Need check temp index also.
+ err1 = checkIndexExists(ctx, writeTbl, 5, 7, true)
+ }
+ if err != nil && err1 != nil {
return errors.Trace(err)
}
- err = checkIndexExists(ctx, publicTbl, 7, 7, false)
+ if ddl.IsEnableFastReorg() {
+ err = checkIndexExists(ctx, writeTbl, 7, 7, false)
+ } else {
+ err = checkIndexExists(ctx, publicTbl, 7, 7, false)
+ }
if err != nil {
return errors.Trace(err)
}
@@ -281,7 +294,11 @@ func checkAddPublicForAddIndex(ctx sessionctx.Context, writeTbl, publicTbl table
idxVal := row[1].GetInt64()
handle := row[0].GetInt64()
err = checkIndexExists(ctx, publicTbl, idxVal, handle, true)
- if err != nil {
+ if ddl.IsEnableFastReorg() {
+ // Need check temp index also.
+ err1 = checkIndexExists(ctx, writeTbl, idxVal, handle, true)
+ }
+ if err != nil && err1 != nil {
return errors.Trace(err)
}
}
diff --git a/ddl/index_cop.go b/ddl/index_cop.go
new file mode 100644
index 0000000000000..fab097727139b
--- /dev/null
+++ b/ddl/index_cop.go
@@ -0,0 +1,546 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package ddl
+
+import (
+ "context"
+ "sync"
+ "time"
+
+ "github.com/pingcap/errors"
+ "github.com/pingcap/failpoint"
+ "github.com/pingcap/tidb/distsql"
+ "github.com/pingcap/tidb/expression"
+ "github.com/pingcap/tidb/kv"
+ "github.com/pingcap/tidb/metrics"
+ "github.com/pingcap/tidb/parser/model"
+ "github.com/pingcap/tidb/parser/terror"
+ "github.com/pingcap/tidb/sessionctx"
+ "github.com/pingcap/tidb/sessionctx/stmtctx"
+ "github.com/pingcap/tidb/sessionctx/variable"
+ "github.com/pingcap/tidb/statistics"
+ "github.com/pingcap/tidb/table"
+ "github.com/pingcap/tidb/table/tables"
+ "github.com/pingcap/tidb/tablecodec"
+ "github.com/pingcap/tidb/types"
+ "github.com/pingcap/tidb/util"
+ "github.com/pingcap/tidb/util/chunk"
+ "github.com/pingcap/tidb/util/codec"
+ "github.com/pingcap/tidb/util/collate"
+ "github.com/pingcap/tidb/util/dbterror"
+ "github.com/pingcap/tidb/util/generic"
+ "github.com/pingcap/tidb/util/logutil"
+ "github.com/pingcap/tidb/util/timeutil"
+ "github.com/pingcap/tipb/go-tipb"
+ "go.uber.org/zap"
+)
+
+// copReadBatchSize is the batch size of coprocessor read.
+// It multiplies the tidb_ddl_reorg_batch_size by 10 to avoid
+// sending too many cop requests for the same handle range.
+func copReadBatchSize() int {
+ return 10 * int(variable.GetDDLReorgBatchSize())
+}
+
+// copReadChunkPoolSize is the size of chunk pool, which
+// represents the max concurrent ongoing coprocessor requests.
+// It multiplies the tidb_ddl_reorg_worker_cnt by 10.
+func copReadChunkPoolSize() int {
+ return 10 * int(variable.GetDDLReorgWorkerCounter())
+}
+
+func (c *copReqSenderPool) fetchRowColValsFromCop(handleRange reorgBackfillTask) ([]*indexRecord, *chunk.Chunk, kv.Key, bool, error) {
+ ticker := time.NewTicker(500 * time.Millisecond)
+ defer ticker.Stop()
+ for {
+ select {
+ case rs, ok := <-c.resultsCh:
+ if !ok {
+ logutil.BgLogger().Info("[ddl-ingest] cop-response channel is closed",
+ zap.Int("id", handleRange.id), zap.String("task", handleRange.String()))
+ return nil, nil, handleRange.endKey, true, nil
+ }
+ if rs.err != nil {
+ return nil, nil, handleRange.startKey, false, rs.err
+ }
+ if rs.done {
+ logutil.BgLogger().Info("[ddl-ingest] finish a cop-request task",
+ zap.Int("id", rs.id), zap.Int("total", rs.total))
+ c.results.Store(rs.id, struct{}{})
+ }
+ if _, found := c.results.Load(handleRange.id); found {
+ logutil.BgLogger().Info("[ddl-ingest] task is found in results",
+ zap.Int("id", handleRange.id), zap.String("task", handleRange.String()))
+ c.results.Delete(handleRange.id)
+ return rs.records, rs.chunk, handleRange.endKey, true, nil
+ }
+ return rs.records, rs.chunk, handleRange.startKey, false, nil
+ case <-ticker.C:
+ logutil.BgLogger().Info("[ddl-ingest] cop-request result channel is empty",
+ zap.Int("id", handleRange.id))
+ if _, found := c.results.Load(handleRange.id); found {
+ c.results.Delete(handleRange.id)
+ return nil, nil, handleRange.endKey, true, nil
+ }
+ }
+ }
+}
+
+type copReqSenderPool struct {
+ tasksCh chan *reorgBackfillTask
+ resultsCh chan idxRecResult
+ results generic.SyncMap[int, struct{}]
+
+ ctx context.Context
+ copCtx *copContext
+ store kv.Storage
+
+ senders []*copReqSender
+ wg sync.WaitGroup
+
+ idxBufPool chan []*indexRecord
+ srcChkPool chan *chunk.Chunk
+}
+
+type copReqSender struct {
+ senderPool *copReqSenderPool
+
+ ctx context.Context
+ cancel context.CancelFunc
+}
+
+func (c *copReqSender) run() {
+ p := c.senderPool
+ defer p.wg.Done()
+ var curTaskID int
+ defer util.Recover(metrics.LabelDDL, "copReqSender.run", func() {
+ p.resultsCh <- idxRecResult{id: curTaskID, err: dbterror.ErrReorgPanic}
+ }, false)
+ for {
+ if util.HasCancelled(c.ctx) {
+ return
+ }
+ task, ok := <-p.tasksCh
+ if !ok {
+ return
+ }
+ curTaskID = task.id
+ logutil.BgLogger().Info("[ddl-ingest] start a cop-request task",
+ zap.Int("id", task.id), zap.String("task", task.String()))
+ ver, err := p.store.CurrentVersion(kv.GlobalTxnScope)
+ if err != nil {
+ p.resultsCh <- idxRecResult{id: task.id, err: err}
+ return
+ }
+ rs, err := p.copCtx.buildTableScan(p.ctx, ver.Ver, task.startKey, task.excludedEndKey())
+ if err != nil {
+ p.resultsCh <- idxRecResult{id: task.id, err: err}
+ return
+ }
+ failpoint.Inject("MockCopSenderPanic", func(val failpoint.Value) {
+ if val.(bool) {
+ panic("mock panic")
+ }
+ })
+ var done bool
+ var total int
+ for !done {
+ idxRec, srcChk := p.getIndexRecordsAndChunks()
+ idxRec, done, err = p.copCtx.fetchTableScanResult(p.ctx, rs, srcChk, idxRec)
+ if err != nil {
+ p.resultsCh <- idxRecResult{id: task.id, err: err}
+ p.recycleIdxRecordsAndChunk(idxRec, srcChk)
+ terror.Call(rs.Close)
+ return
+ }
+ total += len(idxRec)
+ p.resultsCh <- idxRecResult{id: task.id, records: idxRec, chunk: srcChk, done: done, total: total}
+ }
+ terror.Call(rs.Close)
+ }
+}
+
+func newCopReqSenderPool(ctx context.Context, copCtx *copContext, store kv.Storage) *copReqSenderPool {
+ poolSize := copReadChunkPoolSize()
+ idxBufPool := make(chan []*indexRecord, poolSize)
+ srcChkPool := make(chan *chunk.Chunk, poolSize)
+ for i := 0; i < poolSize; i++ {
+ idxBufPool <- make([]*indexRecord, 0, copReadBatchSize())
+ srcChkPool <- chunk.NewChunkWithCapacity(copCtx.fieldTps, copReadBatchSize())
+ }
+ return &copReqSenderPool{
+ tasksCh: make(chan *reorgBackfillTask, backfillTaskChanSize),
+ resultsCh: make(chan idxRecResult, backfillTaskChanSize),
+ results: generic.NewSyncMap[int, struct{}](10),
+ ctx: ctx,
+ copCtx: copCtx,
+ store: store,
+ senders: make([]*copReqSender, 0, variable.GetDDLReorgWorkerCounter()),
+ wg: sync.WaitGroup{},
+ idxBufPool: idxBufPool,
+ srcChkPool: srcChkPool,
+ }
+}
+
+func (c *copReqSenderPool) sendTask(task *reorgBackfillTask) {
+ c.tasksCh <- task
+}
+
+func (c *copReqSenderPool) adjustSize(n int) {
+ // Add some senders.
+ for i := len(c.senders); i < n; i++ {
+ ctx, cancel := context.WithCancel(c.ctx)
+ c.senders = append(c.senders, &copReqSender{
+ senderPool: c,
+ ctx: ctx,
+ cancel: cancel,
+ })
+ c.wg.Add(1)
+ go c.senders[i].run()
+ }
+ // Remove some senders.
+ if n < len(c.senders) {
+ for i := n; i < len(c.senders); i++ {
+ c.senders[i].cancel()
+ }
+ c.senders = c.senders[:n]
+ }
+}
+
+func (c *copReqSenderPool) close() {
+ logutil.BgLogger().Info("[ddl-ingest] close cop-request sender pool", zap.Int("results not handled", len(c.results.Keys())))
+ close(c.tasksCh)
+ for _, w := range c.senders {
+ w.cancel()
+ }
+ cleanupWg := util.WaitGroupWrapper{}
+ cleanupWg.Run(c.drainResults)
+ // Wait for all cop-req senders to exit.
+ c.wg.Wait()
+ close(c.resultsCh)
+ cleanupWg.Wait()
+ close(c.idxBufPool)
+ close(c.srcChkPool)
+}
+
+func (c *copReqSenderPool) drainResults() {
+ // Consume the rest results because the writers are inactive anymore.
+ for rs := range c.resultsCh {
+ c.recycleIdxRecordsAndChunk(rs.records, rs.chunk)
+ }
+}
+
+func (c *copReqSenderPool) getIndexRecordsAndChunks() ([]*indexRecord, *chunk.Chunk) {
+ ir := <-c.idxBufPool
+ chk := <-c.srcChkPool
+ newCap := copReadBatchSize()
+ if chk.Capacity() != newCap {
+ chk = chunk.NewChunkWithCapacity(c.copCtx.fieldTps, newCap)
+ }
+ chk.Reset()
+ return ir[:0], chk
+}
+
+// recycleIdxRecordsAndChunk puts the index record slice and the chunk back to the pool for reuse.
+func (c *copReqSenderPool) recycleIdxRecordsAndChunk(idxRecs []*indexRecord, chk *chunk.Chunk) {
+ if idxRecs == nil || chk == nil {
+ return
+ }
+ c.idxBufPool <- idxRecs
+ c.srcChkPool <- chk
+}
+
+// copContext contains the information that is needed when building a coprocessor request.
+// It is unchanged after initialization.
+type copContext struct {
+ tblInfo *model.TableInfo
+ idxInfo *model.IndexInfo
+ pkInfo *model.IndexInfo
+ colInfos []*model.ColumnInfo
+ fieldTps []*types.FieldType
+ sessCtx sessionctx.Context
+
+ expColInfos []*expression.Column
+ idxColOutputOffsets []int
+ handleOutputOffsets []int
+ virtualColOffsets []int
+ virtualColFieldTps []*types.FieldType
+}
+
+func newCopContext(tblInfo *model.TableInfo, idxInfo *model.IndexInfo, sessCtx sessionctx.Context) (*copContext, error) {
+ var err error
+ usedColumnIDs := make(map[int64]struct{}, len(idxInfo.Columns))
+ usedColumnIDs, err = fillUsedColumns(usedColumnIDs, idxInfo, tblInfo)
+ var handleIDs []int64
+ if err != nil {
+ return nil, err
+ }
+ var primaryIdx *model.IndexInfo
+ if tblInfo.PKIsHandle {
+ pkCol := tblInfo.GetPkColInfo()
+ usedColumnIDs[pkCol.ID] = struct{}{}
+ handleIDs = []int64{pkCol.ID}
+ } else if tblInfo.IsCommonHandle {
+ primaryIdx = tables.FindPrimaryIndex(tblInfo)
+ handleIDs = make([]int64, 0, len(primaryIdx.Columns))
+ for _, pkCol := range primaryIdx.Columns {
+ col := tblInfo.Columns[pkCol.Offset]
+ handleIDs = append(handleIDs, col.ID)
+ }
+ usedColumnIDs, err = fillUsedColumns(usedColumnIDs, primaryIdx, tblInfo)
+ if err != nil {
+ return nil, err
+ }
+ }
+
+ // Only collect the columns that are used by the index.
+ colInfos := make([]*model.ColumnInfo, 0, len(idxInfo.Columns))
+ fieldTps := make([]*types.FieldType, 0, len(idxInfo.Columns))
+ for i := range tblInfo.Columns {
+ col := tblInfo.Columns[i]
+ if _, found := usedColumnIDs[col.ID]; found {
+ colInfos = append(colInfos, col)
+ fieldTps = append(fieldTps, &col.FieldType)
+ }
+ }
+
+ // Append the extra handle column when _tidb_rowid is used.
+ if !tblInfo.HasClusteredIndex() {
+ extra := model.NewExtraHandleColInfo()
+ colInfos = append(colInfos, extra)
+ fieldTps = append(fieldTps, &extra.FieldType)
+ handleIDs = []int64{extra.ID}
+ }
+
+ expColInfos, _, err := expression.ColumnInfos2ColumnsAndNames(sessCtx,
+ model.CIStr{} /* unused */, tblInfo.Name, colInfos, tblInfo)
+ if err != nil {
+ return nil, err
+ }
+ idxOffsets := resolveIndicesForIndex(expColInfos, idxInfo, tblInfo)
+ hdColOffsets := resolveIndicesForHandle(expColInfos, handleIDs)
+ vColOffsets, vColFts := collectVirtualColumnOffsetsAndTypes(expColInfos)
+
+ copCtx := &copContext{
+ tblInfo: tblInfo,
+ idxInfo: idxInfo,
+ pkInfo: primaryIdx,
+ colInfos: colInfos,
+ fieldTps: fieldTps,
+ sessCtx: sessCtx,
+
+ expColInfos: expColInfos,
+ idxColOutputOffsets: idxOffsets,
+ handleOutputOffsets: hdColOffsets,
+ virtualColOffsets: vColOffsets,
+ virtualColFieldTps: vColFts,
+ }
+ return copCtx, nil
+}
+
+func fillUsedColumns(usedCols map[int64]struct{}, idxInfo *model.IndexInfo, tblInfo *model.TableInfo) (map[int64]struct{}, error) {
+ colsToChecks := make([]*model.ColumnInfo, 0, len(idxInfo.Columns))
+ for _, idxCol := range idxInfo.Columns {
+ colsToChecks = append(colsToChecks, tblInfo.Columns[idxCol.Offset])
+ }
+ for len(colsToChecks) > 0 {
+ next := colsToChecks[0]
+ colsToChecks = colsToChecks[1:]
+ usedCols[next.ID] = struct{}{}
+ for depColName := range next.Dependences {
+ // Expand the virtual generated columns.
+ depCol := model.FindColumnInfo(tblInfo.Columns, depColName)
+ if depCol == nil {
+ return nil, errors.Trace(errors.Errorf("dependent column %s not found", depColName))
+ }
+ if _, ok := usedCols[depCol.ID]; !ok {
+ colsToChecks = append(colsToChecks, depCol)
+ }
+ }
+ }
+ return usedCols, nil
+}
+
+func resolveIndicesForIndex(outputCols []*expression.Column, idxInfo *model.IndexInfo, tblInfo *model.TableInfo) []int {
+ offsets := make([]int, 0, len(idxInfo.Columns))
+ for _, idxCol := range idxInfo.Columns {
+ hid := tblInfo.Columns[idxCol.Offset].ID
+ for j, col := range outputCols {
+ if col.ID == hid {
+ offsets = append(offsets, j)
+ break
+ }
+ }
+ }
+ return offsets
+}
+
+func resolveIndicesForHandle(cols []*expression.Column, handleIDs []int64) []int {
+ offsets := make([]int, 0, len(handleIDs))
+ for _, hid := range handleIDs {
+ for j, col := range cols {
+ if col.ID == hid {
+ offsets = append(offsets, j)
+ break
+ }
+ }
+ }
+ return offsets
+}
+
+func collectVirtualColumnOffsetsAndTypes(cols []*expression.Column) ([]int, []*types.FieldType) {
+ var offsets []int
+ var fts []*types.FieldType
+ for i, col := range cols {
+ if col.VirtualExpr != nil {
+ offsets = append(offsets, i)
+ fts = append(fts, col.GetType())
+ }
+ }
+ return offsets, fts
+}
+
+func (c *copContext) buildTableScan(ctx context.Context, startTS uint64, start, end kv.Key) (distsql.SelectResult, error) {
+ dagPB, err := buildDAGPB(c.sessCtx, c.tblInfo, c.colInfos)
+ if err != nil {
+ return nil, err
+ }
+
+ var builder distsql.RequestBuilder
+ kvReq, err := builder.
+ SetDAGRequest(dagPB).
+ SetStartTS(startTS).
+ SetKeyRanges([]kv.KeyRange{{StartKey: start, EndKey: end}}).
+ SetKeepOrder(true).
+ SetFromSessionVars(c.sessCtx.GetSessionVars()).
+ SetFromInfoSchema(c.sessCtx.GetDomainInfoSchema()).
+ SetConcurrency(1).
+ Build()
+ if err != nil {
+ return nil, err
+ }
+ return distsql.Select(ctx, c.sessCtx, kvReq, c.fieldTps, statistics.NewQueryFeedback(0, nil, 0, false))
+}
+
+func (c *copContext) fetchTableScanResult(ctx context.Context, result distsql.SelectResult,
+ chk *chunk.Chunk, buf []*indexRecord) ([]*indexRecord, bool, error) {
+ sctx := c.sessCtx.GetSessionVars().StmtCtx
+ err := result.Next(ctx, chk)
+ if err != nil {
+ return nil, false, errors.Trace(err)
+ }
+ if chk.NumRows() == 0 {
+ return buf, true, nil
+ }
+ iter := chunk.NewIterator4Chunk(chk)
+ err = table.FillVirtualColumnValue(c.virtualColFieldTps, c.virtualColOffsets, c.expColInfos, c.colInfos, c.sessCtx, chk)
+ if err != nil {
+ return nil, false, errors.Trace(err)
+ }
+ for row := iter.Begin(); row != iter.End(); row = iter.Next() {
+ idxDt := extractDatumByOffsets(row, c.idxColOutputOffsets, c.expColInfos)
+ hdDt := extractDatumByOffsets(row, c.handleOutputOffsets, c.expColInfos)
+ handle, err := buildHandle(hdDt, c.tblInfo, c.pkInfo, sctx)
+ if err != nil {
+ return nil, false, errors.Trace(err)
+ }
+ rsData := getRestoreData(c.tblInfo, c.idxInfo, c.pkInfo, hdDt)
+ buf = append(buf, &indexRecord{handle: handle, key: nil, vals: idxDt, rsData: rsData, skip: false})
+ }
+ return buf, false, nil
+}
+
+func getRestoreData(tblInfo *model.TableInfo, targetIdx, pkIdx *model.IndexInfo, handleDts []types.Datum) []types.Datum {
+ if !collate.NewCollationEnabled() || !tblInfo.IsCommonHandle || tblInfo.CommonHandleVersion == 0 {
+ return nil
+ }
+ if pkIdx == nil {
+ return nil
+ }
+ for i, pkIdxCol := range pkIdx.Columns {
+ pkCol := tblInfo.Columns[pkIdxCol.Offset]
+ if !types.NeedRestoredData(&pkCol.FieldType) {
+ // Since the handle data cannot be null, we can use SetNull to
+ // indicate that this column does not need to be restored.
+ handleDts[i].SetNull()
+ continue
+ }
+ tables.TryTruncateRestoredData(&handleDts[i], pkCol, pkIdxCol, targetIdx)
+ tables.ConvertDatumToTailSpaceCount(&handleDts[i], pkCol)
+ }
+ dtToRestored := handleDts[:0]
+ for _, handleDt := range handleDts {
+ if !handleDt.IsNull() {
+ dtToRestored = append(dtToRestored, handleDt)
+ }
+ }
+ return dtToRestored
+}
+
+func buildDAGPB(sCtx sessionctx.Context, tblInfo *model.TableInfo, colInfos []*model.ColumnInfo) (*tipb.DAGRequest, error) {
+ dagReq := &tipb.DAGRequest{}
+ dagReq.TimeZoneName, dagReq.TimeZoneOffset = timeutil.Zone(sCtx.GetSessionVars().Location())
+ sc := sCtx.GetSessionVars().StmtCtx
+ dagReq.Flags = sc.PushDownFlags()
+ for i := range colInfos {
+ dagReq.OutputOffsets = append(dagReq.OutputOffsets, uint32(i))
+ }
+ execPB, err := constructTableScanPB(sCtx, tblInfo, colInfos)
+ if err != nil {
+ return nil, err
+ }
+ dagReq.Executors = append(dagReq.Executors, execPB)
+ distsql.SetEncodeType(sCtx, dagReq)
+ return dagReq, nil
+}
+
+func constructTableScanPB(sCtx sessionctx.Context, tblInfo *model.TableInfo, colInfos []*model.ColumnInfo) (*tipb.Executor, error) {
+ tblScan := tables.BuildTableScanFromInfos(tblInfo, colInfos)
+ tblScan.TableId = tblInfo.ID
+ err := tables.SetPBColumnsDefaultValue(sCtx, tblScan.Columns, colInfos)
+ return &tipb.Executor{Tp: tipb.ExecType_TypeTableScan, TblScan: tblScan}, err
+}
+
+func extractDatumByOffsets(row chunk.Row, offsets []int, expCols []*expression.Column) []types.Datum {
+ datumBuf := make([]types.Datum, 0, len(offsets))
+ for _, offset := range offsets {
+ c := expCols[offset]
+ rowDt := row.GetDatum(offset, c.GetType())
+ datumBuf = append(datumBuf, rowDt)
+ }
+ return datumBuf
+}
+
+func buildHandle(pkDts []types.Datum, tblInfo *model.TableInfo,
+ pkInfo *model.IndexInfo, stmtCtx *stmtctx.StatementContext) (kv.Handle, error) {
+ if tblInfo.IsCommonHandle {
+ tablecodec.TruncateIndexValues(tblInfo, pkInfo, pkDts)
+ handleBytes, err := codec.EncodeKey(stmtCtx, nil, pkDts...)
+ if err != nil {
+ return nil, err
+ }
+ return kv.NewCommonHandle(handleBytes)
+ }
+ return kv.IntHandle(pkDts[0].GetInt64()), nil
+}
+
+type idxRecResult struct {
+ id int
+ records []*indexRecord
+ chunk *chunk.Chunk
+ err error
+ done bool
+ total int
+}
diff --git a/ddl/index_cop_test.go b/ddl/index_cop_test.go
new file mode 100644
index 0000000000000..38bced0b6678d
--- /dev/null
+++ b/ddl/index_cop_test.go
@@ -0,0 +1,101 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package ddl_test
+
+import (
+ "fmt"
+ "strconv"
+ "testing"
+
+ "github.com/pingcap/tidb/ddl"
+ "github.com/pingcap/tidb/kv"
+ "github.com/pingcap/tidb/parser/model"
+ "github.com/pingcap/tidb/testkit"
+ "github.com/pingcap/tidb/types"
+ "github.com/stretchr/testify/require"
+)
+
+func TestAddIndexFetchRowsFromCoprocessor(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+
+ testFetchRows := func(db, tb, idx string) ([]kv.Handle, [][]types.Datum) {
+ tbl, err := dom.InfoSchema().TableByName(model.NewCIStr(db), model.NewCIStr(tb))
+ require.NoError(t, err)
+ tblInfo := tbl.Meta()
+ idxInfo := tblInfo.FindIndexByName(idx)
+ copCtx, err := ddl.NewCopContext4Test(tblInfo, idxInfo, tk.Session())
+ require.NoError(t, err)
+ startKey := tbl.RecordPrefix()
+ endKey := startKey.PrefixNext()
+ txn, err := store.Begin()
+ require.NoError(t, err)
+ idxRec, done, err := ddl.FetchRowsFromCop4Test(copCtx, startKey, endKey, store, 10)
+ require.NoError(t, err)
+ require.False(t, done)
+ require.NoError(t, txn.Rollback())
+
+ handles := make([]kv.Handle, 0, len(idxRec))
+ values := make([][]types.Datum, 0, len(idxRec))
+ for _, rec := range idxRec {
+ handles = append(handles, rec.GetHandle())
+ values = append(values, rec.GetIndexValues())
+ }
+ return handles, values
+ }
+
+ // Test nonclustered primary key table.
+ tk.MustExec("drop table if exists t;")
+ tk.MustExec("create table t (a bigint, b int, index idx (b));")
+ for i := 0; i < 8; i++ {
+ tk.MustExec("insert into t values (?, ?)", i, i)
+ }
+ hds, vals := testFetchRows("test", "t", "idx")
+ require.Len(t, hds, 8)
+ for i := 0; i < 8; i++ {
+ require.Equal(t, hds[i].IntValue(), int64(i+1))
+ require.Len(t, vals[i], 1)
+ require.Equal(t, vals[i][0].GetInt64(), int64(i))
+ }
+
+ // Test clustered primary key table(pk_is_handle).
+ tk.MustExec("drop table if exists t;")
+ tk.MustExec("create table t (a bigint primary key, b int, index idx (b));")
+ for i := 0; i < 8; i++ {
+ tk.MustExec("insert into t values (?, ?)", i, i)
+ }
+ hds, vals = testFetchRows("test", "t", "idx")
+ require.Len(t, hds, 8)
+ for i := 0; i < 8; i++ {
+ require.Equal(t, hds[i].IntValue(), int64(i))
+ require.Len(t, vals[i], 1)
+ require.Equal(t, vals[i][0].GetInt64(), int64(i))
+ }
+
+ // Test clustered primary key table(common_handle).
+ tk.MustExec("drop table if exists t;")
+ tk.MustExec("create table t (a varchar(10), b int, c char(10), primary key (a, c) clustered, index idx (b));")
+ for i := 0; i < 8; i++ {
+ tk.MustExec("insert into t values (?, ?, ?)", strconv.Itoa(i), i, strconv.Itoa(i))
+ }
+ hds, vals = testFetchRows("test", "t", "idx")
+ require.Len(t, hds, 8)
+ for i := 0; i < 8; i++ {
+ require.Equal(t, hds[i].String(), fmt.Sprintf("{%d, %d}", i, i))
+ require.Len(t, vals[i], 1)
+ require.Equal(t, vals[i][0].GetInt64(), int64(i))
+ }
+}
diff --git a/ddl/index_merge_tmp.go b/ddl/index_merge_tmp.go
index b33111119facc..737ed84d33872 100644
--- a/ddl/index_merge_tmp.go
+++ b/ddl/index_merge_tmp.go
@@ -22,7 +22,6 @@ import (
"github.com/pingcap/errors"
"github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/parser/model"
- "github.com/pingcap/tidb/sessionctx"
"github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/table"
"github.com/pingcap/tidb/table/tables"
@@ -76,10 +75,11 @@ type temporaryIndexRecord struct {
delete bool
unique bool
distinct bool
+ rowKey kv.Key
}
type mergeIndexWorker struct {
- *backfillWorker
+ *backfillCtx
index table.Index
@@ -89,15 +89,15 @@ type mergeIndexWorker struct {
jobContext *JobContext
}
-func newMergeTempIndexWorker(sessCtx sessionctx.Context, id int, t table.PhysicalTable, reorgInfo *reorgInfo, jc *JobContext) *mergeIndexWorker {
- indexInfo := model.FindIndexInfoByID(t.Meta().Indices, reorgInfo.currElement.ID)
+func newMergeTempIndexWorker(bfCtx *backfillCtx, id int, t table.PhysicalTable, eleID int64, jc *JobContext) *mergeIndexWorker {
+ indexInfo := model.FindIndexInfoByID(t.Meta().Indices, eleID)
index := tables.NewIndex(t.GetPhysicalID(), t.Meta(), indexInfo)
return &mergeIndexWorker{
- backfillWorker: newBackfillWorker(jc.ddlJobCtx, sessCtx, id, t, reorgInfo, typeAddIndexMergeTmpWorker),
- index: index,
- jobContext: jc,
+ backfillCtx: bfCtx,
+ index: index,
+ jobContext: jc,
}
}
@@ -108,8 +108,8 @@ func (w *mergeIndexWorker) BackfillDataInTxn(taskRange reorgBackfillTask) (taskC
errInTxn = kv.RunInNewTxn(ctx, w.sessCtx.GetStore(), true, func(ctx context.Context, txn kv.Transaction) error {
taskCtx.addedCount = 0
taskCtx.scanCount = 0
- txn.SetOption(kv.Priority, w.priority)
- if tagger := w.reorgInfo.d.getResourceGroupTaggerForTopSQL(w.reorgInfo.Job); tagger != nil {
+ txn.SetOption(kv.Priority, taskRange.priority)
+ if tagger := w.GetCtx().getResourceGroupTaggerForTopSQL(taskRange.getJobID()); tagger != nil {
txn.SetOption(kv.ResourceGroupTagger, tagger)
}
@@ -133,6 +133,14 @@ func (w *mergeIndexWorker) BackfillDataInTxn(taskRange reorgBackfillTask) (taskC
if idxRecord.skip {
continue
}
+
+ // Lock the corresponding row keys so that it doesn't modify the index KVs
+ // that are changing by a pessimistic transaction.
+ err := txn.LockKeys(context.Background(), new(kv.LockCtx), idxRecord.rowKey)
+ if err != nil {
+ return errors.Trace(err)
+ }
+
if idxRecord.delete {
if idxRecord.unique {
err = txn.GetMemBuffer().DeleteWithFlags(w.originIdxKeys[i], kv.SetNeedLocked)
@@ -149,11 +157,32 @@ func (w *mergeIndexWorker) BackfillDataInTxn(taskRange reorgBackfillTask) (taskC
}
return nil
})
+
logSlowOperations(time.Since(oprStartTime), "AddIndexMergeDataInTxn", 3000)
return
}
-func (w *mergeIndexWorker) AddMetricInfo(cnt float64) {
+func (*mergeIndexWorker) AddMetricInfo(float64) {
+}
+
+func (*mergeIndexWorker) String() string {
+ return typeAddIndexMergeTmpWorker.String()
+}
+
+func (*mergeIndexWorker) GetTask() (*BackfillJob, error) {
+ panic("[ddl] merge index worker GetTask function doesn't implement")
+}
+
+func (*mergeIndexWorker) UpdateTask(*BackfillJob) error {
+ panic("[ddl] merge index worker UpdateTask function doesn't implement")
+}
+
+func (*mergeIndexWorker) FinishTask(*BackfillJob) error {
+ panic("[ddl] merge index worker FinishTask function doesn't implement")
+}
+
+func (w *mergeIndexWorker) GetCtx() *backfillCtx {
+ return w.backfillCtx
}
func (w *mergeIndexWorker) fetchTempIndexVals(txn kv.Transaction, taskRange reorgBackfillTask) ([]*temporaryIndexRecord, kv.Key, bool, error) {
@@ -166,7 +195,8 @@ func (w *mergeIndexWorker) fetchTempIndexVals(txn kv.Transaction, taskRange reor
oprStartTime := startTime
idxPrefix := w.table.IndexPrefix()
var lastKey kv.Key
- err := iterateSnapshotKeys(w.reorgInfo.d.jobContext(w.reorgInfo.Job), w.sessCtx.GetStore(), w.priority, idxPrefix, txn.StartTS(),
+ isCommonHandle := w.table.Meta().IsCommonHandle
+ err := iterateSnapshotKeys(w.GetCtx().jobContext(taskRange.getJobID()), w.sessCtx.GetStore(), taskRange.priority, idxPrefix, txn.StartTS(),
taskRange.startKey, taskRange.endKey, func(_ kv.Handle, indexKey kv.Key, rawValue []byte) (more bool, err error) {
oprEndTime := time.Now()
logSlowOperations(oprEndTime.Sub(oprStartTime), "iterate temporary index in merge process", 0)
@@ -182,34 +212,37 @@ func (w *mergeIndexWorker) fetchTempIndexVals(txn kv.Transaction, taskRange reor
return false, nil
}
- isDelete := false
- unique := false
- length := len(rawValue)
- keyVer := rawValue[length-1]
- if keyVer == tables.TempIndexKeyTypeMerge {
- // The kv is written in the merging state. It has been written to the origin index, we can skip it.
+ originVal, handle, isDelete, unique, keyVer := tablecodec.DecodeTempIndexValue(rawValue, isCommonHandle)
+ if keyVer == tables.TempIndexKeyTypeMerge || keyVer == tables.TempIndexKeyTypeDelete {
+ // For 'm' version kvs, they are double-written.
+ // For 'd' version kvs, they are written in the delete-only state and can be dropped safely.
return true, nil
}
- rawValue = rawValue[:length-1]
- if bytes.Equal(rawValue, tables.DeleteMarker) {
- isDelete = true
- } else if bytes.Equal(rawValue, tables.DeleteMarkerUnique) {
- isDelete = true
- unique = true
+
+ if handle == nil {
+ // If the handle is not found in the value of the temp index, it means
+ // 1) This is not a deletion marker, the handle is in the key or the origin value.
+ // 2) This is a deletion marker, but the handle is in the key of temp index.
+ handle, err = tablecodec.DecodeIndexHandle(indexKey, originVal, len(w.index.Meta().Columns))
+ if err != nil {
+ return false, err
+ }
}
+ rowKey := tablecodec.EncodeRecordKey(w.table.RecordPrefix(), handle)
originIdxKey := make([]byte, len(indexKey))
copy(originIdxKey, indexKey)
tablecodec.TempIndexKey2IndexKey(w.index.Meta().ID, originIdxKey)
idxRecord := &temporaryIndexRecord{
+ rowKey: rowKey,
delete: isDelete,
unique: unique,
skip: false,
}
if !isDelete {
- idxRecord.vals = rawValue
- idxRecord.distinct = tablecodec.IndexKVIsUnique(rawValue)
+ idxRecord.vals = originVal
+ idxRecord.distinct = tablecodec.IndexKVIsUnique(originVal)
}
w.tmpIdxRecords = append(w.tmpIdxRecords, idxRecord)
w.originIdxKeys = append(w.originIdxKeys, originIdxKey)
diff --git a/ddl/index_merge_tmp_test.go b/ddl/index_merge_tmp_test.go
index eb0a935690068..3f12358c26658 100644
--- a/ddl/index_merge_tmp_test.go
+++ b/ddl/index_merge_tmp_test.go
@@ -16,6 +16,7 @@ package ddl_test
import (
"testing"
+ "time"
"github.com/pingcap/tidb/ddl"
"github.com/pingcap/tidb/ddl/ingest"
@@ -174,6 +175,73 @@ func TestAddIndexMergeVersionIndexValue(t *testing.T) {
require.Equal(t, []byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, iter.Value())
}
+func TestAddIndexMergeIndexUntouchedValue(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk2 := testkit.NewTestKit(t, store)
+ tk2.MustExec("use test")
+ tk.MustExec(`create table t (
+ id int not null auto_increment,
+ k int not null default '0',
+ c char(120) not null default '',
+ pad char(60) not null default '',
+ primary key (id) clustered,
+ key k_1(k));`)
+ tk.MustExec("insert into t values (1, 1, 'a', 'a')")
+ // Force onCreateIndex use the txn-merge process.
+ ingest.LitInitialized = false
+ tk.MustExec("set @@global.tidb_ddl_enable_fast_reorg = 1;")
+
+ var checkErrs []error
+ var runInsert bool
+ var runUpdate bool
+ originHook := dom.DDL().GetHook()
+ callback := &ddl.TestDDLCallback{
+ Do: dom,
+ }
+ onJobUpdatedExportedFunc := func(job *model.Job) {
+ if job.Type != model.ActionAddIndex || job.SchemaState != model.StateWriteReorganization {
+ return
+ }
+ idx := findIdxInfo(dom, "test", "t", "idx")
+ if idx == nil {
+ return
+ }
+ if !runInsert {
+ if idx.BackfillState != model.BackfillStateRunning || job.SnapshotVer == 0 {
+ return
+ }
+ runInsert = true
+ _, err := tk2.Exec("insert into t values (100, 1, 'a', 'a');")
+ checkErrs = append(checkErrs, err)
+ }
+ if !runUpdate {
+ if idx.BackfillState != model.BackfillStateReadyToMerge {
+ return
+ }
+ runUpdate = true
+ _, err := tk2.Exec("begin;")
+ checkErrs = append(checkErrs, err)
+ _, err = tk2.Exec("update t set k=k+1 where id = 100;")
+ checkErrs = append(checkErrs, err)
+ _, err = tk2.Exec("commit;")
+ checkErrs = append(checkErrs, err)
+ }
+ }
+ callback.OnJobUpdatedExported.Store(&onJobUpdatedExportedFunc)
+ dom.DDL().SetHook(callback)
+ tk.MustExec("alter table t add index idx(c);")
+ dom.DDL().SetHook(originHook)
+ require.True(t, runUpdate)
+ for _, err := range checkErrs {
+ require.NoError(t, err)
+ }
+ tk.MustExec("admin check table t;")
+ tk.MustQuery("select * from t use index (idx);").Check(testkit.Rows("1 1 a a", "100 2 a a"))
+ tk.MustQuery("select * from t ignore index (idx);").Check(testkit.Rows("1 1 a a", "100 2 a a"))
+}
+
func findIdxInfo(dom *domain.Domain, dbName, tbName, idxName string) *model.IndexInfo {
tbl, err := dom.InfoSchema().TableByName(model.NewCIStr(dbName), model.NewCIStr(tbName))
if err != nil {
@@ -183,13 +251,181 @@ func findIdxInfo(dom *domain.Domain, dbName, tbName, idxName string) *model.Inde
return tbl.Meta().FindIndexByName(idxName)
}
-func TestPessimisticAmendIncompatibleWithFastReorg(t *testing.T) {
- store := testkit.CreateMockStore(t)
+// TestCreateUniqueIndexKeyExist this case will test below things:
+// Create one unique index idx((a*b+1));
+// insert (0, 6) and delete it;
+// insert (0, 9), it should be successful;
+// Should check temp key exist and skip deleted mark
+// The error returned below:
+// Error: Received unexpected error:
+//
+// [kv:1062]Duplicate entry '1' for key 't.idx'
+func TestCreateUniqueIndexKeyExist(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
- tk.MustExec("set global tidb_ddl_enable_fast_reorg = 1;")
- tk.MustExec("set global tidb_ddl_enable_fast_reorg = 1;")
+ tk.MustExec("create table t(a int default 0, b int default 0)")
+ tk.MustExec("insert into t values (1, 1), (2, 2), (3, 3), (4, 4)")
+
+ tk1 := testkit.NewTestKit(t, store)
+ tk1.MustExec("use test")
+
+ stateDeleteOnlySQLs := []string{"insert into t values (5, 5)", "begin pessimistic;", "insert into t select * from t", "rollback", "insert into t set b = 6", "update t set b = 7 where a = 1", "delete from t where b = 4"}
+
+ // If waitReorg timeout, the worker may enter writeReorg more than 2 times.
+ reorgTime := 0
+ d := dom.DDL()
+ originalCallback := d.GetHook()
+ defer d.SetHook(originalCallback)
+ callback := &ddl.TestDDLCallback{}
+ onJobUpdatedExportedFunc := func(job *model.Job) {
+ if t.Failed() {
+ return
+ }
+ var err error
+ switch job.SchemaState {
+ case model.StateDeleteOnly:
+ for _, sql := range stateDeleteOnlySQLs {
+ _, err = tk1.Exec(sql)
+ assert.NoError(t, err)
+ }
+ // (1, 7), (2, 2), (3, 3), (5, 5), (0, 6)
+ case model.StateWriteOnly:
+ _, err = tk1.Exec("insert into t values (8, 8)")
+ assert.NoError(t, err)
+ _, err = tk1.Exec("update t set b = 7 where a = 2")
+ assert.NoError(t, err)
+ _, err = tk1.Exec("delete from t where b = 3")
+ assert.NoError(t, err)
+ // (1, 7), (2, 7), (5, 5), (0, 6), (8, 8)
+ case model.StateWriteReorganization:
+ if reorgTime < 1 {
+ reorgTime++
+ } else {
+ return
+ }
+ _, err = tk1.Exec("insert into t values (10, 10)")
+ assert.NoError(t, err)
+ _, err = tk1.Exec("delete from t where b = 6")
+ assert.NoError(t, err)
+ _, err = tk1.Exec("insert into t set b = 9")
+ assert.NoError(t, err)
+ _, err = tk1.Exec("update t set b = 7 where a = 5")
+ assert.NoError(t, err)
+ // (1, 7), (2, 7), (5, 7), (8, 8), (10, 10), (0, 9)
+ }
+ }
+ callback.OnJobUpdatedExported.Store(&onJobUpdatedExportedFunc)
+ d.SetHook(callback)
+ tk.MustExec("alter table t add unique index idx((a*b+1))")
+ tk.MustExec("admin check table t")
+ tk.MustQuery("select * from t order by a, b").Check(testkit.Rows("0 9", "1 7", "2 7", "5 7", "8 8", "10 10"))
+}
- tk.MustGetErrMsg("set @@tidb_enable_amend_pessimistic_txn = 1;",
- "amend pessimistic transactions is not compatible with tidb_ddl_enable_fast_reorg")
+func TestAddIndexMergeIndexUpdateOnDeleteOnly(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk2 := testkit.NewTestKit(t, store)
+ tk2.MustExec("use test")
+ tk.MustExec(`CREATE TABLE t (a DATE NULL DEFAULT '1619-01-18', b BOOL NULL DEFAULT '0') CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin';`)
+ tk.MustExec(`INSERT INTO t SET b = '1';`)
+
+ updateSQLs := []string{
+ "UPDATE t SET a = '9432-05-10', b = '0';",
+ "UPDATE t SET a = '9432-05-10', b = '1';",
+ }
+
+ // Force onCreateIndex use the txn-merge process.
+ ingest.LitInitialized = false
+ tk.MustExec("set @@global.tidb_ddl_enable_fast_reorg = 1;")
+ tk.MustExec("set @@global.tidb_enable_mutation_checker = 1;")
+ tk.MustExec("set @@global.tidb_txn_assertion_level = 'STRICT';")
+
+ var checkErrs []error
+ originHook := dom.DDL().GetHook()
+ callback := &ddl.TestDDLCallback{
+ Do: dom,
+ }
+ onJobUpdatedBefore := func(job *model.Job) {
+ if job.SchemaState == model.StateDeleteOnly {
+ for _, sql := range updateSQLs {
+ _, err := tk2.Exec(sql)
+ if err != nil {
+ checkErrs = append(checkErrs, err)
+ }
+ }
+ }
+ }
+ callback.OnJobUpdatedExported.Store(&onJobUpdatedBefore)
+ dom.DDL().SetHook(callback)
+ tk.MustExec("alter table t add index idx(b);")
+ dom.DDL().SetHook(originHook)
+ for _, err := range checkErrs {
+ require.NoError(t, err)
+ }
+ tk.MustExec("admin check table t;")
+}
+
+func TestAddIndexMergeConflictWithPessimistic(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk2 := testkit.NewTestKit(t, store)
+ tk2.MustExec("use test")
+ tk.MustExec(`CREATE TABLE t (id int primary key, a int);`)
+ tk.MustExec(`INSERT INTO t VALUES (1, 1);`)
+
+ // Force onCreateIndex use the txn-merge process.
+ ingest.LitInitialized = false
+ tk.MustExec("set @@global.tidb_ddl_enable_fast_reorg = 1;")
+ tk.MustExec("set @@global.tidb_enable_metadata_lock = 0;")
+
+ originHook := dom.DDL().GetHook()
+ callback := &ddl.TestDDLCallback{Do: dom}
+
+ runPessimisticTxn := false
+ callback.OnJobRunBeforeExported = func(job *model.Job) {
+ if t.Failed() {
+ return
+ }
+ if job.SchemaState == model.StateWriteOnly {
+ // Write a record to the temp index.
+ _, err := tk2.Exec("update t set a = 2 where id = 1;")
+ assert.NoError(t, err)
+ }
+ if !runPessimisticTxn && job.SchemaState == model.StateWriteReorganization {
+ idx := findIdxInfo(dom, "test", "t", "idx")
+ if idx == nil {
+ return
+ }
+ if idx.BackfillState != model.BackfillStateReadyToMerge {
+ return
+ }
+ runPessimisticTxn = true
+ _, err := tk2.Exec("begin pessimistic;")
+ assert.NoError(t, err)
+ _, err = tk2.Exec("update t set a = 3 where id = 1;")
+ assert.NoError(t, err)
+ }
+ }
+ dom.DDL().SetHook(callback)
+ afterCommit := make(chan struct{}, 1)
+ go func() {
+ tk.MustExec("alter table t add index idx(a);")
+ afterCommit <- struct{}{}
+ }()
+ timer := time.NewTimer(300 * time.Millisecond)
+ select {
+ case <-timer.C:
+ break
+ case <-afterCommit:
+ require.Fail(t, "should be blocked by the pessimistic txn")
+ }
+ tk2.MustExec("rollback;")
+ <-afterCommit
+ dom.DDL().SetHook(originHook)
+ tk.MustExec("admin check table t;")
+ tk.MustQuery("select * from t;").Check(testkit.Rows("1 2"))
}
diff --git a/ddl/ingest/BUILD.bazel b/ddl/ingest/BUILD.bazel
index 3fd286e450b25..962ae4da35637 100644
--- a/ddl/ingest/BUILD.bazel
+++ b/ddl/ingest/BUILD.bazel
@@ -33,13 +33,13 @@ go_library(
"//sessionctx/variable",
"//table",
"//util",
+ "//util/dbterror",
"//util/generic",
"//util/logutil",
"//util/mathutil",
"//util/size",
"@com_github_google_uuid//:uuid",
"@com_github_pingcap_errors//:errors",
- "@com_github_pkg_errors//:errors",
"@org_uber_go_zap//:zap",
],
)
diff --git a/ddl/ingest/backend.go b/ddl/ingest/backend.go
index 63034f0be3a22..26344359dd6b9 100644
--- a/ddl/ingest/backend.go
+++ b/ddl/ingest/backend.go
@@ -17,13 +17,13 @@ package ingest
import (
"context"
- "github.com/pingcap/errors"
"github.com/pingcap/tidb/br/pkg/lightning/backend"
"github.com/pingcap/tidb/br/pkg/lightning/backend/kv"
"github.com/pingcap/tidb/br/pkg/lightning/config"
tikv "github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/table"
+ "github.com/pingcap/tidb/util/dbterror"
"github.com/pingcap/tidb/util/logutil"
"go.uber.org/zap"
)
@@ -45,7 +45,7 @@ type BackendContext struct {
func (bc *BackendContext) FinishImport(indexID int64, unique bool, tbl table.Table) error {
ei, exist := bc.EngMgr.Load(indexID)
if !exist {
- return errors.New(LitErrGetEngineFail)
+ return dbterror.ErrIngestFailed.FastGenByArgs("ingest engine not found")
}
err := ei.ImportAndClean()
@@ -63,7 +63,7 @@ func (bc *BackendContext) FinishImport(indexID int64, unique bool, tbl table.Tab
if err != nil {
logutil.BgLogger().Error(LitInfoRemoteDupCheck, zap.Error(err),
zap.String("table", tbl.Meta().Name.O), zap.Int64("index ID", indexID))
- return errors.New(LitInfoRemoteDupCheck)
+ return err
} else if hasDupe {
logutil.BgLogger().Error(LitErrRemoteDupExistErr,
zap.String("table", tbl.Meta().Name.O), zap.Int64("index ID", indexID))
@@ -80,7 +80,7 @@ func (bc *BackendContext) Flush(indexID int64) error {
ei, exist := bc.EngMgr.Load(indexID)
if !exist {
logutil.BgLogger().Error(LitErrGetEngineFail, zap.Int64("index ID", indexID))
- return errors.New(LitErrGetEngineFail)
+ return dbterror.ErrIngestFailed.FastGenByArgs("ingest engine not found")
}
err := bc.diskRoot.UpdateUsageAndQuota()
diff --git a/ddl/ingest/config.go b/ddl/ingest/config.go
index 3a96e8ae5201b..e9c1458b1ab0a 100644
--- a/ddl/ingest/config.go
+++ b/ddl/ingest/config.go
@@ -16,6 +16,7 @@ package ingest
import (
"path/filepath"
+ "sync/atomic"
"github.com/pingcap/tidb/br/pkg/lightning/backend"
"github.com/pingcap/tidb/br/pkg/lightning/checkpoints"
@@ -26,12 +27,18 @@ import (
"go.uber.org/zap"
)
+// ImporterRangeConcurrencyForTest is only used for test.
+var ImporterRangeConcurrencyForTest *atomic.Int32
+
func generateLightningConfig(memRoot MemRoot, jobID int64, unique bool) (*config.Config, error) {
tidbCfg := tidbconf.GetGlobalConfig()
cfg := config.NewConfig()
cfg.TikvImporter.Backend = config.BackendLocal
// Each backend will build a single dir in lightning dir.
cfg.TikvImporter.SortedKVDir = filepath.Join(LitSortPath, encodeBackendTag(jobID))
+ if ImporterRangeConcurrencyForTest != nil {
+ cfg.TikvImporter.RangeConcurrency = int(ImporterRangeConcurrencyForTest.Load())
+ }
_, err := cfg.AdjustCommon()
if err != nil {
logutil.BgLogger().Warn(LitWarnConfigError, zap.Error(err))
diff --git a/ddl/ingest/disk_root.go b/ddl/ingest/disk_root.go
index c1c98f3fe681a..445115333edd1 100644
--- a/ddl/ingest/disk_root.go
+++ b/ddl/ingest/disk_root.go
@@ -15,7 +15,6 @@
package ingest
import (
- "github.com/pingcap/errors"
lcom "github.com/pingcap/tidb/br/pkg/lightning/common"
"github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/util/logutil"
@@ -64,7 +63,7 @@ func (d *diskRootImpl) UpdateUsageAndQuota() error {
sz, err := lcom.GetStorageSize(d.path)
if err != nil {
logutil.BgLogger().Error(LitErrGetStorageQuota, zap.Error(err))
- return errors.New(LitErrGetStorageQuota)
+ return err
}
d.maxQuota = mathutil.Min(variable.DDLDiskQuota.Load(), uint64(capacityThreshold*float64(sz.Capacity)))
return nil
diff --git a/ddl/ingest/engine.go b/ddl/ingest/engine.go
index d875d78e346d0..c7ed29a71d017 100644
--- a/ddl/ingest/engine.go
+++ b/ddl/ingest/engine.go
@@ -25,7 +25,6 @@ import (
"github.com/pingcap/tidb/br/pkg/lightning/config"
"github.com/pingcap/tidb/util/generic"
"github.com/pingcap/tidb/util/logutil"
- "github.com/pkg/errors"
"go.uber.org/zap"
)
@@ -83,6 +82,11 @@ func (ei *engineInfo) Clean() {
zap.Int64("job ID", ei.jobID), zap.Int64("index ID", ei.indexID))
}
ei.openedEngine = nil
+ err = ei.closeWriters()
+ if err != nil {
+ logutil.BgLogger().Error(LitErrCloseWriterErr, zap.Error(err),
+ zap.Int64("job ID", ei.jobID), zap.Int64("index ID", ei.indexID))
+ }
// Here the local intermediate files will be removed.
err = closedEngine.Cleanup(ei.ctx)
if err != nil {
@@ -99,11 +103,17 @@ func (ei *engineInfo) ImportAndClean() error {
if err1 != nil {
logutil.BgLogger().Error(LitErrCloseEngineErr, zap.Error(err1),
zap.Int64("job ID", ei.jobID), zap.Int64("index ID", ei.indexID))
- return errors.New(LitErrCloseEngineErr)
+ return err1
}
ei.openedEngine = nil
+ err := ei.closeWriters()
+ if err != nil {
+ logutil.BgLogger().Error(LitErrCloseWriterErr, zap.Error(err),
+ zap.Int64("job ID", ei.jobID), zap.Int64("index ID", ei.indexID))
+ return err
+ }
- err := ei.diskRoot.UpdateUsageAndQuota()
+ err = ei.diskRoot.UpdateUsageAndQuota()
if err != nil {
logutil.BgLogger().Error(LitErrUpdateDiskStats, zap.Error(err),
zap.Int64("job ID", ei.jobID), zap.Int64("index ID", ei.indexID))
@@ -118,7 +128,7 @@ func (ei *engineInfo) ImportAndClean() error {
if err != nil {
logutil.BgLogger().Error(LitErrIngestDataErr, zap.Error(err),
zap.Int64("job ID", ei.jobID), zap.Int64("index ID", ei.indexID))
- return errors.New(LitErrIngestDataErr)
+ return err
}
// Clean up the engine local workspace.
@@ -126,7 +136,7 @@ func (ei *engineInfo) ImportAndClean() error {
if err != nil {
logutil.BgLogger().Error(LitErrCloseEngineErr, zap.Error(err),
zap.Int64("job ID", ei.jobID), zap.Int64("index ID", ei.indexID))
- return errors.New(LitErrCloseEngineErr)
+ return err
}
return nil
}
@@ -182,6 +192,22 @@ func (ei *engineInfo) newWriterContext(workerID int) (*WriterContext, error) {
}, nil
}
+func (ei *engineInfo) closeWriters() error {
+ var firstErr error
+ for wid := range ei.writerCache.Keys() {
+ if w, ok := ei.writerCache.Load(wid); ok {
+ _, err := w.Close(ei.ctx)
+ if err != nil {
+ if firstErr == nil {
+ firstErr = err
+ }
+ }
+ }
+ ei.writerCache.Delete(wid)
+ }
+ return firstErr
+}
+
// WriteRow Write one row into local writer buffer.
func (wCtx *WriterContext) WriteRow(key, idxVal []byte) error {
kvs := make([]common.KvPair, 1)
diff --git a/ddl/ingest/engine_mgr.go b/ddl/ingest/engine_mgr.go
index 44ecff9941932..f9b006ec9e369 100644
--- a/ddl/ingest/engine_mgr.go
+++ b/ddl/ingest/engine_mgr.go
@@ -18,7 +18,7 @@ import (
"fmt"
"github.com/pingcap/errors"
- "github.com/pingcap/tidb/parser/model"
+ "github.com/pingcap/tidb/util/dbterror"
"github.com/pingcap/tidb/util/generic"
"github.com/pingcap/tidb/util/logutil"
"go.uber.org/zap"
@@ -37,7 +37,7 @@ func (m *engineManager) init(memRoot MemRoot, diskRoot DiskRoot) {
}
// Register create a new engineInfo and register it to the engineManager.
-func (m *engineManager) Register(bc *BackendContext, job *model.Job, indexID int64) (*engineInfo, error) {
+func (m *engineManager) Register(bc *BackendContext, jobID, indexID int64, schemaName, tableName string) (*engineInfo, error) {
// Calculate lightning concurrency degree and set memory usage
// and pre-allocate memory usage for worker.
m.MemRoot.RefreshConsumption()
@@ -55,29 +55,31 @@ func (m *engineManager) Register(bc *BackendContext, job *model.Job, indexID int
return nil, genEngineAllocMemFailedErr(m.MemRoot, bc.jobID, indexID)
}
- cfg := generateLocalEngineConfig(job.ID, job.SchemaName, job.TableName)
- openedEn, err := bc.backend.OpenEngine(bc.ctx, cfg, job.TableName, int32(indexID))
+ cfg := generateLocalEngineConfig(jobID, schemaName, tableName)
+ openedEn, err := bc.backend.OpenEngine(bc.ctx, cfg, tableName, int32(indexID))
if err != nil {
- return nil, errors.New(LitErrCreateEngineFail)
+ logutil.BgLogger().Warn(LitErrCreateEngineFail, zap.Int64("job ID", jobID),
+ zap.Int64("index ID", indexID), zap.Error(err))
+ return nil, errors.Trace(err)
}
id := openedEn.GetEngineUUID()
- en = NewEngineInfo(bc.ctx, job.ID, indexID, cfg, openedEn, id, 1, m.MemRoot, m.DiskRoot)
+ en = NewEngineInfo(bc.ctx, jobID, indexID, cfg, openedEn, id, 1, m.MemRoot, m.DiskRoot)
m.Store(indexID, en)
m.MemRoot.Consume(StructSizeEngineInfo)
- m.MemRoot.ConsumeWithTag(encodeEngineTag(job.ID, indexID), engineCacheSize)
+ m.MemRoot.ConsumeWithTag(encodeEngineTag(jobID, indexID), engineCacheSize)
info = LitInfoOpenEngine
} else {
if en.writerCount+1 > bc.cfg.TikvImporter.RangeConcurrency {
- logutil.BgLogger().Warn(LitErrExceedConcurrency, zap.Int64("job ID", job.ID),
+ logutil.BgLogger().Warn(LitErrExceedConcurrency, zap.Int64("job ID", jobID),
zap.Int64("index ID", indexID),
zap.Int("concurrency", bc.cfg.TikvImporter.RangeConcurrency))
- return nil, errors.New(LitErrExceedConcurrency)
+ return nil, dbterror.ErrIngestFailed.FastGenByArgs("concurrency quota exceeded")
}
en.writerCount++
info = LitInfoAddWriter
}
- m.MemRoot.ConsumeWithTag(encodeEngineTag(job.ID, indexID), int64(bc.cfg.TikvImporter.LocalWriterMemCacheSize))
- logutil.BgLogger().Info(info, zap.Int64("job ID", job.ID),
+ m.MemRoot.ConsumeWithTag(encodeEngineTag(jobID, indexID), int64(bc.cfg.TikvImporter.LocalWriterMemCacheSize))
+ logutil.BgLogger().Info(info, zap.Int64("job ID", jobID),
zap.Int64("index ID", indexID),
zap.Int64("current memory usage", m.MemRoot.CurrentUsage()),
zap.Int64("memory limitation", m.MemRoot.MaxMemoryQuota()),
@@ -99,6 +101,20 @@ func (m *engineManager) Unregister(jobID, indexID int64) {
m.MemRoot.Release(StructSizeEngineInfo)
}
+// ResetWorkers reset the writer count of the engineInfo because
+// the goroutines of backfill workers have been terminated.
+func (m *engineManager) ResetWorkers(bc *BackendContext, jobID, indexID int64) {
+ ei, exist := m.Load(indexID)
+ if !exist {
+ return
+ }
+ m.MemRoot.Release(StructSizeWriterCtx * int64(ei.writerCount))
+ m.MemRoot.ReleaseWithTag(encodeEngineTag(jobID, indexID))
+ engineCacheSize := int64(bc.cfg.TikvImporter.EngineMemCacheSize)
+ m.MemRoot.ConsumeWithTag(encodeEngineTag(jobID, indexID), engineCacheSize)
+ ei.writerCount = 0
+}
+
// UnregisterAll delete all engineInfo from the engineManager.
func (m *engineManager) UnregisterAll(jobID int64) {
for _, idxID := range m.Keys() {
diff --git a/ddl/ingest/env.go b/ddl/ingest/env.go
index 185f873b820a4..864cc61ae4e02 100644
--- a/ddl/ingest/env.go
+++ b/ddl/ingest/env.go
@@ -47,6 +47,14 @@ const maxMemoryQuota = 2 * size.GB
// InitGlobalLightningEnv initialize Lightning backfill environment.
func InitGlobalLightningEnv() {
log.SetAppLogger(logutil.BgLogger())
+ globalCfg := config.GetGlobalConfig()
+ if globalCfg.Store != "tikv" {
+ logutil.BgLogger().Warn(LitWarnEnvInitFail,
+ zap.String("storage limitation", "only support TiKV storage"),
+ zap.String("current storage", globalCfg.Store),
+ zap.Bool("lightning is initialized", LitInitialized))
+ return
+ }
sPath, err := genLightningDataDir()
if err != nil {
logutil.BgLogger().Warn(LitWarnEnvInitFail, zap.Error(err),
@@ -102,8 +110,5 @@ func genLightningDataDir() (string, error) {
return sortPath, nil
}
-// GenRLimitForTest is only used for test.
-var GenRLimitForTest = util.GenRLimit()
-
// GenLightningDataDirForTest is only used for test.
var GenLightningDataDirForTest = genLightningDataDir
diff --git a/ddl/ingest/mem_root.go b/ddl/ingest/mem_root.go
index a36d934c0abcd..522e5ddc1f7cc 100644
--- a/ddl/ingest/mem_root.go
+++ b/ddl/ingest/mem_root.go
@@ -122,7 +122,7 @@ func (m *memRootImpl) ConsumeWithTag(tag string, size int64) {
m.structSize[tag] = size
}
-// TestConsume implements MemRoot.
+// CheckConsume implements MemRoot.
func (m *memRootImpl) CheckConsume(size int64) bool {
m.mu.RLock()
defer m.mu.RUnlock()
diff --git a/ddl/ingest/message.go b/ddl/ingest/message.go
index 3858d40ec4e0a..4996aab49a415 100644
--- a/ddl/ingest/message.go
+++ b/ddl/ingest/message.go
@@ -15,7 +15,7 @@
package ingest
import (
- "github.com/pingcap/errors"
+ "github.com/pingcap/tidb/util/dbterror"
"github.com/pingcap/tidb/util/logutil"
"go.uber.org/zap"
)
@@ -23,28 +23,26 @@ import (
// Message const text
const (
LitErrAllocMemFail string = "[ddl-ingest] allocate memory failed"
- LitErrOutMaxMem string = "[ddl-ingest] memory used up for lightning add index"
- LitErrCreateDirFail string = "[ddl-ingest] create lightning sort path error"
- LitErrStatDirFail string = "[ddl-ingest] stat lightning sort path error"
- LitErrDeleteDirFail string = "[ddl-ingest] delete lightning sort path error"
- LitErrCreateBackendFail string = "[ddl-ingest] build lightning backend failed, will use kernel index reorg method to backfill the index"
- LitErrGetBackendFail string = "[ddl-ingest]: Can not get cached backend"
- LitErrCreateEngineFail string = "[ddl-ingest] build lightning engine failed, will use kernel index reorg method to backfill the index"
- LitErrCreateContextFail string = "[ddl-ingest] build lightning worker context failed, will use kernel index reorg method to backfill the index"
- LitErrGetEngineFail string = "[ddl-ingest] can not get cached engine info"
+ LitErrCreateDirFail string = "[ddl-ingest] create ingest sort path error"
+ LitErrStatDirFail string = "[ddl-ingest] stat ingest sort path error"
+ LitErrDeleteDirFail string = "[ddl-ingest] delete ingest sort path error"
+ LitErrCreateBackendFail string = "[ddl-ingest] build ingest backend failed"
+ LitErrGetBackendFail string = "[ddl-ingest] cannot get ingest backend"
+ LitErrCreateEngineFail string = "[ddl-ingest] build ingest engine failed"
+ LitErrCreateContextFail string = "[ddl-ingest] build ingest writer context failed"
+ LitErrGetEngineFail string = "[ddl-ingest] can not get ingest engine info"
LitErrGetStorageQuota string = "[ddl-ingest] get storage quota error"
LitErrCloseEngineErr string = "[ddl-ingest] close engine error"
LitErrCleanEngineErr string = "[ddl-ingest] clean engine error"
LitErrFlushEngineErr string = "[ddl-ingest] flush engine data err"
LitErrIngestDataErr string = "[ddl-ingest] ingest data into storage error"
LitErrRemoteDupExistErr string = "[ddl-ingest] remote duplicate index key exist"
- LitErrExceedConcurrency string = "[ddl-ingest] the concurrency is greater than lightning limit(tikv-importer.range-concurrency)"
+ LitErrExceedConcurrency string = "[ddl-ingest] the concurrency is greater than ingest limit"
LitErrUpdateDiskStats string = "[ddl-ingest] update disk usage error"
LitWarnEnvInitFail string = "[ddl-ingest] initialize environment failed"
LitWarnConfigError string = "[ddl-ingest] build config for backend failed"
- LitWarnGenMemLimit string = "[ddl-ingest] generate memory max limitation"
- LitInfoEnvInitSucc string = "[ddl-ingest] init global lightning backend environment finished"
- LitInfoSortDir string = "[ddl-ingest] the lightning sorted dir"
+ LitInfoEnvInitSucc string = "[ddl-ingest] init global ingest backend environment finished"
+ LitInfoSortDir string = "[ddl-ingest] the ingest sorted directory"
LitInfoCreateBackend string = "[ddl-ingest] create one backend for an DDL job"
LitInfoCloseBackend string = "[ddl-ingest] close one backend for DDL job"
LitInfoOpenEngine string = "[ddl-ingest] open an engine for index reorg task"
@@ -53,17 +51,17 @@ const (
LitInfoCloseEngine string = "[ddl-ingest] flush all writer and get closed engine"
LitInfoRemoteDupCheck string = "[ddl-ingest] start remote duplicate checking"
LitInfoStartImport string = "[ddl-ingest] start to import data"
- LitInfoSetMemLimit string = "[ddl-ingest] set max memory limitation"
- LitInfoChgMemSetting string = "[ddl-ingest] change memory setting for lightning"
- LitInfoInitMemSetting string = "[ddl-ingest] initial memory setting for lightning"
+ LitInfoChgMemSetting string = "[ddl-ingest] change memory setting for ingest"
+ LitInfoInitMemSetting string = "[ddl-ingest] initial memory setting for ingest"
LitInfoUnsafeImport string = "[ddl-ingest] do a partial import data into the storage"
+ LitErrCloseWriterErr string = "[ddl-ingest] close writer error"
)
func genBackendAllocMemFailedErr(memRoot MemRoot, jobID int64) error {
logutil.BgLogger().Warn(LitErrAllocMemFail, zap.Int64("job ID", jobID),
zap.Int64("current memory usage", memRoot.CurrentUsage()),
zap.Int64("max memory quota", memRoot.MaxMemoryQuota()))
- return errors.New(LitErrOutMaxMem)
+ return dbterror.ErrIngestFailed.FastGenByArgs("memory used up")
}
func genEngineAllocMemFailedErr(memRoot MemRoot, jobID, idxID int64) error {
@@ -71,5 +69,5 @@ func genEngineAllocMemFailedErr(memRoot MemRoot, jobID, idxID int64) error {
zap.Int64("index ID", idxID),
zap.Int64("current memory usage", memRoot.CurrentUsage()),
zap.Int64("max memory quota", memRoot.MaxMemoryQuota()))
- return errors.New(LitErrOutMaxMem)
+ return dbterror.ErrIngestFailed.FastGenByArgs("memory used up")
}
diff --git a/ddl/job_table.go b/ddl/job_table.go
index d23f083539e87..740bb5c0b7da1 100644
--- a/ddl/job_table.go
+++ b/ddl/job_table.go
@@ -31,6 +31,7 @@ import (
"github.com/pingcap/tidb/metrics"
"github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/sessionctx/variable"
+ "github.com/pingcap/tidb/util/dbterror"
"github.com/pingcap/tidb/util/logutil"
clientv3 "go.etcd.io/etcd/client/v3"
"go.uber.org/zap"
@@ -67,7 +68,7 @@ func (dc *ddlCtx) excludeJobIDs() string {
}
const (
- getJobSQL = "select job_meta, processing from mysql.tidb_ddl_job where job_id in (select min(job_id) from mysql.tidb_ddl_job group by schema_ids, table_ids) and %s reorg %s order by processing desc, job_id"
+ getJobSQL = "select job_meta, processing from mysql.tidb_ddl_job where job_id in (select min(job_id) from mysql.tidb_ddl_job group by schema_ids, table_ids, processing) and %s reorg %s order by processing desc, job_id"
)
type jobType int
@@ -173,7 +174,7 @@ func (d *ddl) startDispatchLoop() {
if isChanClosed(d.ctx.Done()) {
return
}
- if !variable.EnableConcurrentDDL.Load() || !d.isOwner() || d.waiting.Load() {
+ if !d.isOwner() || d.waiting.Load() {
d.once.Store(true)
time.Sleep(time.Second)
continue
@@ -236,7 +237,7 @@ func (d *ddl) delivery2worker(wk *worker, pool *workerPool, job *model.Job) {
// check if this ddl job is synced to all servers.
if !d.isSynced(job) || d.once.Load() {
if variable.EnableMDL.Load() {
- exist, err := checkMDLInfo(job.ID, d.sessPool)
+ exist, version, err := checkMDLInfo(job.ID, d.sessPool)
if err != nil {
logutil.BgLogger().Warn("[ddl] check MDL info failed", zap.Error(err), zap.String("job", job.String()))
// Release the worker resource.
@@ -245,14 +246,12 @@ func (d *ddl) delivery2worker(wk *worker, pool *workerPool, job *model.Job) {
} else if exist {
// Release the worker resource.
pool.put(wk)
- err = waitSchemaSynced(d.ddlCtx, job, 2*d.lease)
+ err = waitSchemaSyncedForMDL(d.ddlCtx, job, version)
if err != nil {
- logutil.BgLogger().Warn("[ddl] wait ddl job sync failed", zap.Error(err), zap.String("job", job.String()))
- time.Sleep(time.Second)
return
}
d.once.Store(false)
- cleanMDLInfo(d.sessPool, job.ID)
+ cleanMDLInfo(d.sessPool, job.ID, d.etcdCli)
// Don't have a worker now.
return
}
@@ -287,7 +286,7 @@ func (d *ddl) delivery2worker(wk *worker, pool *workerPool, job *model.Job) {
// If the job is done or still running or rolling back, we will wait 2 * lease time to guarantee other servers to update
// the newest schema.
waitSchemaChanged(context.Background(), d.ddlCtx, d.lease*2, schemaVer, job)
- cleanMDLInfo(d.sessPool, job.ID)
+ cleanMDLInfo(d.sessPool, job.ID, d.etcdCli)
d.synced(job)
if RunInGoTest {
@@ -397,7 +396,8 @@ func updateDDLJob2Table(sctx *session, job *model.Job, updateRawArgs bool) error
// getDDLReorgHandle gets DDL reorg handle.
func getDDLReorgHandle(sess *session, job *model.Job) (element *meta.Element, startKey, endKey kv.Key, physicalTableID int64, err error) {
sql := fmt.Sprintf("select ele_id, ele_type, start_key, end_key, physical_id from mysql.tidb_ddl_reorg where job_id = %d", job.ID)
- rows, err := sess.execute(context.Background(), sql, "get_handle")
+ ctx := kv.WithInternalSourceType(context.Background(), getDDLRequestSource(job))
+ rows, err := sess.execute(ctx, sql, "get_handle")
if err != nil {
return nil, nil, nil, 0, err
}
@@ -496,134 +496,258 @@ func getJobsBySQL(sess *session, tbl, condition string) ([]*model.Job, error) {
return jobs, nil
}
-// MoveJobFromQueue2Table move existing DDLs in queue to table.
-func (d *ddl) MoveJobFromQueue2Table(inBootstrap bool) error {
- sess, err := d.sessPool.get()
+func generateInsertBackfillJobSQL(tableName string, backfillJobs []*BackfillJob) (string, error) {
+ sqlPrefix := fmt.Sprintf("insert into mysql.%s(id, ddl_job_id, ele_id, ele_key, store_id, type, exec_id, exec_lease, state, curr_key, start_key, end_key, start_ts, finish_ts, row_count, backfill_meta) values", tableName)
+ var sql string
+ for i, bj := range backfillJobs {
+ mateByte, err := bj.Meta.Encode()
+ if err != nil {
+ return "", errors.Trace(err)
+ }
+
+ if i == 0 {
+ sql = sqlPrefix + fmt.Sprintf("(%d, %d, %d, '%s', %d, %d, '%s', '%s', %d, '%s', '%s', '%s', %d, %d, %d, '%s')",
+ bj.ID, bj.JobID, bj.EleID, bj.EleKey, bj.StoreID, bj.Tp, bj.InstanceID, bj.InstanceLease, bj.State,
+ bj.CurrKey, bj.StartKey, bj.EndKey, bj.StartTS, bj.FinishTS, bj.RowCount, mateByte)
+ continue
+ }
+ sql += fmt.Sprintf(", (%d, %d, %d, '%s', %d, %d, '%s', '%s', %d, '%s', '%s', '%s', %d, %d, %d, '%s')",
+ bj.ID, bj.JobID, bj.EleID, bj.EleKey, bj.StoreID, bj.Tp, bj.InstanceID, bj.InstanceLease, bj.State,
+ bj.CurrKey, bj.StartKey, bj.EndKey, bj.StartTS, bj.FinishTS, bj.RowCount, mateByte)
+ }
+ return sql, nil
+}
+
+// AddBackfillHistoryJob adds the backfill jobs to the tidb_ddl_backfill_history table.
+func AddBackfillHistoryJob(sess *session, backfillJobs []*BackfillJob) error {
+ label := fmt.Sprintf("add_%s_job", BackfillHistoryTable)
+ sql, err := generateInsertBackfillJobSQL(BackfillHistoryTable, backfillJobs)
if err != nil {
return err
}
- defer d.sessPool.put(sess)
+ _, err = sess.execute(context.Background(), sql, label)
+ return errors.Trace(err)
+}
+
+// AddBackfillJobs adds the backfill jobs to the tidb_ddl_backfill table.
+func AddBackfillJobs(sess *session, backfillJobs []*BackfillJob) error {
+ label := fmt.Sprintf("add_%s_job", BackfillTable)
+ // Do runInTxn to get StartTS.
return runInTxn(newSession(sess), func(se *session) error {
txn, err := se.txn()
if err != nil {
return errors.Trace(err)
}
- t := meta.NewMeta(txn)
- isConcurrentDDL, err := t.IsConcurrentDDL()
- if !inBootstrap && (isConcurrentDDL || err != nil) {
- return errors.Trace(err)
- }
- systemDBID, err := t.GetSystemDBID()
- if err != nil {
- return errors.Trace(err)
- }
- for _, tp := range []workerType{addIdxWorker, generalWorker} {
- t := newMetaWithQueueTp(txn, tp)
- jobs, err := t.GetAllDDLJobsInQueue()
- if err != nil {
- return errors.Trace(err)
- }
- for _, job := range jobs {
- // In bootstrap, we can ignore the internal DDL.
- if inBootstrap && job.SchemaID == systemDBID {
- continue
- }
- err = insertDDLJobs2Table(se, false, job)
- if err != nil {
- return errors.Trace(err)
- }
- if tp == generalWorker {
- // General job do not have reorg info.
- continue
- }
- element, start, end, pid, err := t.GetDDLReorgHandle(job)
- if meta.ErrDDLReorgElementNotExist.Equal(err) {
- continue
- }
- if err != nil {
- return errors.Trace(err)
- }
- err = initDDLReorgHandle(se, job.ID, start, end, pid, element)
- if err != nil {
- return errors.Trace(err)
- }
- }
+ startTS := txn.StartTS()
+ for _, bj := range backfillJobs {
+ bj.StartTS = startTS
}
- if err = t.ClearALLDDLJob(); err != nil {
- return errors.Trace(err)
- }
- if err = t.ClearAllDDLReorgHandle(); err != nil {
- return errors.Trace(err)
+ sql, err := generateInsertBackfillJobSQL(BackfillTable, backfillJobs)
+ if err != nil {
+ return err
}
- return t.SetConcurrentDDL(true)
+ _, err = sess.execute(context.Background(), sql, label)
+ return errors.Trace(err)
})
}
-// MoveJobFromTable2Queue move existing DDLs in table to queue.
-func (d *ddl) MoveJobFromTable2Queue() error {
- sess, err := d.sessPool.get()
+func runInTxn(se *session, f func(*session) error) (err error) {
+ err = se.begin()
if err != nil {
return err
}
- defer d.sessPool.put(sess)
- return runInTxn(newSession(sess), func(se *session) error {
- txn, err := se.txn()
- if err != nil {
- return errors.Trace(err)
+ err = f(se)
+ if err != nil {
+ se.rollback()
+ return
+ }
+ return errors.Trace(se.commit())
+}
+
+// GetBackfillJobsForOneEle batch gets the backfill jobs in the tblName table that contains only one element.
+func GetBackfillJobsForOneEle(sess *session, batch int, excludedJobIDs []int64, lease time.Duration) ([]*BackfillJob, error) {
+ eJobIDsBuilder := strings.Builder{}
+ for i, id := range excludedJobIDs {
+ if i == 0 {
+ eJobIDsBuilder.WriteString(" and ddl_job_id not in (")
}
- t := meta.NewMeta(txn)
- isConcurrentDDL, err := t.IsConcurrentDDL()
- if !isConcurrentDDL || err != nil {
- return errors.Trace(err)
+ eJobIDsBuilder.WriteString(strconv.Itoa(int(id)))
+ if i == len(excludedJobIDs)-1 {
+ eJobIDsBuilder.WriteString(")")
+ } else {
+ eJobIDsBuilder.WriteString(", ")
}
- jobs, err := getJobsBySQL(se, "tidb_ddl_job", "1 order by job_id")
+ }
+
+ var err error
+ var bJobs []*BackfillJob
+ s := newSession(sess)
+ err = runInTxn(s, func(se *session) error {
+ currTime, err := GetOracleTimeWithStartTS(s)
if err != nil {
- return errors.Trace(err)
+ return err
}
- for _, job := range jobs {
- jobListKey := meta.DefaultJobListKey
- if job.MayNeedReorg() {
- jobListKey = meta.AddIndexJobListKey
- }
- if err := t.EnQueueDDLJobNoUpdate(job, jobListKey); err != nil {
- return errors.Trace(err)
- }
+ bJobs, err = GetBackfillJobs(sess, BackfillTable,
+ fmt.Sprintf("(exec_ID = '' or exec_lease < '%v') %s order by ddl_job_id, ele_key, ele_id limit %d",
+ currTime.Add(-lease), eJobIDsBuilder.String(), batch), "get_backfill_job")
+ return err
+ })
+ if err != nil || len(bJobs) == 0 {
+ return nil, err
+ }
+
+ validLen := 1
+ firstJobID, firstEleID, firstEleKey := bJobs[0].JobID, bJobs[0].EleID, bJobs[0].EleKey
+ for i := 1; i < len(bJobs); i++ {
+ if bJobs[i].JobID != firstJobID || bJobs[i].EleID != firstEleID || !bytes.Equal(bJobs[i].EleKey, firstEleKey) {
+ break
}
+ validLen++
+ }
+
+ return bJobs[:validLen], nil
+}
- reorgHandle, err := se.execute(context.Background(), "select job_id, start_key, end_key, physical_id, ele_id, ele_type from mysql.tidb_ddl_reorg", "get_handle")
+// GetAndMarkBackfillJobsForOneEle batch gets the backfill jobs in the tblName table that contains only one element,
+// and update these jobs with instance ID and lease.
+func GetAndMarkBackfillJobsForOneEle(sess *session, batch int, jobID int64, uuid string, lease time.Duration) ([]*BackfillJob, error) {
+ var validLen int
+ var bJobs []*BackfillJob
+ s := newSession(sess)
+ err := runInTxn(s, func(se *session) error {
+ currTime, err := GetOracleTimeWithStartTS(se)
if err != nil {
- return errors.Trace(err)
- }
- for _, row := range reorgHandle {
- if err := t.UpdateDDLReorgHandle(row.GetInt64(0), row.GetBytes(1), row.GetBytes(2), row.GetInt64(3), &meta.Element{ID: row.GetInt64(4), TypeKey: row.GetBytes(5)}); err != nil {
- return errors.Trace(err)
- }
+ return err
}
- // clean up these 2 tables.
- _, err = se.execute(context.Background(), "delete from mysql.tidb_ddl_job", "delete_old_ddl")
+ bJobs, err = GetBackfillJobs(sess, BackfillTable,
+ fmt.Sprintf("(exec_ID = '' or exec_lease < '%v') and ddl_job_id = %d order by ddl_job_id, ele_key, ele_id limit %d",
+ currTime.Add(-lease), jobID, batch), "get_mark_backfill_job")
if err != nil {
- return errors.Trace(err)
+ return err
}
- _, err = se.execute(context.Background(), "delete from mysql.tidb_ddl_reorg", "delete_old_reorg")
- if err != nil {
- return errors.Trace(err)
+ if len(bJobs) == 0 {
+ return dbterror.ErrDDLJobNotFound.FastGen("get zero backfill job")
}
- return t.SetConcurrentDDL(false)
+
+ validLen = 0
+ firstJobID, firstEleID, firstEleKey := bJobs[0].JobID, bJobs[0].EleID, bJobs[0].EleKey
+ for i := 0; i < len(bJobs); i++ {
+ if bJobs[i].JobID != firstJobID || bJobs[i].EleID != firstEleID || !bytes.Equal(bJobs[i].EleKey, firstEleKey) {
+ break
+ }
+ validLen++
+
+ bJobs[i].InstanceID = uuid
+ bJobs[i].InstanceLease = GetLeaseGoTime(currTime, lease)
+ // TODO: batch update
+ if err = updateBackfillJob(sess, BackfillTable, bJobs[i], "get_mark_backfill_job"); err != nil {
+ return err
+ }
+ }
+ return nil
})
+ if validLen == 0 {
+ return nil, err
+ }
+
+ return bJobs[:validLen], err
}
-func runInTxn(se *session, f func(*session) error) (err error) {
- err = se.begin()
+// GetInterruptedBackfillJobsForOneEle gets the interrupted backfill jobs in the tblName table that contains only one element.
+func GetInterruptedBackfillJobsForOneEle(sess *session, jobID, eleID int64, eleKey []byte) ([]*BackfillJob, error) {
+ bJobs, err := GetBackfillJobs(sess, BackfillTable, fmt.Sprintf("ddl_job_id = %d and ele_id = %d and ele_key = '%s' and (state = %d or state = %d)",
+ jobID, eleID, eleKey, model.JobStateRollingback, model.JobStateCancelling), "get_interrupt_backfill_job")
+ if err != nil || len(bJobs) == 0 {
+ return nil, err
+ }
+ return bJobs, nil
+}
+
+// GetBackfillJobCount gets the number of rows in the tblName table according to condition.
+func GetBackfillJobCount(sess *session, tblName, condition string, label string) (int, error) {
+ rows, err := sess.execute(context.Background(), fmt.Sprintf("select count(1) from mysql.%s where %s", tblName, condition), label)
if err != nil {
- return err
+ return 0, errors.Trace(err)
}
- err = f(se)
+ if len(rows) == 0 {
+ return 0, dbterror.ErrDDLJobNotFound.FastGenByArgs(fmt.Sprintf("get wrong result cnt:%d", len(rows)))
+ }
+
+ return int(rows[0].GetInt64(0)), nil
+}
+
+func getUnsyncedInstanceIDs(sess *session, jobID int64, label string) ([]string, error) {
+ sql := fmt.Sprintf("select sum(state = %d) as tmp, exec_id from mysql.tidb_ddl_backfill_history where ddl_job_id = %d group by exec_id having tmp = 0;",
+ model.JobStateSynced, jobID)
+ rows, err := sess.execute(context.Background(), sql, label)
if err != nil {
- se.rollback()
- return
+ return nil, errors.Trace(err)
}
- return errors.Trace(se.commit())
+ InstanceIDs := make([]string, 0, len(rows))
+ for _, row := range rows {
+ InstanceID := row.GetString(1)
+ InstanceIDs = append(InstanceIDs, InstanceID)
+ }
+ return InstanceIDs, nil
+}
+
+// GetBackfillJobs gets the backfill jobs in the tblName table according to condition.
+func GetBackfillJobs(sess *session, tblName, condition string, label string) ([]*BackfillJob, error) {
+ rows, err := sess.execute(context.Background(), fmt.Sprintf("select * from mysql.%s where %s", tblName, condition), label)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ bJobs := make([]*BackfillJob, 0, len(rows))
+ for _, row := range rows {
+ bfJob := BackfillJob{
+ ID: row.GetInt64(0),
+ JobID: row.GetInt64(1),
+ EleID: row.GetInt64(2),
+ EleKey: row.GetBytes(3),
+ StoreID: row.GetInt64(4),
+ Tp: backfillerType(row.GetInt64(5)),
+ InstanceID: row.GetString(6),
+ InstanceLease: row.GetTime(7),
+ State: model.JobState(row.GetInt64(8)),
+ CurrKey: row.GetBytes(9),
+ StartKey: row.GetBytes(10),
+ EndKey: row.GetBytes(11),
+ StartTS: row.GetUint64(12),
+ FinishTS: row.GetUint64(13),
+ RowCount: row.GetInt64(14),
+ }
+ bfJob.Meta = &model.BackfillMeta{}
+ err = bfJob.Meta.Decode(row.GetBytes(15))
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ bJobs = append(bJobs, &bfJob)
+ }
+ return bJobs, nil
+}
+
+// RemoveBackfillJob removes the backfill jobs from the tidb_ddl_backfill table.
+// If isOneEle is true, removes all jobs with backfillJob's ddl_job_id, ele_id and ele_key. Otherwise, removes the backfillJob.
+func RemoveBackfillJob(sess *session, isOneEle bool, backfillJob *BackfillJob) error {
+ sql := fmt.Sprintf("delete from mysql.tidb_ddl_backfill where ddl_job_id = %d and ele_id = %d and ele_key = '%s'",
+ backfillJob.JobID, backfillJob.EleID, backfillJob.EleKey)
+ if !isOneEle {
+ sql += fmt.Sprintf(" and id = %d", backfillJob.ID)
+ }
+ _, err := sess.execute(context.Background(), sql, "remove_backfill_job")
+ return err
+}
+
+func updateBackfillJob(sess *session, tableName string, backfillJob *BackfillJob, label string) error {
+ mate, err := backfillJob.Meta.Encode()
+ if err != nil {
+ return err
+ }
+ sql := fmt.Sprintf("update mysql.%s set exec_id = '%s', exec_lease = '%s', state = %d, backfill_meta = '%s' where ddl_job_id = %d and ele_id = %d and ele_key = '%s' and id = %d",
+ tableName, backfillJob.InstanceID, backfillJob.InstanceLease, backfillJob.State, mate, backfillJob.JobID, backfillJob.EleID, backfillJob.EleKey, backfillJob.ID)
+ _, err = sess.execute(context.Background(), sql, label)
+ return err
}
diff --git a/ddl/job_table_test.go b/ddl/job_table_test.go
index 8f9e59ae31084..d869dcecc2c0e 100644
--- a/ddl/job_table_test.go
+++ b/ddl/job_table_test.go
@@ -15,16 +15,22 @@
package ddl_test
import (
+ "context"
+ "fmt"
"sync"
"testing"
"time"
"github.com/pingcap/failpoint"
"github.com/pingcap/tidb/ddl"
+ "github.com/pingcap/tidb/meta"
"github.com/pingcap/tidb/parser/model"
- "github.com/pingcap/tidb/sessionctx/variable"
+ "github.com/pingcap/tidb/sessionctx"
+ "github.com/pingcap/tidb/sessiontxn"
"github.com/pingcap/tidb/testkit"
+ "github.com/pingcap/tidb/types"
"github.com/pingcap/tidb/util"
+ "github.com/pingcap/tidb/util/dbterror"
"github.com/stretchr/testify/require"
"golang.org/x/exp/slices"
)
@@ -33,9 +39,6 @@ import (
// This test checks the chosen job records to see if there are wrong scheduling, if job A and job B cannot run concurrently,
// then the all the record of job A must before or after job B, no cross record between these 2 jobs should be in between.
func TestDDLScheduling(t *testing.T) {
- if !variable.EnableConcurrentDDL.Load() {
- t.Skipf("test requires concurrent ddl")
- }
store, dom := testkit.CreateMockStoreAndDomain(t)
tk := testkit.NewTestKit(t, store)
@@ -177,3 +180,363 @@ func check(t *testing.T, record []int64, ids ...int64) {
}
}
}
+
+func makeAddIdxBackfillJobs(schemaID, tblID, jobID, eleID int64, cnt int, query string) []*ddl.BackfillJob {
+ bJobs := make([]*ddl.BackfillJob, 0, cnt)
+ for i := 0; i < cnt; i++ {
+ sKey := []byte(fmt.Sprintf("%d", i))
+ eKey := []byte(fmt.Sprintf("%d", i+1))
+ bm := &model.BackfillMeta{
+ EndInclude: true,
+ JobMeta: &model.JobMeta{
+ SchemaID: schemaID,
+ TableID: tblID,
+ Query: query,
+ },
+ }
+ bj := &ddl.BackfillJob{
+ ID: int64(i),
+ JobID: jobID,
+ EleID: eleID,
+ EleKey: meta.IndexElementKey,
+ State: model.JobStateNone,
+ CurrKey: sKey,
+ StartKey: sKey,
+ EndKey: eKey,
+ Meta: bm,
+ }
+ bJobs = append(bJobs, bj)
+ }
+ return bJobs
+}
+
+func equalBackfillJob(t *testing.T, a, b *ddl.BackfillJob, lessTime types.Time) {
+ require.Equal(t, a.ID, b.ID)
+ require.Equal(t, a.JobID, b.JobID)
+ require.Equal(t, a.EleID, b.EleID)
+ require.Equal(t, a.EleKey, b.EleKey)
+ require.Equal(t, a.StoreID, b.StoreID)
+ require.Equal(t, a.InstanceID, b.InstanceID)
+ require.GreaterOrEqual(t, b.InstanceLease.Compare(lessTime), 0)
+ require.Equal(t, a.State, b.State)
+ require.Equal(t, a.Meta, b.Meta)
+}
+
+func getIdxConditionStr(jobID, eleID int64) string {
+ return fmt.Sprintf("ddl_job_id = %d and ele_id = %d and ele_key = '%s'",
+ jobID, eleID, meta.IndexElementKey)
+}
+
+func readInTxn(se sessionctx.Context, f func(sessionctx.Context)) (err error) {
+ err = sessiontxn.NewTxn(context.Background(), se)
+ if err != nil {
+ return err
+ }
+ f(se)
+ se.RollbackTxn(context.Background())
+ return nil
+}
+
+func TestSimpleExecBackfillJobs(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ d := dom.DDL()
+ se := ddl.NewSession(tk.Session())
+
+ jobID1 := int64(1)
+ jobID2 := int64(2)
+ eleID1 := int64(11)
+ eleID2 := int64(22)
+ eleID3 := int64(33)
+ uuid := d.GetID()
+ eleKey := meta.IndexElementKey
+ instanceLease := ddl.InstanceLease
+ // test no backfill job
+ bJobs, err := ddl.GetBackfillJobsForOneEle(se, 1, []int64{jobID1, jobID2}, instanceLease)
+ require.NoError(t, err)
+ require.Nil(t, bJobs)
+ bJobs, err = ddl.GetAndMarkBackfillJobsForOneEle(se, 1, jobID1, uuid, instanceLease)
+ require.EqualError(t, err, dbterror.ErrDDLJobNotFound.FastGen("get zero backfill job").Error())
+ require.Nil(t, bJobs)
+ allCnt, err := ddl.GetBackfillJobCount(se, ddl.BackfillTable, fmt.Sprintf("ddl_job_id = %d and ele_id = %d and ele_key = '%s'",
+ jobID1, eleID2, meta.IndexElementKey), "check_backfill_job_count")
+ require.NoError(t, err)
+ require.Equal(t, allCnt, 0)
+ // Test some backfill jobs, add backfill jobs to the table.
+ cnt := 2
+ bjTestCases := make([]*ddl.BackfillJob, 0, cnt*3)
+ bJobs1 := makeAddIdxBackfillJobs(1, 2, jobID1, eleID1, cnt, "alter table add index idx(a)")
+ bJobs2 := makeAddIdxBackfillJobs(1, 2, jobID2, eleID2, cnt, "alter table add index idx(b)")
+ bJobs3 := makeAddIdxBackfillJobs(1, 2, jobID2, eleID3, cnt, "alter table add index idx(c)")
+ bjTestCases = append(bjTestCases, bJobs1...)
+ bjTestCases = append(bjTestCases, bJobs2...)
+ bjTestCases = append(bjTestCases, bJobs3...)
+ err = ddl.AddBackfillJobs(se, bjTestCases)
+ // ID jobID eleID InstanceID
+ // -------------------------------------
+ // 0 jobID1 eleID1 uuid
+ // 1 jobID1 eleID1 ""
+ // 0 jobID2 eleID2 ""
+ // 1 jobID2 eleID2 ""
+ // 0 jobID2 eleID3 ""
+ // 1 jobID2 eleID3 ""
+ require.NoError(t, err)
+ // test get some backfill jobs
+ bJobs, err = ddl.GetBackfillJobsForOneEle(se, 1, []int64{jobID2 - 1, jobID2 + 1}, instanceLease)
+ require.NoError(t, err)
+ require.Len(t, bJobs, 1)
+ expectJob := bjTestCases[2]
+ if expectJob.ID != bJobs[0].ID {
+ expectJob = bjTestCases[3]
+ }
+ require.Equal(t, expectJob, bJobs[0])
+ previousTime, err := ddl.GetOracleTimeWithStartTS(se)
+ require.EqualError(t, err, "[kv:8024]invalid transaction")
+ readInTxn(se, func(sessionctx.Context) {
+ previousTime, err = ddl.GetOracleTimeWithStartTS(se)
+ require.NoError(t, err)
+ })
+
+ bJobs, err = ddl.GetAndMarkBackfillJobsForOneEle(se, 1, jobID2, uuid, instanceLease)
+ require.NoError(t, err)
+ require.Len(t, bJobs, 1)
+ expectJob = bjTestCases[2]
+ if expectJob.ID != bJobs[0].ID {
+ expectJob = bjTestCases[3]
+ }
+ expectJob.InstanceID = uuid
+ equalBackfillJob(t, expectJob, bJobs[0], ddl.GetLeaseGoTime(previousTime, instanceLease))
+ var currTime time.Time
+ readInTxn(se, func(sessionctx.Context) {
+ currTime, err = ddl.GetOracleTimeWithStartTS(se)
+ require.NoError(t, err)
+ })
+ currGoTime := ddl.GetLeaseGoTime(currTime, instanceLease)
+ require.GreaterOrEqual(t, currGoTime.Compare(bJobs[0].InstanceLease), 0)
+ allCnt, err = ddl.GetBackfillJobCount(se, ddl.BackfillTable, getIdxConditionStr(jobID2, eleID2), "test_get_bj")
+ require.NoError(t, err)
+ require.Equal(t, allCnt, cnt)
+
+ // remove a backfill job
+ err = ddl.RemoveBackfillJob(se, false, bJobs1[0])
+ // ID jobID eleID
+ // ------------------------
+ // 1 jobID1 eleID1
+ // 0 jobID2 eleID2
+ // 1 jobID2 eleID2
+ // 0 jobID2 eleID3
+ // 1 jobID2 eleID3
+ require.NoError(t, err)
+ allCnt, err = ddl.GetBackfillJobCount(se, ddl.BackfillTable, getIdxConditionStr(jobID1, eleID1), "test_get_bj")
+ require.NoError(t, err)
+ require.Equal(t, allCnt, 1)
+ allCnt, err = ddl.GetBackfillJobCount(se, ddl.BackfillTable, getIdxConditionStr(jobID2, eleID2), "test_get_bj")
+ require.NoError(t, err)
+ require.Equal(t, allCnt, cnt)
+ // remove all backfill jobs
+ err = ddl.RemoveBackfillJob(se, true, bJobs2[0])
+ // ID jobID eleID
+ // ------------------------
+ // 1 jobID1 eleID1
+ // 0 jobID2 eleID3
+ // 1 jobID2 eleID3
+ require.NoError(t, err)
+ allCnt, err = ddl.GetBackfillJobCount(se, ddl.BackfillTable, getIdxConditionStr(jobID1, eleID1), "test_get_bj")
+ require.NoError(t, err)
+ require.Equal(t, allCnt, 1)
+ allCnt, err = ddl.GetBackfillJobCount(se, ddl.BackfillTable, getIdxConditionStr(jobID2, eleID2), "test_get_bj")
+ require.NoError(t, err)
+ require.Equal(t, allCnt, 0)
+ // clean backfill job
+ err = ddl.RemoveBackfillJob(se, true, bJobs1[1])
+ require.NoError(t, err)
+ err = ddl.RemoveBackfillJob(se, true, bJobs3[0])
+ require.NoError(t, err)
+ // ID jobID eleID
+ // ------------------------
+
+ // test history backfill jobs
+ err = ddl.AddBackfillHistoryJob(se, []*ddl.BackfillJob{bJobs2[0]})
+ require.NoError(t, err)
+ // ID jobID eleID
+ // ------------------------
+ // 0 jobID2 eleID2
+ readInTxn(se, func(sessionctx.Context) {
+ currTime, err = ddl.GetOracleTimeWithStartTS(se)
+ require.NoError(t, err)
+ })
+ condition := fmt.Sprintf("exec_ID = '' or exec_lease < '%v' and ddl_job_id = %d order by ddl_job_id", currTime.Add(-instanceLease), jobID2)
+ bJobs, err = ddl.GetBackfillJobs(se, ddl.BackfillHistoryTable, condition, "test_get_bj")
+ require.NoError(t, err)
+ require.Len(t, bJobs, 1)
+ require.Equal(t, bJobs[0].FinishTS, uint64(0))
+
+ // test GetMaxBackfillJob and GetInterruptedBackfillJobsForOneEle
+ bjob, err := ddl.GetMaxBackfillJob(se, bJobs3[0].JobID, bJobs3[0].EleID, eleKey)
+ require.NoError(t, err)
+ require.Nil(t, bjob)
+ bJobs, err = ddl.GetInterruptedBackfillJobsForOneEle(se, jobID1, eleID1, eleKey)
+ require.NoError(t, err)
+ require.Nil(t, bJobs)
+ err = ddl.AddBackfillJobs(se, bjTestCases)
+ require.NoError(t, err)
+ // ID jobID eleID
+ // ------------------------
+ // 0 jobID1 eleID1
+ // 1 jobID1 eleID1
+ // 0 jobID2 eleID2
+ // 1 jobID2 eleID2
+ // 0 jobID2 eleID3
+ // 1 jobID2 eleID3
+ bjob, err = ddl.GetMaxBackfillJob(se, jobID2, eleID2, eleKey)
+ require.NoError(t, err)
+ require.Equal(t, bJobs2[1], bjob)
+ bJobs, err = ddl.GetInterruptedBackfillJobsForOneEle(se, jobID1, eleID1, eleKey)
+ require.NoError(t, err)
+ require.Nil(t, bJobs)
+ bJobs1[0].State = model.JobStateRollingback
+ bJobs1[0].ID = 2
+ bJobs1[0].InstanceID = uuid
+ bJobs1[1].State = model.JobStateCancelling
+ bJobs1[1].ID = 3
+ bJobs1[1].Meta.ErrMsg = "errMsg"
+ err = ddl.AddBackfillJobs(se, bJobs1)
+ require.NoError(t, err)
+ // ID jobID eleID state
+ // --------------------------------
+ // 0 jobID1 eleID1 JobStateNone
+ // 1 jobID1 eleID1 JobStateNone
+ // 0 jobID2 eleID2 JobStateNone
+ // 1 jobID2 eleID2 JobStateNone
+ // 0 jobID2 eleID3 JobStateNone
+ // 1 jobID2 eleID3 JobStateNone
+ // 2 jobID1 eleID1 JobStateRollingback
+ // 3 jobID1 eleID1 JobStateCancelling
+ bjob, err = ddl.GetMaxBackfillJob(se, jobID1, eleID1, eleKey)
+ require.NoError(t, err)
+ require.Equal(t, bJobs1[1], bjob)
+ bJobs, err = ddl.GetInterruptedBackfillJobsForOneEle(se, jobID1, eleID1, eleKey)
+ require.NoError(t, err)
+ require.Len(t, bJobs, 2)
+ equalBackfillJob(t, bJobs1[0], bJobs[0], types.ZeroTime)
+ equalBackfillJob(t, bJobs1[1], bJobs[1], types.ZeroTime)
+ // test the BackfillJob's AbbrStr
+ require.Equal(t, fmt.Sprintf("ID:2, JobID:1, EleID:11, Type:add index, State:rollingback, InstanceID:%s, InstanceLease:0000-00-00 00:00:00", uuid), bJobs1[0].AbbrStr())
+ require.Equal(t, "ID:3, JobID:1, EleID:11, Type:add index, State:cancelling, InstanceID:, InstanceLease:0000-00-00 00:00:00", bJobs1[1].AbbrStr())
+ require.Equal(t, "ID:0, JobID:2, EleID:33, Type:add index, State:none, InstanceID:, InstanceLease:0000-00-00 00:00:00", bJobs3[0].AbbrStr())
+ require.Equal(t, "ID:1, JobID:2, EleID:33, Type:add index, State:none, InstanceID:, InstanceLease:0000-00-00 00:00:00", bJobs3[1].AbbrStr())
+
+ bJobs1[0].State = model.JobStateNone
+ bJobs1[0].ID = 5
+ bJobs1[1].State = model.JobStateNone
+ bJobs1[1].ID = 4
+ err = ddl.AddBackfillHistoryJob(se, bJobs1)
+ // BackfillTable
+ // ID jobID eleID state
+ // --------------------------------
+ // 0 jobID1 eleID1 JobStateNone
+ // 1 jobID1 eleID1 JobStateNone
+ // 0 jobID2 eleID2 JobStateNone
+ // 1 jobID2 eleID2 JobStateNone
+ // 0 jobID2 eleID3 JobStateNone
+ // 1 jobID2 eleID3 JobStateNone
+ // 2 jobID1 eleID1 JobStateRollingback
+ // 3 jobID1 eleID1 JobStateCancelling
+ //
+ // BackfillHistoryTable
+ // ID jobID eleID state
+ // --------------------------------
+ // 5 jobID1 eleID1 JobStateNone
+ // 4 jobID1 eleID1 JobStateNone
+ bjob, err = ddl.GetMaxBackfillJob(se, jobID1, eleID1, eleKey)
+ require.NoError(t, err)
+ require.Equal(t, bJobs1[0], bjob)
+ bJobs1[0].ID = 6
+ bJobs1[1].ID = 7
+ err = ddl.AddBackfillJobs(se, bJobs1)
+ // BackfillTable
+ // ID jobID eleID state
+ // --------------------------------
+ // 0 jobID1 eleID1 JobStateNone
+ // 1 jobID1 eleID1 JobStateNone
+ // 0 jobID2 eleID2 JobStateNone
+ // 1 jobID2 eleID2 JobStateNone
+ // 0 jobID2 eleID3 JobStateNone
+ // 1 jobID2 eleID3 JobStateNone
+ // 2 jobID1 eleID1 JobStateRollingback
+ // 3 jobID1 eleID1 JobStateCancelling
+ // 6 jobID1 eleID1 JobStateNone
+ // 7 jobID1 eleID1 JobStateNone
+ //
+ // BackfillHistoryTable
+ // ID jobID eleID state
+ // --------------------------------
+ // 5 jobID1 eleID1 JobStateNone
+ // 4 jobID1 eleID1 JobStateNone
+ bjob, err = ddl.GetMaxBackfillJob(se, jobID1, eleID1, eleKey)
+ require.NoError(t, err)
+ require.Equal(t, bJobs1[1], bjob)
+
+ // test MoveBackfillJobsToHistoryTable
+ allCnt, err = ddl.GetBackfillJobCount(se, ddl.BackfillTable, getIdxConditionStr(jobID2, eleID3), "test_get_bj")
+ require.NoError(t, err)
+ require.Equal(t, allCnt, 2)
+ err = ddl.MoveBackfillJobsToHistoryTable(se, bJobs3[0])
+ require.NoError(t, err)
+ allCnt, err = ddl.GetBackfillJobCount(se, ddl.BackfillTable, getIdxConditionStr(jobID2, eleID3), "test_get_bj")
+ require.NoError(t, err)
+ require.Equal(t, allCnt, 0)
+ allCnt, err = ddl.GetBackfillJobCount(se, ddl.BackfillHistoryTable, getIdxConditionStr(jobID2, eleID3), "test_get_bj")
+ require.NoError(t, err)
+ require.Equal(t, allCnt, 2)
+ // BackfillTable
+ // ID jobID eleID state
+ // --------------------------------
+ // 0 jobID1 eleID1 JobStateNone
+ // 1 jobID1 eleID1 JobStateNone
+ // 0 jobID2 eleID2 JobStateNone
+ // 1 jobID2 eleID2 JobStateNone
+ // 2 jobID1 eleID1 JobStateRollingback
+ // 3 jobID1 eleID1 JobStateCancelling
+ // 6 jobID1 eleID1 JobStateNone
+ // 7 jobID1 eleID1 JobStateNone
+ //
+ // BackfillHistoryTable
+ // ID jobID eleID state
+ // --------------------------------
+ // 5 jobID1 eleID1 JobStateNone
+ // 4 jobID1 eleID1 JobStateNone
+ // 0 jobID2 eleID3 JobStateNone
+ // 1 jobID2 eleID3 JobStateNone
+ allCnt, err = ddl.GetBackfillJobCount(se, ddl.BackfillTable, getIdxConditionStr(jobID1, eleID1), "test_get_bj")
+ require.NoError(t, err)
+ require.Equal(t, allCnt, 6)
+ err = ddl.MoveBackfillJobsToHistoryTable(se, bJobs1[0])
+ require.NoError(t, err)
+ allCnt, err = ddl.GetBackfillJobCount(se, ddl.BackfillTable, getIdxConditionStr(jobID1, eleID1), "test_get_bj")
+ require.NoError(t, err)
+ require.Equal(t, allCnt, 0)
+ allCnt, err = ddl.GetBackfillJobCount(se, ddl.BackfillHistoryTable, getIdxConditionStr(jobID1, eleID1), "test_get_bj")
+ require.NoError(t, err)
+ require.Equal(t, allCnt, 8)
+ // BackfillTable
+ // ID jobID eleID state
+ // --------------------------------
+ // 0 jobID2 eleID2 JobStateNone
+ // 1 jobID2 eleID2 JobStateNone
+ //
+ // BackfillHistoryTable
+ // ID jobID eleID state
+ // --------------------------------
+ // 5 jobID1 eleID1 JobStateNone
+ // 4 jobID1 eleID1 JobStateNone
+ // 0 jobID2 eleID3 JobStateNone
+ // 1 jobID2 eleID3 JobStateNone
+ // 0 jobID1 eleID1 JobStateNone
+ // 1 jobID1 eleID1 JobStateNone
+ // 2 jobID1 eleID1 JobStateRollingback
+ // 3 jobID1 eleID1 JobStateCancelling
+ // 6 jobID1 eleID1 JobStateNone
+ // 7 jobID1 eleID1 JobStateNone
+}
diff --git a/ddl/main_test.go b/ddl/main_test.go
index 3418d16a23ece..6a8642ae34380 100644
--- a/ddl/main_test.go
+++ b/ddl/main_test.go
@@ -64,6 +64,8 @@ func TestMain(m *testing.M) {
goleak.IgnoreTopFunction("go.etcd.io/etcd/client/pkg/v3/logutil.(*MergeLogger).outputLoop"),
goleak.IgnoreTopFunction("github.com/tikv/client-go/v2/txnkv/transaction.keepAlive"),
goleak.IgnoreTopFunction("go.opencensus.io/stats/view.(*worker).start"),
+ goleak.IgnoreTopFunction("internal/poll.runtime_pollWait"),
+ goleak.IgnoreTopFunction("net/http.(*persistConn).writeLoop"),
}
goleak.VerifyTestMain(m, opts...)
diff --git a/ddl/metadatalocktest/mdl_test.go b/ddl/metadatalocktest/mdl_test.go
index d91bee7010013..fd307968cad73 100644
--- a/ddl/metadatalocktest/mdl_test.go
+++ b/ddl/metadatalocktest/mdl_test.go
@@ -257,6 +257,47 @@ func TestMDLBasicBatchPointGet(t *testing.T) {
require.Less(t, ts1, ts2)
}
+func TestMDLAddForeignKey(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ sv := server.CreateMockServer(t, store)
+
+ sv.SetDomain(dom)
+ dom.InfoSyncer().SetSessionManager(sv)
+ defer sv.Close()
+
+ conn1 := server.CreateMockConn(t, sv)
+ tk := testkit.NewTestKitWithSession(t, store, conn1.Context().Session)
+ conn2 := server.CreateMockConn(t, sv)
+ tkDDL := testkit.NewTestKitWithSession(t, store, conn2.Context().Session)
+ tk.MustExec("use test")
+ tk.MustExec("set global tidb_enable_metadata_lock=1")
+ tk.MustExec("create table t1(id int key);")
+ tk.MustExec("create table t2(id int key);")
+
+ tk.MustExec("begin")
+ tk.MustExec("insert into t2 values(1);")
+
+ var wg sync.WaitGroup
+ var ddlErr error
+ wg.Add(1)
+ var ts2 time.Time
+ go func() {
+ defer wg.Done()
+ ddlErr = tkDDL.ExecToErr("alter table test.t2 add foreign key (id) references t1(id)")
+ ts2 = time.Now()
+ }()
+
+ time.Sleep(2 * time.Second)
+
+ ts1 := time.Now()
+ tk.MustExec("commit")
+
+ wg.Wait()
+ require.Error(t, ddlErr)
+ require.Equal(t, "[ddl:1452]Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk_1` FOREIGN KEY (`id`) REFERENCES `t1` (`id`))", ddlErr.Error())
+ require.Less(t, ts1, ts2)
+}
+
func TestMDLRRUpdateSchema(t *testing.T) {
store, dom := testkit.CreateMockStoreAndDomain(t)
sv := server.CreateMockServer(t, store)
@@ -292,7 +333,7 @@ func TestMDLRRUpdateSchema(t *testing.T) {
// Modify column(reorg).
tk.MustExec("begin")
tkDDL.MustExec("alter table test.t modify column a char(10);")
- tk.MustGetErrCode("select * from t", mysql.ErrSchemaChanged)
+ tk.MustGetErrCode("select * from t", mysql.ErrInfoSchemaChanged)
tk.MustExec("commit")
tk.MustQuery("select * from t").Check(testkit.Rows("1 "))
@@ -1105,3 +1146,16 @@ func TestMDLRenameTable(t *testing.T) {
tk.MustGetErrCode("select * from test2.t1;", mysql.ErrNoSuchTable)
tk.MustExec("commit")
}
+
+func TestMDLPrepareFail(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+
+ tk := testkit.NewTestKit(t, store)
+ tk2 := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("create table t(a int);")
+ _, _, _, err := tk.Session().PrepareStmt("select b from t")
+ require.Error(t, err)
+
+ tk2.MustExec("alter table test.t add column c int")
+}
diff --git a/ddl/modify_column_test.go b/ddl/modify_column_test.go
index 10a9835bc8215..bd9c574970f71 100644
--- a/ddl/modify_column_test.go
+++ b/ddl/modify_column_test.go
@@ -50,6 +50,11 @@ func batchInsert(tk *testkit.TestKit, tbl string, start, end int) {
func TestModifyColumnReorgInfo(t *testing.T) {
store, dom := testkit.CreateMockStoreAndDomain(t)
+ originalTimeout := ddl.ReorgWaitTimeout
+ ddl.ReorgWaitTimeout = 10 * time.Millisecond
+ defer func() {
+ ddl.ReorgWaitTimeout = originalTimeout
+ }()
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
tk.MustExec("drop table if exists t1")
@@ -813,10 +818,7 @@ func TestModifyColumnTypeWithWarnings(t *testing.T) {
// 111.22 will be truncated the fraction .22 as .2 with truncated warning for each row.
tk.MustExec("alter table t modify column a decimal(4,1)")
// there should 4 rows of warnings corresponding to the origin rows.
- tk.MustQuery("show warnings").Check(testkit.Rows("Warning 1292 Truncated incorrect DECIMAL value: '111.22'",
- "Warning 1292 Truncated incorrect DECIMAL value: '111.22'",
- "Warning 1292 Truncated incorrect DECIMAL value: '111.22'",
- "Warning 1292 Truncated incorrect DECIMAL value: '111.22'"))
+ tk.MustQuery("show warnings").Check(testkit.Rows("Warning 1292 4 warnings with this error code, first warning: Truncated incorrect DECIMAL value: '111.22'"))
// Test the strict warnings is treated as errors under the strict mode.
tk.MustExec("drop table if exists t")
@@ -829,15 +831,13 @@ func TestModifyColumnTypeWithWarnings(t *testing.T) {
// Test the strict warnings is treated as warnings under the non-strict mode.
tk.MustExec("set @@sql_mode=\"\"")
tk.MustExec("alter table t modify column a decimal(3,1)")
- tk.MustQuery("show warnings").Check(testkit.Rows("Warning 1690 DECIMAL value is out of range in '(3, 1)'",
- "Warning 1690 DECIMAL value is out of range in '(3, 1)'",
- "Warning 1690 DECIMAL value is out of range in '(3, 1)'"))
+ tk.MustQuery("show warnings").Check(testkit.Rows("Warning 1690 3 warnings with this error code, first warning: DECIMAL value is out of range in '(3, 1)'"))
}
// TestModifyColumnTypeWhenInterception is to test modifying column type with warnings intercepted by
// reorg timeout, not owner error and so on.
func TestModifyColumnTypeWhenInterception(t *testing.T) {
- store, dom := testkit.CreateMockStoreAndDomain(t)
+ store, _ := testkit.CreateMockStoreAndDomain(t)
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
@@ -858,42 +858,10 @@ func TestModifyColumnTypeWhenInterception(t *testing.T) {
// Make the regions scale like: [1, 1024), [1024, 2048), [2048, 3072), [3072, 4096]
tk.MustQuery("split table t between(0) and (4096) regions 4")
- d := dom.DDL()
- hook := &ddl.TestDDLCallback{}
- var checkMiddleWarningCount bool
- var checkMiddleAddedCount bool
- // Since the `DefTiDBDDLReorgWorkerCount` is 4, every worker will be assigned with one region
- // for the first time. Here we mock the insert failure/reorg timeout in region [2048, 3072)
- // which will lead next handle be set to 2048 and partial warnings be stored into ddl job.
- // Since the existence of reorg batch size, only the last reorg batch [2816, 3072) of kv
- // range [2048, 3072) fail to commit, the rest of them all committed successfully. So the
- // addedCount and warnings count in the job are all equal to `4096 - reorg batch size`.
- // In the next round of this ddl job, the last reorg batch will be finished.
- var middleWarningsCount = int64(defaultBatchSize*4 - defaultReorgBatchSize)
- onJobUpdatedExportedFunc := func(job *model.Job) {
- if job.SchemaState == model.StateWriteReorganization || job.SnapshotVer != 0 {
- if len(job.ReorgMeta.WarningsCount) == len(job.ReorgMeta.Warnings) {
- for _, v := range job.ReorgMeta.WarningsCount {
- if v == middleWarningsCount {
- checkMiddleWarningCount = true
- }
- }
- }
- if job.RowCount == middleWarningsCount {
- checkMiddleAddedCount = true
- }
- }
- }
- hook.OnJobUpdatedExported.Store(&onJobUpdatedExportedFunc)
- d.SetHook(hook)
require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/ddl/MockReorgTimeoutInOneRegion", `return(true)`))
defer func() {
require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/ddl/MockReorgTimeoutInOneRegion"))
}()
tk.MustExec("alter table t modify column b decimal(3,1)")
- require.True(t, checkMiddleWarningCount)
- require.True(t, checkMiddleAddedCount)
-
- res := tk.MustQuery("show warnings")
- require.Len(t, res.Rows(), count)
+ tk.MustQuery("show warnings").Check(testkit.Rows("Warning 1292 4096 warnings with this error code, first warning: Truncated incorrect DECIMAL value: '11.22'"))
}
diff --git a/ddl/multi_schema_change.go b/ddl/multi_schema_change.go
index ab306fe546932..19c355ebfa8da 100644
--- a/ddl/multi_schema_change.go
+++ b/ddl/multi_schema_change.go
@@ -190,6 +190,10 @@ func appendToSubJobs(m *model.MultiSchemaInfo, job *model.Job) error {
if err != nil {
return err
}
+ var reorgTp model.ReorgType
+ if job.ReorgMeta != nil {
+ reorgTp = job.ReorgMeta.ReorgTp
+ }
m.SubJobs = append(m.SubJobs, &model.SubJob{
Type: job.Type,
Args: job.Args,
@@ -198,6 +202,7 @@ func appendToSubJobs(m *model.MultiSchemaInfo, job *model.Job) error {
SnapshotVer: job.SnapshotVer,
Revertible: true,
CtxVars: job.CtxVars,
+ ReorgTp: reorgTp,
})
return nil
}
@@ -261,7 +266,10 @@ func fillMultiSchemaInfo(info *model.MultiSchemaInfo, job *model.Job) (err error
case model.ActionRebaseAutoID, model.ActionModifyTableComment, model.ActionModifyTableCharsetAndCollate:
case model.ActionAddForeignKey:
fkInfo := job.Args[0].(*model.FKInfo)
- info.ForeignKeys = append(info.ForeignKeys, fkInfo.Name)
+ info.AddForeignKeys = append(info.AddForeignKeys, model.AddForeignKeyInfo{
+ Name: fkInfo.Name,
+ Cols: fkInfo.Cols,
+ })
default:
return dbterror.ErrRunMultiSchemaChanges.FastGenByArgs(job.Type.String())
}
@@ -323,6 +331,32 @@ func checkOperateSameColAndIdx(info *model.MultiSchemaInfo) error {
return checkIndexes(info.AlterIndexes, true)
}
+func checkOperateDropIndexUseByForeignKey(info *model.MultiSchemaInfo, t table.Table) error {
+ var remainIndexes, droppingIndexes []*model.IndexInfo
+ tbInfo := t.Meta()
+ for _, idx := range tbInfo.Indices {
+ dropping := false
+ for _, name := range info.DropIndexes {
+ if name.L == idx.Name.L {
+ dropping = true
+ break
+ }
+ }
+ if dropping {
+ droppingIndexes = append(droppingIndexes, idx)
+ } else {
+ remainIndexes = append(remainIndexes, idx)
+ }
+ }
+
+ for _, fk := range info.AddForeignKeys {
+ if droppingIdx := model.FindIndexByColumns(tbInfo, droppingIndexes, fk.Cols...); droppingIdx != nil && model.FindIndexByColumns(tbInfo, remainIndexes, fk.Cols...) == nil {
+ return dbterror.ErrDropIndexNeededInForeignKey.GenWithStackByArgs(droppingIdx.Name)
+ }
+ }
+ return nil
+}
+
func checkMultiSchemaInfo(info *model.MultiSchemaInfo, t table.Table) error {
err := checkOperateSameColAndIdx(info)
if err != nil {
@@ -334,6 +368,11 @@ func checkMultiSchemaInfo(info *model.MultiSchemaInfo, t table.Table) error {
return err
}
+ err = checkOperateDropIndexUseByForeignKey(info, t)
+ if err != nil {
+ return err
+ }
+
return checkAddColumnTooManyColumns(len(t.Cols()) + len(info.AddColumns) - len(info.DropColumns))
}
diff --git a/ddl/multi_schema_change_test.go b/ddl/multi_schema_change_test.go
index 250fb692f3500..d9facec4642cf 100644
--- a/ddl/multi_schema_change_test.go
+++ b/ddl/multi_schema_change_test.go
@@ -141,6 +141,9 @@ func TestMultiSchemaChangeAddColumnsCancelled(t *testing.T) {
tk.MustExec("insert into t values (1);")
hook := newCancelJobHook(t, store, dom, func(job *model.Job) bool {
// Cancel job when the column 'c' is in write-reorg.
+ if job.Type != model.ActionMultiSchemaChange {
+ return false
+ }
assertMultiSchema(t, job, 3)
return job.MultiSchemaInfo.SubJobs[1].SchemaState == model.StateWriteReorganization
})
@@ -221,6 +224,9 @@ func TestMultiSchemaChangeDropColumnsCancelled(t *testing.T) {
tk.MustExec("insert into t values ();")
hook := newCancelJobHook(t, store, dom, func(job *model.Job) bool {
// Cancel job when the column 'a' is in delete-reorg.
+ if job.Type != model.ActionMultiSchemaChange {
+ return false
+ }
assertMultiSchema(t, job, 3)
return job.MultiSchemaInfo.SubJobs[1].SchemaState == model.StateDeleteReorganization
})
@@ -236,6 +242,9 @@ func TestMultiSchemaChangeDropColumnsCancelled(t *testing.T) {
tk.MustExec("insert into t values ();")
hook = newCancelJobHook(t, store, dom, func(job *model.Job) bool {
// Cancel job when the column 'a' is in public.
+ if job.Type != model.ActionMultiSchemaChange {
+ return false
+ }
assertMultiSchema(t, job, 3)
return job.MultiSchemaInfo.SubJobs[1].SchemaState == model.StatePublic
})
@@ -258,6 +267,9 @@ func TestMultiSchemaChangeDropIndexedColumnsCancelled(t *testing.T) {
tk.MustExec("insert into t values ();")
hook := newCancelJobHook(t, store, dom, func(job *model.Job) bool {
// Cancel job when the column 'a' is in delete-reorg.
+ if job.Type != model.ActionMultiSchemaChange {
+ return false
+ }
assertMultiSchema(t, job, 3)
return job.MultiSchemaInfo.SubJobs[1].SchemaState == model.StateDeleteReorganization
})
@@ -358,6 +370,9 @@ func TestMultiSchemaChangeRenameColumns(t *testing.T) {
tk.MustExec("insert into t values ()")
hook := newCancelJobHook(t, store, dom, func(job *model.Job) bool {
// Cancel job when the column 'c' is in write-reorg.
+ if job.Type != model.ActionMultiSchemaChange {
+ return false
+ }
assertMultiSchema(t, job, 2)
return job.MultiSchemaInfo.SubJobs[0].SchemaState == model.StateWriteReorganization
})
@@ -427,6 +442,9 @@ func TestMultiSchemaChangeAlterColumns(t *testing.T) {
tk.MustExec("create table t (a int default 1, b int default 2)")
hook := newCancelJobHook(t, store, dom, func(job *model.Job) bool {
// Cancel job when the column 'a' is in write-reorg.
+ if job.Type != model.ActionMultiSchemaChange {
+ return false
+ }
assertMultiSchema(t, job, 2)
return job.MultiSchemaInfo.SubJobs[0].SchemaState == model.StateWriteReorganization
})
@@ -496,6 +514,9 @@ func TestMultiSchemaChangeChangeColumns(t *testing.T) {
tk.MustExec("insert into t values ()")
hook := newCancelJobHook(t, store, dom, func(job *model.Job) bool {
// Cancel job when the column 'c' is in write-reorg.
+ if job.Type != model.ActionMultiSchemaChange {
+ return false
+ }
assertMultiSchema(t, job, 2)
return job.MultiSchemaInfo.SubJobs[0].SchemaState == model.StateWriteReorganization
})
@@ -555,6 +576,9 @@ func TestMultiSchemaChangeAddIndexesCancelled(t *testing.T) {
tk.MustExec("insert into t values (1, 2, 3);")
cancelHook := newCancelJobHook(t, store, dom, func(job *model.Job) bool {
// Cancel the job when index 't2' is in write-reorg.
+ if job.Type != model.ActionMultiSchemaChange {
+ return false
+ }
assertMultiSchema(t, job, 4)
return job.MultiSchemaInfo.SubJobs[2].SchemaState == model.StateWriteReorganization
})
@@ -574,6 +598,9 @@ func TestMultiSchemaChangeAddIndexesCancelled(t *testing.T) {
tk.MustExec("insert into t values (1, 2, 3);")
cancelHook = newCancelJobHook(t, store, dom, func(job *model.Job) bool {
// Cancel the job when index 't1' is in public.
+ if job.Type != model.ActionMultiSchemaChange {
+ return false
+ }
assertMultiSchema(t, job, 4)
return job.MultiSchemaInfo.SubJobs[1].SchemaState == model.StatePublic
})
@@ -623,6 +650,9 @@ func TestMultiSchemaChangeDropIndexesCancelled(t *testing.T) {
// Test for cancelling the job in a middle state.
tk.MustExec("create table t (a int, b int, index(a), unique index(b), index idx(a, b));")
hook := newCancelJobHook(t, store, dom, func(job *model.Job) bool {
+ if job.Type != model.ActionMultiSchemaChange {
+ return false
+ }
assertMultiSchema(t, job, 3)
return job.MultiSchemaInfo.SubJobs[1].SchemaState == model.StateDeleteOnly
})
@@ -638,6 +668,9 @@ func TestMultiSchemaChangeDropIndexesCancelled(t *testing.T) {
tk.MustExec("drop table if exists t;")
tk.MustExec("create table t (a int, b int, index(a), unique index(b), index idx(a, b));")
hook = newCancelJobHook(t, store, dom, func(job *model.Job) bool {
+ if job.Type != model.ActionMultiSchemaChange {
+ return false
+ }
assertMultiSchema(t, job, 3)
return job.MultiSchemaInfo.SubJobs[1].SchemaState == model.StatePublic
})
@@ -686,8 +719,8 @@ func TestMultiSchemaChangeAddDropIndexes(t *testing.T) {
tk.MustExec("drop table if exists t;")
tk.MustExec("create table t (a int, b int, c int, index (a), index(b), index(c));")
tk.MustExec("insert into t values (1, 2, 3);")
- tk.MustExec("alter table t add index aa(a), drop index a, add index cc(c), drop index b, drop index c, add index bb(b);")
- tk.MustQuery("select * from t use index(aa, bb, cc);").Check(testkit.Rows("1 2 3"))
+ tk.MustExec("alter table t add index xa(a), drop index a, add index xc(c), drop index b, drop index c, add index xb(b);")
+ tk.MustQuery("select * from t use index(xa, xb, xc);").Check(testkit.Rows("1 2 3"))
tk.MustGetErrCode("select * from t use index(a);", errno.ErrKeyDoesNotExist)
tk.MustGetErrCode("select * from t use index(b);", errno.ErrKeyDoesNotExist)
tk.MustGetErrCode("select * from t use index(c);", errno.ErrKeyDoesNotExist)
@@ -733,6 +766,9 @@ func TestMultiSchemaChangeRenameIndexes(t *testing.T) {
tk.MustExec("insert into t values ()")
hook := newCancelJobHook(t, store, dom, func(job *model.Job) bool {
// Cancel job when the column 'c' is in write-reorg.
+ if job.Type != model.ActionMultiSchemaChange {
+ return false
+ }
assertMultiSchema(t, job, 2)
return job.MultiSchemaInfo.SubJobs[0].SchemaState == model.StateWriteReorganization
})
@@ -881,6 +917,9 @@ func TestMultiSchemaChangeModifyColumnsCancelled(t *testing.T) {
tk.MustExec("create table t (a int, b int, c int, index i1(a), unique index i2(b), index i3(a, b));")
tk.MustExec("insert into t values (1, 2, 3);")
hook := newCancelJobHook(t, store, dom, func(job *model.Job) bool {
+ if job.Type != model.ActionMultiSchemaChange {
+ return false
+ }
assertMultiSchema(t, job, 3)
return job.MultiSchemaInfo.SubJobs[2].SchemaState == model.StateWriteReorganization
})
@@ -975,6 +1014,7 @@ func TestMultiSchemaChangeMixCancelled(t *testing.T) {
store, dom := testkit.CreateMockStoreAndDomain(t)
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test;")
+ tk.MustExec("set global tidb_ddl_enable_fast_reorg = 0;")
tk.MustExec("create table t (a int, b int, c int, index i1(c), index i2(c));")
tk.MustExec("insert into t values (1, 2, 3);")
@@ -1012,7 +1052,7 @@ func TestMultiSchemaChangeAdminShowDDLJobs(t *testing.T) {
assert.Equal(t, len(rows), 4)
assert.Equal(t, rows[1][1], "test")
assert.Equal(t, rows[1][2], "t")
- assert.Equal(t, rows[1][3], "add index /* subjob */")
+ assert.Equal(t, rows[1][3], "add index /* subjob */ /* txn-merge */")
assert.Equal(t, rows[1][4], "delete only")
assert.Equal(t, rows[1][len(rows[1])-1], "running")
@@ -1137,7 +1177,7 @@ func TestMultiSchemaChangeUnsupportedType(t *testing.T) {
tk.MustExec("use test;")
tk.MustExec("create table t (a int, b int);")
- tk.MustGetErrMsg("alter table t add column c int, auto_id_cache = 1;",
+ tk.MustGetErrMsg("alter table t add column c int, auto_id_cache = 10;",
"[ddl:8200]Unsupported multi schema change for modify auto id cache")
}
@@ -1168,6 +1208,17 @@ func TestMultiSchemaChangeSchemaVersion(t *testing.T) {
dom.DDL().SetHook(originHook)
}
+func TestMultiSchemaChangeAddIndexChangeColumn(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test;")
+ tk.MustExec("CREATE TABLE t (a SMALLINT DEFAULT '30219', b TIME NULL DEFAULT '02:45:06', PRIMARY KEY (a));")
+ tk.MustExec("ALTER TABLE t ADD unique INDEX idx4 (b), change column a e MEDIUMINT DEFAULT '5280454' FIRST;")
+ tk.MustExec("insert ignore into t (e) values (5586359),(501788),(-5961048),(220083),(-4917129),(-7267211),(7750448);")
+ tk.MustQuery("select * from t;").Check(testkit.Rows("5586359 02:45:06"))
+ tk.MustExec("admin check table t;")
+}
+
func TestMultiSchemaChangeMixedWithUpdate(t *testing.T) {
store, dom := testkit.CreateMockStoreAndDomain(t)
tk := testkit.NewTestKit(t, store)
@@ -1223,7 +1274,7 @@ func (c *cancelOnceHook) OnJobUpdated(job *model.Job) {
return
}
c.triggered = true
- errs, err := ddl.CancelJobs(c.s, c.store, []int64{job.ID})
+ errs, err := ddl.CancelJobs(c.s, []int64{job.ID})
if errs[0] != nil {
c.cancelErr = errs[0]
return
@@ -1262,7 +1313,6 @@ func putTheSameDDLJobTwice(t *testing.T, fn func()) {
}
func assertMultiSchema(t *testing.T, job *model.Job, subJobLen int) {
- assert.Equal(t, model.ActionMultiSchemaChange, job.Type, job)
assert.NotNil(t, job.MultiSchemaInfo, job)
assert.Len(t, job.MultiSchemaInfo.SubJobs, subJobLen, job)
}
diff --git a/ddl/mv_index_test.go b/ddl/mv_index_test.go
new file mode 100644
index 0000000000000..964211ad76740
--- /dev/null
+++ b/ddl/mv_index_test.go
@@ -0,0 +1,71 @@
+// Copyright 2023 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package ddl_test
+
+import (
+ "fmt"
+ "strings"
+ "testing"
+
+ "github.com/pingcap/tidb/ddl"
+ "github.com/pingcap/tidb/errno"
+ "github.com/pingcap/tidb/parser/model"
+ "github.com/pingcap/tidb/testkit"
+)
+
+func TestMultiValuedIndexOnlineDDL(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t (pk int primary key, a json) partition by hash(pk) partitions 32;")
+ var sb strings.Builder
+ sb.WriteString("insert into t values ")
+ for i := 0; i < 100; i++ {
+ sb.WriteString(fmt.Sprintf("(%d, '[%d, %d, %d]')", i, i+1, i+2, i+3))
+ if i != 99 {
+ sb.WriteString(",")
+ }
+ }
+ tk.MustExec(sb.String())
+
+ internalTK := testkit.NewTestKit(t, store)
+ internalTK.MustExec("use test")
+
+ hook := &ddl.TestDDLCallback{Do: dom}
+ n := 100
+ hook.OnJobRunBeforeExported = func(job *model.Job) {
+ internalTK.MustExec(fmt.Sprintf("insert into t values (%d, '[%d, %d, %d]')", n, n, n+1, n+2))
+ internalTK.MustExec(fmt.Sprintf("delete from t where pk = %d", n-4))
+ internalTK.MustExec(fmt.Sprintf("update t set a = '[%d, %d, %d]' where pk = %d", n-3, n-2, n+1000, n-3))
+ n++
+ }
+ o := dom.DDL().GetHook()
+ dom.DDL().SetHook(hook)
+
+ tk.MustExec("alter table t add index idx((cast(a as signed array)))")
+ tk.MustExec("admin check table t")
+ dom.DDL().SetHook(o)
+
+ tk.MustExec("drop table if exists t;")
+ tk.MustExec("create table t (pk int primary key, a json);")
+ tk.MustExec("insert into t values (1, '[1,2,3]');")
+ tk.MustExec("insert into t values (2, '[2,3,4]');")
+ tk.MustExec("insert into t values (3, '[3,4,5]');")
+ tk.MustExec("insert into t values (4, '[-4,5,6]');")
+ tk.MustGetErrCode("alter table t add unique index idx((cast(a as signed array)));", errno.ErrDupEntry)
+ tk.MustGetErrMsg("alter table t add index idx((cast(a as unsigned array)));", "[ddl:8202]Cannot decode index value, because [types:1690]constant -4 overflows bigint")
+}
diff --git a/ddl/partition.go b/ddl/partition.go
index 7bba0b1006332..5b67c82c5bf8b 100644
--- a/ddl/partition.go
+++ b/ddl/partition.go
@@ -170,6 +170,10 @@ func (w *worker) onAddTablePartition(d *ddlCtx, t *meta.Meta, job *model.Job) (v
job.SchemaState = model.StateReplicaOnly
case model.StateReplicaOnly:
// replica only -> public
+ failpoint.Inject("sleepBeforeReplicaOnly", func(val failpoint.Value) {
+ sleepSecond := val.(int)
+ time.Sleep(time.Duration(sleepSecond) * time.Second)
+ })
// Here need do some tiflash replica complement check.
// TODO: If a table is with no TiFlashReplica or it is not available, the replica-only state can be eliminated.
if tblInfo.TiFlashReplica != nil && tblInfo.TiFlashReplica.Available {
@@ -193,6 +197,15 @@ func (w *worker) onAddTablePartition(d *ddlCtx, t *meta.Meta, job *model.Job) (v
if tblInfo.TiFlashReplica != nil && tblInfo.TiFlashReplica.Available {
for _, d := range partInfo.Definitions {
tblInfo.TiFlashReplica.AvailablePartitionIDs = append(tblInfo.TiFlashReplica.AvailablePartitionIDs, d.ID)
+ err = infosync.UpdateTiFlashProgressCache(d.ID, 1)
+ if err != nil {
+ // just print log, progress will be updated in `refreshTiFlashTicker`
+ logutil.BgLogger().Error("update tiflash sync progress cache failed",
+ zap.Error(err),
+ zap.Int64("tableID", tblInfo.ID),
+ zap.Int64("partitionID", d.ID),
+ )
+ }
}
}
// For normal and replica finished table, move the `addingDefinitions` into `Definitions`.
@@ -1362,7 +1375,7 @@ func checkPartitionFuncType(ctx sessionctx.Context, expr ast.ExprNode, tblInfo *
return nil
}
- e, err := expression.RewriteSimpleExprWithTableInfo(ctx, tblInfo, expr)
+ e, err := expression.RewriteSimpleExprWithTableInfo(ctx, tblInfo, expr, false)
if err != nil {
return errors.Trace(err)
}
@@ -1730,6 +1743,10 @@ func (w *worker) onDropTablePartition(d *ddlCtx, t *meta.Meta, job *model.Job) (
if err != nil {
return ver, errors.Trace(err)
}
+ dbInfo, err := t.GetDatabase(job.SchemaID)
+ if err != nil {
+ return ver, errors.Trace(err)
+ }
// If table has global indexes, we need reorg to clean up them.
if pt, ok := tbl.(table.PartitionedTable); ok && hasGlobalIndex(tblInfo) {
// Build elements for compatible with modify column type. elements will not be used when reorganizing.
@@ -1739,8 +1756,8 @@ func (w *worker) onDropTablePartition(d *ddlCtx, t *meta.Meta, job *model.Job) (
elements = append(elements, &meta.Element{ID: idxInfo.ID, TypeKey: meta.IndexElementKey})
}
}
- rh := newReorgHandler(t, w.sess, w.concurrentDDL)
- reorgInfo, err := getReorgInfoFromPartitions(d.jobContext(job), d, rh, job, tbl, physicalTableIDs, elements)
+ rh := newReorgHandler(t, w.sess)
+ reorgInfo, err := getReorgInfoFromPartitions(d.jobContext(job.ID), d, rh, job, dbInfo, tbl, physicalTableIDs, elements)
if err != nil || reorgInfo.first {
// If we run reorg firstly, we should update the job snapshot version
@@ -2064,7 +2081,7 @@ func (w *worker) onExchangeTablePartition(d *ddlCtx, t *meta.Meta, job *model.Jo
failpoint.Return(ver, err)
}
sess := newSession(se)
- _, err = sess.execute(context.Background(), "insert into test.pt values (40000000)", "exchange_partition_test")
+ _, err = sess.execute(context.Background(), "insert ignore into test.pt values (40000000)", "exchange_partition_test")
if err != nil {
failpoint.Return(ver, err)
}
diff --git a/ddl/placement/common.go b/ddl/placement/common.go
index cd02622dd0562..7c77ead97e30e 100644
--- a/ddl/placement/common.go
+++ b/ddl/placement/common.go
@@ -54,4 +54,8 @@ const (
// EngineLabelTiKV is the label value used in some tests. And possibly TiKV will
// set the engine label with a value of EngineLabelTiKV.
EngineLabelTiKV = "tikv"
+
+ // EngineLabelTiFlashCompute is for disaggregated tiflash mode,
+ // it's the lable of tiflash_compute nodes.
+ EngineLabelTiFlashCompute = "tiflash_compute"
)
diff --git a/ddl/placement_policy_ddl_test.go b/ddl/placement_policy_ddl_test.go
index f5d1392018c84..0c0793e711d8e 100644
--- a/ddl/placement_policy_ddl_test.go
+++ b/ddl/placement_policy_ddl_test.go
@@ -121,6 +121,7 @@ func TestPlacementPolicyInUse(t *testing.T) {
builder, err := infoschema.NewBuilder(store, nil).InitWithDBInfos(
[]*model.DBInfo{db1, db2, dbP},
[]*model.PolicyInfo{p1, p2, p3, p4, p5},
+ nil,
1,
)
require.NoError(t, err)
diff --git a/ddl/placement_sql_test.go b/ddl/placement_sql_test.go
index 5daca69feabec..b9af2af16e19d 100644
--- a/ddl/placement_sql_test.go
+++ b/ddl/placement_sql_test.go
@@ -588,7 +588,7 @@ func checkTiflashReplicaSet(t *testing.T, do *domain.Domain, db, tb string, cnt
return
}
- CheckPlacementRule(infosync.GetMockTiFlash(), *infosync.MakeNewRule(tbl.Meta().ID, 1, nil))
+ infosync.GetMockTiFlash().CheckPlacementRule(*infosync.MakeNewRule(tbl.Meta().ID, 1, nil))
require.NotNil(t, tiflashReplica)
require.Equal(t, cnt, tiflashReplica.Count)
}
diff --git a/ddl/reorg.go b/ddl/reorg.go
index 2c7508d24b38f..7912560499344 100644
--- a/ddl/reorg.go
+++ b/ddl/reorg.go
@@ -34,7 +34,6 @@ import (
"github.com/pingcap/tidb/parser/terror"
"github.com/pingcap/tidb/sessionctx"
"github.com/pingcap/tidb/sessionctx/stmtctx"
- "github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/statistics"
"github.com/pingcap/tidb/table"
"github.com/pingcap/tidb/table/tables"
@@ -197,7 +196,7 @@ func (w *worker) runReorgJob(rh *reorgHandler, reorgInfo *reorgInfo, tblInfo *mo
}
}
- rc := w.getReorgCtx(job)
+ rc := w.getReorgCtx(job.ID)
if rc == nil {
// This job is cancelling, we should return ErrCancelledDDLJob directly.
// Q: Is there any possibility that the job is cancelling and has no reorgCtx?
@@ -234,7 +233,12 @@ func (w *worker) runReorgJob(rh *reorgHandler, reorgInfo *reorgInfo, tblInfo *mo
return dbterror.ErrCancelledDDLJob
}
rowCount, _, _ := rc.getRowCountAndKey()
- logutil.BgLogger().Info("[ddl] run reorg job done", zap.Int64("handled rows", rowCount))
+ if err != nil {
+ logutil.BgLogger().Warn("[ddl] run reorg job done", zap.Int64("handled rows", rowCount), zap.Error(err))
+ } else {
+ logutil.BgLogger().Info("[ddl] run reorg job done", zap.Int64("handled rows", rowCount))
+ }
+
job.SetRowCount(rowCount)
// Update a job's warnings.
@@ -270,14 +274,13 @@ func (w *worker) runReorgJob(rh *reorgHandler, reorgInfo *reorgInfo, tblInfo *mo
// Update a reorgInfo's handle.
// Since daemon-worker is triggered by timer to store the info half-way.
// you should keep these infos is read-only (like job) / atomic (like doneKey & element) / concurrent safe.
- err := rh.UpdateDDLReorgStartHandle(job, currentElement, doneKey)
-
+ err := updateDDLReorgStartHandle(rh.s, job, currentElement, doneKey)
logutil.BgLogger().Info("[ddl] run reorg job wait timeout",
- zap.Duration("waitTime", waitTimeout),
- zap.ByteString("elementType", currentElement.TypeKey),
- zap.Int64("elementID", currentElement.ID),
- zap.Int64("totalAddedRowCount", rowCount),
- zap.String("doneKey", tryDecodeToHandleString(doneKey)),
+ zap.Duration("wait time", waitTimeout),
+ zap.ByteString("element type", currentElement.TypeKey),
+ zap.Int64("element ID", currentElement.ID),
+ zap.Int64("total added row count", rowCount),
+ zap.String("done key", hex.EncodeToString(doneKey)),
zap.Error(err))
// If timeout, we will return, check the owner and retry to wait job done again.
return dbterror.ErrWaitReorgTimeout
@@ -286,7 +289,7 @@ func (w *worker) runReorgJob(rh *reorgHandler, reorgInfo *reorgInfo, tblInfo *mo
}
func (w *worker) mergeWarningsIntoJob(job *model.Job) {
- rc := w.getReorgCtx(job)
+ rc := w.getReorgCtx(job.ID)
rc.mu.Lock()
defer rc.mu.Unlock()
partWarnings := rc.mu.warnings
@@ -349,13 +352,13 @@ func getTableTotalCount(w *worker, tblInfo *model.TableInfo) int64 {
return rows[0].GetInt64(0)
}
-func (dc *ddlCtx) isReorgRunnable(job *model.Job) error {
+func (dc *ddlCtx) isReorgRunnable(jobID int64) error {
if isChanClosed(dc.ctx.Done()) {
// Worker is closed. So it can't do the reorganization.
return dbterror.ErrInvalidWorker.GenWithStack("worker is closed")
}
- if dc.getReorgCtx(job).isReorgCanceled() {
+ if dc.getReorgCtx(jobID).isReorgCanceled() {
// Job is cancelled. So it can't be done.
return dbterror.ErrCancelledDDLJob
}
@@ -381,6 +384,7 @@ type reorgInfo struct {
// PhysicalTableID is used to trace the current partition we are handling.
// If the table is not partitioned, PhysicalTableID would be TableID.
PhysicalTableID int64
+ dbInfo *model.DBInfo
elements []*meta.Element
currElement *meta.Element
}
@@ -559,10 +563,12 @@ func getTableRange(ctx *JobContext, d *ddlCtx, tbl table.PhysicalTable, snapshot
endHandleKey = tablecodec.EncodeRecordKey(tbl.RecordPrefix(), maxHandle)
}
if isEmptyTable || endHandleKey.Cmp(startHandleKey) < 0 {
- logutil.BgLogger().Info("[ddl] get table range, endHandle < startHandle", zap.String("table", fmt.Sprintf("%v", tbl.Meta())),
+ logutil.BgLogger().Info("[ddl] get noop table range",
+ zap.String("table", fmt.Sprintf("%v", tbl.Meta())),
zap.Int64("table/partition ID", tbl.GetPhysicalID()),
- zap.String("endHandle", tryDecodeToHandleString(endHandleKey)),
- zap.String("startHandle", tryDecodeToHandleString(startHandleKey)))
+ zap.String("start key", hex.EncodeToString(startHandleKey)),
+ zap.String("end key", hex.EncodeToString(endHandleKey)),
+ zap.Bool("is empty table", isEmptyTable))
endHandleKey = startHandleKey
}
return
@@ -578,7 +584,7 @@ func getValidCurrentVersion(store kv.Storage) (ver kv.Version, err error) {
return ver, nil
}
-func getReorgInfo(ctx *JobContext, d *ddlCtx, rh *reorgHandler, job *model.Job,
+func getReorgInfo(ctx *JobContext, d *ddlCtx, rh *reorgHandler, job *model.Job, dbInfo *model.DBInfo,
tbl table.Table, elements []*meta.Element, mergingTmpIdx bool) (*reorgInfo, error) {
var (
element *meta.Element
@@ -665,7 +671,7 @@ func getReorgInfo(ctx *JobContext, d *ddlCtx, rh *reorgHandler, job *model.Job,
// We'll try to remove it in the next major TiDB version.
if meta.ErrDDLReorgElementNotExist.Equal(err) {
job.SnapshotVer = 0
- logutil.BgLogger().Warn("[ddl] get reorg info, the element does not exist", zap.String("job", job.String()), zap.Bool("enableConcurrentDDL", rh.enableConcurrentDDL))
+ logutil.BgLogger().Warn("[ddl] get reorg info, the element does not exist", zap.String("job", job.String()))
}
return &info, errors.Trace(err)
}
@@ -678,11 +684,12 @@ func getReorgInfo(ctx *JobContext, d *ddlCtx, rh *reorgHandler, job *model.Job,
info.currElement = element
info.elements = elements
info.mergingTmpIdx = mergingTmpIdx
+ info.dbInfo = dbInfo
return &info, nil
}
-func getReorgInfoFromPartitions(ctx *JobContext, d *ddlCtx, rh *reorgHandler, job *model.Job, tbl table.Table, partitionIDs []int64, elements []*meta.Element) (*reorgInfo, error) {
+func getReorgInfoFromPartitions(ctx *JobContext, d *ddlCtx, rh *reorgHandler, job *model.Job, dbInfo *model.DBInfo, tbl table.Table, partitionIDs []int64, elements []*meta.Element) (*reorgInfo, error) {
var (
element *meta.Element
start kv.Key
@@ -706,9 +713,9 @@ func getReorgInfoFromPartitions(ctx *JobContext, d *ddlCtx, rh *reorgHandler, jo
return nil, errors.Trace(err)
}
logutil.BgLogger().Info("[ddl] job get table range",
- zap.Int64("jobID", job.ID), zap.Int64("physicalTableID", pid),
- zap.String("startHandle", tryDecodeToHandleString(start)),
- zap.String("endHandle", tryDecodeToHandleString(end)))
+ zap.Int64("job ID", job.ID), zap.Int64("physical table ID", pid),
+ zap.String("start key", hex.EncodeToString(start)),
+ zap.String("end key", hex.EncodeToString(end)))
err = rh.InitDDLReorgHandle(job, start, end, pid, elements[0])
if err != nil {
@@ -738,6 +745,7 @@ func getReorgInfoFromPartitions(ctx *JobContext, d *ddlCtx, rh *reorgHandler, jo
info.PhysicalTableID = pid
info.currElement = element
info.elements = elements
+ info.dbInfo = dbInfo
return &info, nil
}
@@ -762,8 +770,8 @@ func (r *reorgInfo) UpdateReorgMeta(startKey kv.Key, pool *sessionPool) (err err
sess.rollback()
return err
}
- rh := newReorgHandler(meta.NewMeta(txn), sess, variable.EnableConcurrentDDL.Load())
- err = rh.UpdateDDLReorgHandle(r.Job, startKey, r.EndKey, r.PhysicalTableID, r.currElement)
+ rh := newReorgHandler(meta.NewMeta(txn), sess)
+ err = updateDDLReorgHandle(rh.s, r.Job.ID, startKey, r.EndKey, r.PhysicalTableID, r.currElement)
err1 := sess.commit()
if err == nil {
err = err1
@@ -775,63 +783,33 @@ func (r *reorgInfo) UpdateReorgMeta(startKey kv.Key, pool *sessionPool) (err err
type reorgHandler struct {
m *meta.Meta
s *session
-
- enableConcurrentDDL bool
}
// NewReorgHandlerForTest creates a new reorgHandler, only used in test.
func NewReorgHandlerForTest(t *meta.Meta, sess sessionctx.Context) *reorgHandler {
- return newReorgHandler(t, newSession(sess), variable.EnableConcurrentDDL.Load())
-}
-
-func newReorgHandler(t *meta.Meta, sess *session, enableConcurrentDDL bool) *reorgHandler {
- return &reorgHandler{m: t, s: sess, enableConcurrentDDL: enableConcurrentDDL}
+ return newReorgHandler(t, newSession(sess))
}
-// UpdateDDLReorgStartHandle saves the job reorganization latest processed element and start handle for later resuming.
-func (r *reorgHandler) UpdateDDLReorgStartHandle(job *model.Job, element *meta.Element, startKey kv.Key) error {
- if r.enableConcurrentDDL {
- return updateDDLReorgStartHandle(r.s, job, element, startKey)
- }
- return r.m.UpdateDDLReorgStartHandle(job, element, startKey)
-}
-
-// UpdateDDLReorgHandle saves the job reorganization latest processed information for later resuming.
-func (r *reorgHandler) UpdateDDLReorgHandle(job *model.Job, startKey, endKey kv.Key, physicalTableID int64, element *meta.Element) error {
- if r.enableConcurrentDDL {
- return updateDDLReorgHandle(r.s, job.ID, startKey, endKey, physicalTableID, element)
- }
- return r.m.UpdateDDLReorgHandle(job.ID, startKey, endKey, physicalTableID, element)
+func newReorgHandler(t *meta.Meta, sess *session) *reorgHandler {
+ return &reorgHandler{m: t, s: sess}
}
// InitDDLReorgHandle initializes the job reorganization information.
func (r *reorgHandler) InitDDLReorgHandle(job *model.Job, startKey, endKey kv.Key, physicalTableID int64, element *meta.Element) error {
- if r.enableConcurrentDDL {
- return initDDLReorgHandle(r.s, job.ID, startKey, endKey, physicalTableID, element)
- }
- return r.m.UpdateDDLReorgHandle(job.ID, startKey, endKey, physicalTableID, element)
+ return initDDLReorgHandle(r.s, job.ID, startKey, endKey, physicalTableID, element)
}
// RemoveReorgElementFailPoint removes the element of the reorganization information.
func (r *reorgHandler) RemoveReorgElementFailPoint(job *model.Job) error {
- if r.enableConcurrentDDL {
- return removeReorgElement(r.s, job)
- }
- return r.m.RemoveReorgElement(job)
+ return removeReorgElement(r.s, job)
}
// RemoveDDLReorgHandle removes the job reorganization related handles.
func (r *reorgHandler) RemoveDDLReorgHandle(job *model.Job, elements []*meta.Element) error {
- if r.enableConcurrentDDL {
- return removeDDLReorgHandle(r.s, job, elements)
- }
- return r.m.RemoveDDLReorgHandle(job, elements)
+ return removeDDLReorgHandle(r.s, job, elements)
}
// GetDDLReorgHandle gets the latest processed DDL reorganize position.
func (r *reorgHandler) GetDDLReorgHandle(job *model.Job) (element *meta.Element, startKey, endKey kv.Key, physicalTableID int64, err error) {
- if r.enableConcurrentDDL {
- return getDDLReorgHandle(r.s, job)
- }
- return r.m.GetDDLReorgHandle(job)
+ return getDDLReorgHandle(r.s, job)
}
diff --git a/ddl/resource_group.go b/ddl/resource_group.go
new file mode 100644
index 0000000000000..3d397dd14160c
--- /dev/null
+++ b/ddl/resource_group.go
@@ -0,0 +1,157 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package ddl
+
+import (
+ "context"
+
+ "github.com/pingcap/errors"
+ "github.com/pingcap/tidb/ddl/resourcegroup"
+ "github.com/pingcap/tidb/domain/infosync"
+ "github.com/pingcap/tidb/infoschema"
+ "github.com/pingcap/tidb/meta"
+ "github.com/pingcap/tidb/parser/model"
+ "github.com/pingcap/tidb/util/dbterror"
+ "github.com/pingcap/tidb/util/logutil"
+ "go.uber.org/zap"
+)
+
+func onCreateResourceGroup(d *ddlCtx, t *meta.Meta, job *model.Job) (ver int64, _ error) {
+ groupInfo := &model.ResourceGroupInfo{}
+ if err := job.DecodeArgs(groupInfo); err != nil {
+ job.State = model.JobStateCancelled
+ return ver, errors.Trace(err)
+ }
+ groupInfo.State = model.StateNone
+
+ // check if resource group value is valid and convert to proto format.
+ protoGroup, err := resourcegroup.NewGroupFromOptions(groupInfo.Name.L, groupInfo.ResourceGroupSettings)
+ if err != nil {
+ logutil.BgLogger().Warn("convert to resource group failed", zap.Error(err))
+ job.State = model.JobStateCancelled
+ return ver, errors.Trace(err)
+ }
+
+ switch groupInfo.State {
+ case model.StateNone:
+ // none -> public
+ groupInfo.State = model.StatePublic
+ err := t.CreateResourceGroup(groupInfo)
+ if err != nil {
+ return ver, errors.Trace(err)
+ }
+ err = infosync.CreateResourceGroup(context.TODO(), protoGroup)
+ if err != nil {
+ logutil.BgLogger().Warn("create resource group failed", zap.Error(err))
+ return ver, errors.Trace(err)
+ }
+ job.SchemaID = groupInfo.ID
+ ver, err = updateSchemaVersion(d, t, job)
+ if err != nil {
+ return ver, errors.Trace(err)
+ }
+ // Finish this job.
+ job.FinishDBJob(model.JobStateDone, model.StatePublic, ver, nil)
+ return ver, nil
+ default:
+ return ver, dbterror.ErrInvalidDDLState.GenWithStackByArgs("resource_group", groupInfo.State)
+ }
+}
+
+func onAlterResourceGroup(d *ddlCtx, t *meta.Meta, job *model.Job) (ver int64, _ error) {
+ alterGroupInfo := &model.ResourceGroupInfo{}
+ if err := job.DecodeArgs(alterGroupInfo); err != nil {
+ job.State = model.JobStateCancelled
+ return ver, errors.Trace(err)
+ }
+ // check if resource group value is valid and convert to proto format.
+ protoGroup, err := resourcegroup.NewGroupFromOptions(alterGroupInfo.Name.L, alterGroupInfo.ResourceGroupSettings)
+ if err != nil {
+ logutil.BgLogger().Warn("convert to resource group failed", zap.Error(err))
+ job.State = model.JobStateCancelled
+ return ver, errors.Trace(err)
+ }
+
+ oldGroup, err := checkResourceGroupExist(t, job, alterGroupInfo.ID)
+ if err != nil {
+ return ver, errors.Trace(err)
+ }
+
+ newGroup := *oldGroup
+ newGroup.ResourceGroupSettings = alterGroupInfo.ResourceGroupSettings
+
+ // TODO: check the group validation
+ err = t.UpdateResourceGroup(&newGroup)
+ if err != nil {
+ return ver, errors.Trace(err)
+ }
+
+ err = infosync.ModifyResourceGroup(context.TODO(), protoGroup)
+ if err != nil {
+ logutil.BgLogger().Warn("update resource group failed", zap.Error(err))
+ job.State = model.JobStateCancelled
+ return ver, errors.Trace(err)
+ }
+
+ ver, err = updateSchemaVersion(d, t, job)
+ if err != nil {
+ return ver, errors.Trace(err)
+ }
+ // Finish this job.
+ job.FinishDBJob(model.JobStateDone, model.StatePublic, ver, nil)
+ return ver, nil
+}
+
+func checkResourceGroupExist(t *meta.Meta, job *model.Job, groupID int64) (*model.ResourceGroupInfo, error) {
+ groupInfo, err := t.GetResourceGroup(groupID)
+ if err == nil {
+ return groupInfo, nil
+ }
+ if infoschema.ErrResourceGroupNotExists.Equal(err) {
+ job.State = model.JobStateCancelled
+ }
+ return nil, err
+}
+
+func onDropResourceGroup(d *ddlCtx, t *meta.Meta, job *model.Job) (ver int64, _ error) {
+ groupInfo, err := checkResourceGroupExist(t, job, job.SchemaID)
+ if err != nil {
+ return ver, errors.Trace(err)
+ }
+ // TODO: check the resource group not in use.
+ switch groupInfo.State {
+ case model.StatePublic:
+ // public -> none
+ // resource group not influence the correctness of the data, so we can directly remove it.
+ groupInfo.State = model.StateNone
+ err = t.DropResourceGroup(groupInfo.ID)
+ if err != nil {
+ return ver, errors.Trace(err)
+ }
+ err = infosync.DeleteResourceGroup(context.TODO(), groupInfo.Name.L)
+ if err != nil {
+ return ver, errors.Trace(err)
+ }
+ ver, err = updateSchemaVersion(d, t, job)
+ if err != nil {
+ return ver, errors.Trace(err)
+ }
+ // Finish this job.
+ job.FinishDBJob(model.JobStateDone, model.StateNone, ver, nil)
+ default:
+ err = dbterror.ErrInvalidDDLState.GenWithStackByArgs("resource_group", groupInfo.State)
+ }
+ return ver, errors.Trace(err)
+}
diff --git a/ddl/resource_group_test.go b/ddl/resource_group_test.go
new file mode 100644
index 0000000000000..231b3e123ceba
--- /dev/null
+++ b/ddl/resource_group_test.go
@@ -0,0 +1,124 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package ddl_test
+
+import (
+ "context"
+ "testing"
+
+ "github.com/pingcap/tidb/ddl"
+ "github.com/pingcap/tidb/ddl/resourcegroup"
+ "github.com/pingcap/tidb/domain"
+ "github.com/pingcap/tidb/domain/infosync"
+ mysql "github.com/pingcap/tidb/errno"
+ "github.com/pingcap/tidb/parser/model"
+ "github.com/pingcap/tidb/sessionctx"
+ "github.com/pingcap/tidb/testkit"
+ "github.com/stretchr/testify/require"
+)
+
+func TestResourceGroupBaisc(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ re := require.New(t)
+
+ hook := &ddl.TestDDLCallback{Do: dom}
+ var groupID int64
+ onJobUpdatedExportedFunc := func(job *model.Job) {
+ // job.SchemaID will be assigned when the group is created.
+ if (job.SchemaName == "x" || job.SchemaName == "y") && job.Type == model.ActionCreateResourceGroup && job.SchemaID != 0 {
+ groupID = job.SchemaID
+ return
+ }
+ }
+ hook.OnJobUpdatedExported.Store(&onJobUpdatedExportedFunc)
+ dom.DDL().SetHook(hook)
+
+ tk.MustExec("create resource group x " +
+ "RRU_PER_SEC=1000 " +
+ "WRU_PER_SEC=2000")
+ checkFunc := func(groupInfo *model.ResourceGroupInfo) {
+ require.Equal(t, true, groupInfo.ID != 0)
+ require.Equal(t, "x", groupInfo.Name.L)
+ require.Equal(t, groupID, groupInfo.ID)
+ require.Equal(t, uint64(1000), groupInfo.RRURate)
+ require.Equal(t, uint64(2000), groupInfo.WRURate)
+ }
+ // Check the group is correctly reloaded in the information schema.
+ g := testResourceGroupNameFromIS(t, tk.Session(), "x")
+ checkFunc(g)
+
+ tk.MustGetErrCode("create resource group x "+
+ "RRU_PER_SEC=1000 "+
+ "WRU_PER_SEC=2000", mysql.ErrResourceGroupExists)
+
+ tk.MustExec("alter resource group x " +
+ "RRU_PER_SEC=2000 " +
+ "WRU_PER_SEC=3000")
+ g = testResourceGroupNameFromIS(t, tk.Session(), "x")
+ re.Equal(uint64(2000), g.RRURate)
+ re.Equal(uint64(3000), g.WRURate)
+
+ tk.MustExec("drop resource group x")
+ g = testResourceGroupNameFromIS(t, tk.Session(), "x")
+ re.Nil(g)
+
+ tk.MustExec("create resource group y " +
+ "CPU='4000m' " +
+ "IO_READ_BANDWIDTH='1G' " +
+ "IO_WRITE_BANDWIDTH='300M'")
+ checkFunc = func(groupInfo *model.ResourceGroupInfo) {
+ require.Equal(t, true, groupInfo.ID != 0)
+ require.Equal(t, "y", groupInfo.Name.L)
+ require.Equal(t, groupID, groupInfo.ID)
+ require.Equal(t, "4000m", groupInfo.CPULimiter)
+ require.Equal(t, "1G", groupInfo.IOReadBandwidth)
+ require.Equal(t, "300M", groupInfo.IOWriteBandwidth)
+ }
+ g = testResourceGroupNameFromIS(t, tk.Session(), "y")
+ checkFunc(g)
+ tk.MustExec("alter resource group y " +
+ "CPU='8000m' " +
+ "IO_READ_BANDWIDTH='10G' " +
+ "IO_WRITE_BANDWIDTH='3000M'")
+ checkFunc = func(groupInfo *model.ResourceGroupInfo) {
+ require.Equal(t, true, groupInfo.ID != 0)
+ require.Equal(t, "y", groupInfo.Name.L)
+ require.Equal(t, groupID, groupInfo.ID)
+ require.Equal(t, "8000m", groupInfo.CPULimiter)
+ require.Equal(t, "10G", groupInfo.IOReadBandwidth)
+ require.Equal(t, "3000M", groupInfo.IOWriteBandwidth)
+ }
+ g = testResourceGroupNameFromIS(t, tk.Session(), "y")
+ checkFunc(g)
+ tk.MustExec("drop resource group y")
+ g = testResourceGroupNameFromIS(t, tk.Session(), "y")
+ re.Nil(g)
+ tk.MustContainErrMsg("create resource group x RRU_PER_SEC=1000, CPU='8000m';", resourcegroup.ErrInvalidResourceGroupDuplicatedMode.Error())
+ groups, err := infosync.GetAllResourceGroups(context.TODO())
+ require.Equal(t, 0, len(groups))
+ require.NoError(t, err)
+ // TODO: privilege check & constraint syntax check.
+}
+
+func testResourceGroupNameFromIS(t *testing.T, ctx sessionctx.Context, name string) *model.ResourceGroupInfo {
+ dom := domain.GetDomain(ctx)
+ // Make sure the table schema is the new schema.
+ err := dom.Reload()
+ require.NoError(t, err)
+ g, _ := dom.InfoSchema().ResourceGroupByName(model.NewCIStr(name))
+ return g
+}
diff --git a/ddl/resourcegroup/BUILD.bazel b/ddl/resourcegroup/BUILD.bazel
new file mode 100644
index 0000000000000..45bfe6465637f
--- /dev/null
+++ b/ddl/resourcegroup/BUILD.bazel
@@ -0,0 +1,28 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+
+go_library(
+ name = "resourcegroup",
+ srcs = [
+ "errors.go",
+ "group.go",
+ ],
+ importpath = "github.com/pingcap/tidb/ddl/resourcegroup",
+ visibility = ["//visibility:public"],
+ deps = [
+ "//parser/model",
+ "@com_github_pingcap_errors//:errors",
+ "@com_github_pingcap_kvproto//pkg/resource_manager",
+ "@io_k8s_apimachinery//pkg/api/resource",
+ ],
+)
+
+go_test(
+ name = "resourcegroup_test",
+ srcs = ["group_test.go"],
+ embed = [":resourcegroup"],
+ deps = [
+ "//parser/model",
+ "@com_github_pingcap_kvproto//pkg/resource_manager",
+ "@com_github_stretchr_testify//require",
+ ],
+)
diff --git a/ddl/resourcegroup/errors.go b/ddl/resourcegroup/errors.go
new file mode 100644
index 0000000000000..0893f59876f6d
--- /dev/null
+++ b/ddl/resourcegroup/errors.go
@@ -0,0 +1,32 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package resourcegroup
+
+import (
+ "github.com/pingcap/errors"
+)
+
+var (
+ // ErrInvalidGroupSettings is from group.go.
+ ErrInvalidGroupSettings = errors.New("invalid group settings")
+ // ErrTooLongResourceGroupName is from group.go.
+ ErrTooLongResourceGroupName = errors.New("resource group name too long")
+ // ErrInvalidResourceGroupFormat is from group.go.
+ ErrInvalidResourceGroupFormat = errors.New("group settings with invalid format")
+ // ErrInvalidResourceGroupDuplicatedMode is from group.go.
+ ErrInvalidResourceGroupDuplicatedMode = errors.New("cannot set RU mode and Raw mode options at the same time")
+ // ErrUnknownResourceGroupMode is from group.go.
+ ErrUnknownResourceGroupMode = errors.New("unknown resource group mode")
+)
diff --git a/ddl/resourcegroup/group.go b/ddl/resourcegroup/group.go
new file mode 100644
index 0000000000000..52a039d490ef3
--- /dev/null
+++ b/ddl/resourcegroup/group.go
@@ -0,0 +1,105 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package resourcegroup
+
+import (
+ "github.com/pingcap/errors"
+ rmpb "github.com/pingcap/kvproto/pkg/resource_manager"
+ "github.com/pingcap/tidb/parser/model"
+ "k8s.io/apimachinery/pkg/api/resource"
+)
+
+const maxGroupNameLength = 32
+
+// NewGroupFromOptions creates a new resource group from the given options.
+func NewGroupFromOptions(groupName string, options *model.ResourceGroupSettings) (*rmpb.ResourceGroup, error) {
+ if options == nil {
+ return nil, ErrInvalidGroupSettings
+ }
+ if len(groupName) > maxGroupNameLength {
+ return nil, ErrTooLongResourceGroupName
+ }
+ group := &rmpb.ResourceGroup{
+ Name: groupName,
+ }
+ var isRUMode bool
+ if options.RRURate > 0 || options.WRURate > 0 {
+ isRUMode = true
+ group.Mode = rmpb.GroupMode_RUMode
+ group.RUSettings = &rmpb.GroupRequestUnitSettings{
+ RRU: &rmpb.TokenBucket{
+ Settings: &rmpb.TokenLimitSettings{
+ FillRate: options.RRURate,
+ },
+ },
+ WRU: &rmpb.TokenBucket{
+ Settings: &rmpb.TokenLimitSettings{
+ FillRate: options.WRURate,
+ },
+ },
+ }
+ }
+ if len(options.CPULimiter) > 0 || len(options.IOReadBandwidth) > 0 || len(options.IOWriteBandwidth) > 0 {
+ if isRUMode {
+ return nil, ErrInvalidResourceGroupDuplicatedMode
+ }
+ parseF := func(s string, scale resource.Scale) (uint64, error) {
+ if len(s) == 0 {
+ return 0, nil
+ }
+ q, err := resource.ParseQuantity(s)
+ if err != nil {
+ return 0, err
+ }
+ return uint64(q.ScaledValue(scale)), nil
+ }
+ cpuRate, err := parseF(options.CPULimiter, resource.Milli)
+ if err != nil {
+ return nil, errors.Annotate(ErrInvalidResourceGroupFormat, err.Error())
+ }
+ ioReadRate, err := parseF(options.IOReadBandwidth, resource.Scale(0))
+ if err != nil {
+ return nil, errors.Annotate(ErrInvalidResourceGroupFormat, err.Error())
+ }
+ ioWriteRate, err := parseF(options.IOWriteBandwidth, resource.Scale(0))
+ if err != nil {
+ return nil, errors.Annotate(ErrInvalidResourceGroupFormat, err.Error())
+ }
+
+ group.Mode = rmpb.GroupMode_RawMode
+ group.ResourceSettings = &rmpb.GroupResourceSettings{
+ Cpu: &rmpb.TokenBucket{
+ Settings: &rmpb.TokenLimitSettings{
+ FillRate: cpuRate,
+ },
+ },
+ IoRead: &rmpb.TokenBucket{
+ Settings: &rmpb.TokenLimitSettings{
+ FillRate: ioReadRate,
+ },
+ },
+ IoWrite: &rmpb.TokenBucket{
+ Settings: &rmpb.TokenLimitSettings{
+ FillRate: ioWriteRate,
+ },
+ },
+ }
+ return group, nil
+ }
+ if isRUMode {
+ return group, nil
+ }
+ return nil, ErrUnknownResourceGroupMode
+}
diff --git a/ddl/resourcegroup/group_test.go b/ddl/resourcegroup/group_test.go
new file mode 100644
index 0000000000000..344fb1ea5960f
--- /dev/null
+++ b/ddl/resourcegroup/group_test.go
@@ -0,0 +1,197 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package resourcegroup
+
+import (
+ "fmt"
+ "testing"
+
+ rmpb "github.com/pingcap/kvproto/pkg/resource_manager"
+ "github.com/pingcap/tidb/parser/model"
+ "github.com/stretchr/testify/require"
+)
+
+func TestNewResourceGroupFromOptions(t *testing.T) {
+ type TestCase struct {
+ name string
+ groupName string
+ input *model.ResourceGroupSettings
+ output *rmpb.ResourceGroup
+ err error
+ }
+ var tests []TestCase
+ groupName := "test"
+ tests = append(tests, TestCase{
+ name: "empty 1",
+ input: &model.ResourceGroupSettings{},
+ err: ErrUnknownResourceGroupMode,
+ })
+
+ tests = append(tests, TestCase{
+ name: "empty 2",
+ input: nil,
+ err: ErrInvalidGroupSettings,
+ })
+
+ tests = append(tests, TestCase{
+ name: "normal case: ru case 1",
+ input: &model.ResourceGroupSettings{
+ RRURate: 2000,
+ WRURate: 20000,
+ },
+ output: &rmpb.ResourceGroup{
+ Name: groupName,
+ Mode: rmpb.GroupMode_RUMode,
+ RUSettings: &rmpb.GroupRequestUnitSettings{
+ RRU: &rmpb.TokenBucket{Settings: &rmpb.TokenLimitSettings{FillRate: 2000}},
+ WRU: &rmpb.TokenBucket{Settings: &rmpb.TokenLimitSettings{FillRate: 20000}},
+ },
+ },
+ })
+
+ tests = append(tests, TestCase{
+ name: "normal case: ru case 2",
+ input: &model.ResourceGroupSettings{
+ RRURate: 5000,
+ },
+ output: &rmpb.ResourceGroup{
+ Name: groupName,
+ Mode: rmpb.GroupMode_RUMode,
+ RUSettings: &rmpb.GroupRequestUnitSettings{
+ RRU: &rmpb.TokenBucket{Settings: &rmpb.TokenLimitSettings{FillRate: 5000}},
+ WRU: &rmpb.TokenBucket{Settings: &rmpb.TokenLimitSettings{FillRate: 0}},
+ },
+ },
+ })
+
+ tests = append(tests, TestCase{
+ name: "normal case: ru case 3",
+ input: &model.ResourceGroupSettings{
+ WRURate: 15000,
+ },
+ output: &rmpb.ResourceGroup{
+ Name: groupName,
+ Mode: rmpb.GroupMode_RUMode,
+ RUSettings: &rmpb.GroupRequestUnitSettings{
+ RRU: &rmpb.TokenBucket{Settings: &rmpb.TokenLimitSettings{FillRate: 0}},
+ WRU: &rmpb.TokenBucket{Settings: &rmpb.TokenLimitSettings{FillRate: 15000}},
+ },
+ },
+ })
+
+ tests = append(tests, TestCase{
+ name: "normal case: native case 1",
+ input: &model.ResourceGroupSettings{
+ CPULimiter: "8000m",
+ IOReadBandwidth: "3000M",
+ IOWriteBandwidth: "1500M",
+ },
+ output: &rmpb.ResourceGroup{
+ Name: groupName,
+ Mode: rmpb.GroupMode_RawMode,
+ ResourceSettings: &rmpb.GroupResourceSettings{
+ Cpu: &rmpb.TokenBucket{Settings: &rmpb.TokenLimitSettings{FillRate: 8000}},
+ IoRead: &rmpb.TokenBucket{Settings: &rmpb.TokenLimitSettings{FillRate: 3000000000}},
+ IoWrite: &rmpb.TokenBucket{Settings: &rmpb.TokenLimitSettings{FillRate: 1500000000}},
+ },
+ },
+ })
+
+ tests = append(tests, TestCase{
+ name: "normal case: native case 2",
+ input: &model.ResourceGroupSettings{
+ CPULimiter: "8",
+ IOReadBandwidth: "3000Mi",
+ IOWriteBandwidth: "3000Mi",
+ },
+ output: &rmpb.ResourceGroup{
+ Name: groupName,
+ Mode: rmpb.GroupMode_RawMode,
+ ResourceSettings: &rmpb.GroupResourceSettings{
+ Cpu: &rmpb.TokenBucket{Settings: &rmpb.TokenLimitSettings{FillRate: 8000}},
+ IoRead: &rmpb.TokenBucket{Settings: &rmpb.TokenLimitSettings{FillRate: 3145728000}},
+ IoWrite: &rmpb.TokenBucket{Settings: &rmpb.TokenLimitSettings{FillRate: 3145728000}},
+ },
+ },
+ })
+
+ tests = append(tests, TestCase{
+ name: "error case: native case 1",
+ input: &model.ResourceGroupSettings{
+ CPULimiter: "8",
+ IOReadBandwidth: "3000MB/s",
+ IOWriteBandwidth: "3000Mi",
+ },
+ err: ErrInvalidResourceGroupFormat,
+ })
+
+ tests = append(tests, TestCase{
+ name: "error case: native case 2",
+ input: &model.ResourceGroupSettings{
+ CPULimiter: "8c",
+ IOReadBandwidth: "3000Mi",
+ IOWriteBandwidth: "3000Mi",
+ },
+ err: ErrInvalidResourceGroupFormat,
+ })
+
+ tests = append(tests, TestCase{
+ name: "error case: native case 3",
+ input: &model.ResourceGroupSettings{
+ CPULimiter: "8",
+ IOReadBandwidth: "3000G",
+ IOWriteBandwidth: "3000MB",
+ },
+ err: ErrInvalidResourceGroupFormat,
+ })
+
+ tests = append(tests, TestCase{
+ name: "error case: duplicated mode",
+ input: &model.ResourceGroupSettings{
+ CPULimiter: "8",
+ IOReadBandwidth: "3000Mi",
+ IOWriteBandwidth: "3000Mi",
+ RRURate: 1000,
+ },
+ err: ErrInvalidResourceGroupDuplicatedMode,
+ })
+
+ tests = append(tests, TestCase{
+ name: "error case: duplicated mode",
+ groupName: "test_group_too_looooooooooooooooooooooooooooooooooooooooooooooooong",
+ input: &model.ResourceGroupSettings{
+ CPULimiter: "8",
+ IOReadBandwidth: "3000Mi",
+ IOWriteBandwidth: "3000Mi",
+ RRURate: 1000,
+ },
+ err: ErrTooLongResourceGroupName,
+ })
+
+ for _, test := range tests {
+ name := groupName
+ if len(test.groupName) > 0 {
+ name = test.groupName
+ }
+ group, err := NewGroupFromOptions(name, test.input)
+ comment := fmt.Sprintf("[%s]\nerr1 %s\nerr2 %s", test.name, err, test.err)
+ if test.err != nil {
+ require.ErrorIs(t, err, test.err, comment)
+ } else {
+ require.NoError(t, err, comment)
+ require.Equal(t, test.output, group)
+ }
+ }
+}
diff --git a/ddl/restart_test.go b/ddl/restart_test.go
index 450624f7dfe97..fa4e21b5f1c05 100644
--- a/ddl/restart_test.go
+++ b/ddl/restart_test.go
@@ -141,7 +141,7 @@ func TestStat(t *testing.T) {
SchemaID: dbInfo.ID,
Type: model.ActionDropSchema,
BinlogInfo: &model.HistoryInfo{},
- Args: []interface{}{dbInfo.Name},
+ Args: []interface{}{true},
}
done := make(chan error, 1)
diff --git a/ddl/schema.go b/ddl/schema.go
index d9e86c30c5eaf..e9cb1e6579635 100644
--- a/ddl/schema.go
+++ b/ddl/schema.go
@@ -312,6 +312,10 @@ func (w *worker) onRecoverSchema(d *ddlCtx, t *meta.Meta, job *model.Job) (ver i
return ver, errors.Trace(err)
}
for _, recoverInfo := range recoverSchemaInfo.RecoverTabsInfo {
+ if recoverInfo.TableInfo.TTLInfo != nil {
+ // force disable TTL job schedule for recovered table
+ recoverInfo.TableInfo.TTLInfo.Enable = false
+ }
ver, err = w.recoverTable(t, job, recoverInfo)
if err != nil {
return ver, errors.Trace(err)
diff --git a/ddl/schema_test.go b/ddl/schema_test.go
index 70206ed2f179f..3be4fb4e4d278 100644
--- a/ddl/schema_test.go
+++ b/ddl/schema_test.go
@@ -163,13 +163,13 @@ func testDropSchema(t *testing.T, ctx sessionctx.Context, d ddl.DDL, dbInfo *mod
return job, ver
}
-func isDDLJobDone(test *testing.T, t *meta.Meta) bool {
- job, err := t.GetDDLJobByIdx(0)
- require.NoError(test, err)
- if job == nil {
+func isDDLJobDone(test *testing.T, t *meta.Meta, store kv.Storage) bool {
+ tk := testkit.NewTestKit(test, store)
+ rows := tk.MustQuery("select * from mysql.tidb_ddl_job").Rows()
+
+ if len(rows) == 0 {
return true
}
-
time.Sleep(testLease)
return false
}
@@ -185,7 +185,7 @@ func testCheckSchemaState(test *testing.T, store kv.Storage, dbInfo *model.DBInf
require.NoError(test, err)
if state == model.StateNone {
- isDropped = isDDLJobDone(test, t)
+ isDropped = isDDLJobDone(test, t, store)
if !isDropped {
return nil
}
diff --git a/ddl/schematracker/checker.go b/ddl/schematracker/checker.go
index b1533d0246fb1..ec6a7892996c9 100644
--- a/ddl/schematracker/checker.go
+++ b/ddl/schematracker/checker.go
@@ -433,6 +433,22 @@ func (d Checker) AlterPlacementPolicy(ctx sessionctx.Context, stmt *ast.AlterPla
panic("implement me")
}
+// CreateResourceGroup implements the DDL interface.
+// ResourceGroup do not affect the transaction.
+func (d Checker) CreateResourceGroup(ctx sessionctx.Context, stmt *ast.CreateResourceGroupStmt) error {
+ return nil
+}
+
+// DropResourceGroup implements the DDL interface.
+func (d Checker) DropResourceGroup(ctx sessionctx.Context, stmt *ast.DropResourceGroupStmt) error {
+ return nil
+}
+
+// AlterResourceGroup implements the DDL interface.
+func (d Checker) AlterResourceGroup(ctx sessionctx.Context, stmt *ast.AlterResourceGroupStmt) error {
+ return nil
+}
+
// CreateSchemaWithInfo implements the DDL interface.
func (d Checker) CreateSchemaWithInfo(ctx sessionctx.Context, info *model.DBInfo, onExist ddl.OnExist) error {
err := d.realDDL.CreateSchemaWithInfo(ctx, info, onExist)
@@ -541,16 +557,6 @@ func (d Checker) DoDDLJob(ctx sessionctx.Context, job *model.Job) error {
return d.realDDL.DoDDLJob(ctx, job)
}
-// MoveJobFromQueue2Table implements the DDL interface.
-func (d Checker) MoveJobFromQueue2Table(bool) error {
- panic("implement me")
-}
-
-// MoveJobFromTable2Queue implements the DDL interface.
-func (d Checker) MoveJobFromTable2Queue() error {
- panic("implement me")
-}
-
// StorageDDLInjector wraps kv.Storage to inject checker to domain's DDL in bootstrap time.
type StorageDDLInjector struct {
kv.Storage
diff --git a/ddl/schematracker/dm_tracker.go b/ddl/schematracker/dm_tracker.go
index afb3a75c1974b..c6bdd892fcff2 100644
--- a/ddl/schematracker/dm_tracker.go
+++ b/ddl/schematracker/dm_tracker.go
@@ -49,6 +49,9 @@ var _ ddl.DDL = SchemaTracker{}
// SchemaTracker is used to track schema changes by DM. It implements DDL interface and by applying DDL, it updates the
// table structure to keep tracked with upstream changes.
+// It embeds an InfoStore which stores DBInfo and TableInfo. The DBInfo and TableInfo can be treated as immutable, so
+// after reading them by SchemaByName or TableByName, later modifications made by SchemaTracker will not change them.
+// SchemaTracker is not thread-safe.
type SchemaTracker struct {
*InfoStore
}
@@ -108,16 +111,22 @@ func (d SchemaTracker) CreateSchemaWithInfo(ctx sessionctx.Context, dbInfo *mode
}
// AlterSchema implements the DDL interface.
-func (d SchemaTracker) AlterSchema(ctx sessionctx.Context, stmt *ast.AlterDatabaseStmt) error {
+func (d SchemaTracker) AlterSchema(ctx sessionctx.Context, stmt *ast.AlterDatabaseStmt) (err error) {
dbInfo := d.SchemaByName(stmt.Name)
if dbInfo == nil {
return infoschema.ErrDatabaseNotExists.GenWithStackByArgs(stmt.Name.O)
}
+ dbInfo = dbInfo.Clone()
+ defer func() {
+ if err == nil {
+ d.PutSchema(dbInfo)
+ }
+ }()
+
// Resolve target charset and collation from options.
var (
toCharset, toCollate string
- err error
)
for _, val := range stmt.Options {
@@ -173,9 +182,15 @@ func (d SchemaTracker) CreateTable(ctx sessionctx.Context, s *ast.CreateTableStm
return infoschema.ErrDatabaseNotExists.GenWithStackByArgs(ident.Schema)
}
// suppress ErrTooLongKey
+ strictSQLModeBackup := ctx.GetSessionVars().StrictSQLMode
ctx.GetSessionVars().StrictSQLMode = false
// support drop PK
+ enableClusteredIndexBackup := ctx.GetSessionVars().EnableClusteredIndex
ctx.GetSessionVars().EnableClusteredIndex = variable.ClusteredIndexDefModeOff
+ defer func() {
+ ctx.GetSessionVars().StrictSQLMode = strictSQLModeBackup
+ ctx.GetSessionVars().EnableClusteredIndex = enableClusteredIndexBackup
+ }()
var (
referTbl *model.TableInfo
@@ -354,6 +369,13 @@ func (d SchemaTracker) CreateIndex(ctx sessionctx.Context, stmt *ast.CreateIndex
stmt.IndexPartSpecifications, stmt.IndexOption, stmt.IfNotExists)
}
+func (d SchemaTracker) putTableIfNoError(err error, dbName model.CIStr, tbInfo *model.TableInfo) {
+ if err != nil {
+ return
+ }
+ _ = d.PutTable(dbName, tbInfo)
+}
+
// createIndex is shared by CreateIndex and AlterTable.
func (d SchemaTracker) createIndex(
ctx sessionctx.Context,
@@ -363,12 +385,15 @@ func (d SchemaTracker) createIndex(
indexPartSpecifications []*ast.IndexPartSpecification,
indexOption *ast.IndexOption,
ifNotExists bool,
-) error {
+) (err error) {
unique := keyType == ast.IndexKeyTypeUnique
- tblInfo, err := d.TableByName(ti.Schema, ti.Name)
+ tblInfo, err := d.TableClonedByName(ti.Schema, ti.Name)
if err != nil {
return err
}
+
+ defer d.putTableIfNoError(err, ti.Schema, tblInfo)
+
t := tables.MockTableFromMeta(tblInfo)
// Deal with anonymous index.
@@ -432,12 +457,14 @@ func (d SchemaTracker) DropIndex(ctx sessionctx.Context, stmt *ast.DropIndexStmt
}
// dropIndex is shared by DropIndex and AlterTable.
-func (d SchemaTracker) dropIndex(ctx sessionctx.Context, ti ast.Ident, indexName model.CIStr, ifExists bool) error {
- tblInfo, err := d.TableByName(ti.Schema, ti.Name)
+func (d SchemaTracker) dropIndex(ctx sessionctx.Context, ti ast.Ident, indexName model.CIStr, ifExists bool) (err error) {
+ tblInfo, err := d.TableClonedByName(ti.Schema, ti.Name)
if err != nil {
return infoschema.ErrTableNotExists.GenWithStackByArgs(ti.Schema, ti.Name)
}
+ defer d.putTableIfNoError(err, ti.Schema, tblInfo)
+
indexInfo := tblInfo.FindIndexByName(indexName.L)
if indexInfo == nil {
if ifExists {
@@ -464,16 +491,19 @@ func (d SchemaTracker) dropIndex(ctx sessionctx.Context, ti ast.Ident, indexName
}
// addColumn is used by AlterTable.
-func (d SchemaTracker) addColumn(ctx sessionctx.Context, ti ast.Ident, spec *ast.AlterTableSpec) error {
+func (d SchemaTracker) addColumn(ctx sessionctx.Context, ti ast.Ident, spec *ast.AlterTableSpec) (err error) {
specNewColumn := spec.NewColumns[0]
schema := d.SchemaByName(ti.Schema)
if schema == nil {
return infoschema.ErrDatabaseNotExists.GenWithStackByArgs(ti.Schema)
}
- tblInfo, err := d.TableByName(ti.Schema, ti.Name)
+ tblInfo, err := d.TableClonedByName(ti.Schema, ti.Name)
if err != nil {
return err
}
+
+ defer d.putTableIfNoError(err, ti.Schema, tblInfo)
+
t := tables.MockTableFromMeta(tblInfo)
colName := specNewColumn.Name.Name.O
@@ -504,12 +534,14 @@ func (d SchemaTracker) addColumn(ctx sessionctx.Context, ti ast.Ident, spec *ast
}
// dropColumn is used by AlterTable.
-func (d *SchemaTracker) dropColumn(ctx sessionctx.Context, ti ast.Ident, spec *ast.AlterTableSpec) error {
- tblInfo, err := d.TableByName(ti.Schema, ti.Name)
+func (d *SchemaTracker) dropColumn(ctx sessionctx.Context, ti ast.Ident, spec *ast.AlterTableSpec) (err error) {
+ tblInfo, err := d.TableClonedByName(ti.Schema, ti.Name)
if err != nil {
return err
}
+ defer d.putTableIfNoError(err, ti.Schema, tblInfo)
+
colName := spec.OldColumnName.Name
colInfo := tblInfo.FindPublicColumnByName(colName.L)
if colInfo == nil {
@@ -546,14 +578,17 @@ func (d *SchemaTracker) dropColumn(ctx sessionctx.Context, ti ast.Ident, spec *a
}
// renameColumn is used by AlterTable.
-func (d SchemaTracker) renameColumn(ctx sessionctx.Context, ident ast.Ident, spec *ast.AlterTableSpec) error {
+func (d SchemaTracker) renameColumn(ctx sessionctx.Context, ident ast.Ident, spec *ast.AlterTableSpec) (err error) {
oldColName := spec.OldColumnName.Name
newColName := spec.NewColumnName.Name
- tblInfo, err := d.TableByName(ident.Schema, ident.Name)
+ tblInfo, err := d.TableClonedByName(ident.Schema, ident.Name)
if err != nil {
return err
}
+
+ defer d.putTableIfNoError(err, ident.Schema, tblInfo)
+
tbl := tables.MockTableFromMeta(tblInfo)
oldCol := table.FindCol(tbl.VisibleCols(), oldColName.L)
@@ -595,12 +630,15 @@ func (d SchemaTracker) renameColumn(ctx sessionctx.Context, ident ast.Ident, spe
}
// alterColumn is used by AlterTable.
-func (d SchemaTracker) alterColumn(ctx sessionctx.Context, ident ast.Ident, spec *ast.AlterTableSpec) error {
+func (d SchemaTracker) alterColumn(ctx sessionctx.Context, ident ast.Ident, spec *ast.AlterTableSpec) (err error) {
specNewColumn := spec.NewColumns[0]
- tblInfo, err := d.TableByName(ident.Schema, ident.Name)
+ tblInfo, err := d.TableClonedByName(ident.Schema, ident.Name)
if err != nil {
return err
}
+
+ defer d.putTableIfNoError(err, ident.Schema, tblInfo)
+
t := tables.MockTableFromMeta(tblInfo)
colName := specNewColumn.Name.Name
@@ -664,11 +702,14 @@ func (d SchemaTracker) handleModifyColumn(
ident ast.Ident,
originalColName model.CIStr,
spec *ast.AlterTableSpec,
-) error {
- tblInfo, err := d.TableByName(ident.Schema, ident.Name)
+) (err error) {
+ tblInfo, err := d.TableClonedByName(ident.Schema, ident.Name)
if err != nil {
return err
}
+
+ defer d.putTableIfNoError(err, ident.Schema, tblInfo)
+
schema := d.SchemaByName(ident.Schema)
t := tables.MockTableFromMeta(tblInfo)
job, err := ddl.GetModifiableColumnJob(ctx, sctx, nil, ident, originalColName, schema, t, spec)
@@ -714,11 +755,14 @@ func (d SchemaTracker) handleModifyColumn(
}
// renameIndex is used by AlterTable.
-func (d SchemaTracker) renameIndex(ctx sessionctx.Context, ident ast.Ident, spec *ast.AlterTableSpec) error {
- tblInfo, err := d.TableByName(ident.Schema, ident.Name)
+func (d SchemaTracker) renameIndex(ctx sessionctx.Context, ident ast.Ident, spec *ast.AlterTableSpec) (err error) {
+ tblInfo, err := d.TableClonedByName(ident.Schema, ident.Name)
if err != nil {
return err
}
+
+ defer d.putTableIfNoError(err, ident.Schema, tblInfo)
+
duplicate, err := ddl.ValidateRenameIndex(spec.FromKey, spec.ToKey, tblInfo)
if duplicate {
return nil
@@ -732,12 +776,14 @@ func (d SchemaTracker) renameIndex(ctx sessionctx.Context, ident ast.Ident, spec
}
// addTablePartitions is used by AlterTable.
-func (d SchemaTracker) addTablePartitions(ctx sessionctx.Context, ident ast.Ident, spec *ast.AlterTableSpec) error {
- tblInfo, err := d.TableByName(ident.Schema, ident.Name)
+func (d SchemaTracker) addTablePartitions(ctx sessionctx.Context, ident ast.Ident, spec *ast.AlterTableSpec) (err error) {
+ tblInfo, err := d.TableClonedByName(ident.Schema, ident.Name)
if err != nil {
return errors.Trace(err)
}
+ defer d.putTableIfNoError(err, ident.Schema, tblInfo)
+
pi := tblInfo.GetPartitionInfo()
if pi == nil {
return errors.Trace(dbterror.ErrPartitionMgmtOnNonpartitioned)
@@ -752,12 +798,14 @@ func (d SchemaTracker) addTablePartitions(ctx sessionctx.Context, ident ast.Iden
}
// dropTablePartitions is used by AlterTable.
-func (d SchemaTracker) dropTablePartition(ctx sessionctx.Context, ident ast.Ident, spec *ast.AlterTableSpec) error {
- tblInfo, err := d.TableByName(ident.Schema, ident.Name)
+func (d SchemaTracker) dropTablePartitions(ctx sessionctx.Context, ident ast.Ident, spec *ast.AlterTableSpec) (err error) {
+ tblInfo, err := d.TableClonedByName(ident.Schema, ident.Name)
if err != nil {
return errors.Trace(err)
}
+ defer d.putTableIfNoError(err, ident.Schema, tblInfo)
+
pi := tblInfo.GetPartitionInfo()
if pi == nil {
return errors.Trace(dbterror.ErrPartitionMgmtOnNonpartitioned)
@@ -799,12 +847,14 @@ func (d SchemaTracker) createPrimaryKey(
indexName model.CIStr,
indexPartSpecifications []*ast.IndexPartSpecification,
indexOption *ast.IndexOption,
-) error {
- tblInfo, err := d.TableByName(ti.Schema, ti.Name)
+) (err error) {
+ tblInfo, err := d.TableClonedByName(ti.Schema, ti.Name)
if err != nil {
return errors.Trace(err)
}
+ defer d.putTableIfNoError(err, ti.Schema, tblInfo)
+
indexName = model.NewCIStr(mysql.PrimaryKeyName)
if indexInfo := tblInfo.FindIndexByName(indexName.L); indexInfo != nil ||
// If the table's PKIsHandle is true, it also means that this table has a primary key.
@@ -888,7 +938,7 @@ func (d SchemaTracker) AlterTable(ctx context.Context, sctx sessionctx.Context,
case ast.AlterTableRenameIndex:
err = d.renameIndex(sctx, ident, spec)
case ast.AlterTableDropPartition:
- err = d.dropTablePartition(sctx, ident, spec)
+ err = d.dropTablePartitions(sctx, ident, spec)
case ast.AlterTableAddConstraint:
constr := spec.Constraint
switch spec.Constraint.Tp {
@@ -925,7 +975,9 @@ func (d SchemaTracker) AlterTable(ctx context.Context, sctx sessionctx.Context,
case ast.TableOptionAutoIdCache:
case ast.TableOptionAutoRandomBase:
case ast.TableOptionComment:
+ tblInfo = tblInfo.Clone()
tblInfo.Comment = opt.StrValue
+ _ = d.PutTable(ident.Schema, tblInfo)
case ast.TableOptionCharset, ast.TableOptionCollate:
// getCharsetAndCollateInTableOption will get the last charset and collate in the options,
// so it should be handled only once.
@@ -939,6 +991,7 @@ func (d SchemaTracker) AlterTable(ctx context.Context, sctx sessionctx.Context,
}
needsOverwriteCols := ddl.NeedToOverwriteColCharset(spec.Options)
+ tblInfo = tblInfo.Clone()
if toCharset != "" {
tblInfo.Charset = toCharset
}
@@ -957,6 +1010,7 @@ func (d SchemaTracker) AlterTable(ctx context.Context, sctx sessionctx.Context,
}
}
}
+ _ = d.PutTable(ident.Schema, tblInfo)
handledCharsetOrCollate = true
case ast.TableOptionPlacementPolicy:
@@ -970,11 +1024,13 @@ func (d SchemaTracker) AlterTable(ctx context.Context, sctx sessionctx.Context,
}
}
case ast.AlterTableIndexInvisible:
+ tblInfo = tblInfo.Clone()
idx := tblInfo.FindIndexByName(spec.IndexName.L)
if idx == nil {
return errors.Trace(infoschema.ErrKeyNotExists.GenWithStackByArgs(spec.IndexName.O, ident.Name))
}
idx.Invisible = spec.Visibility == ast.IndexVisibilityInvisible
+ _ = d.PutTable(ident.Schema, tblInfo)
case ast.AlterTablePartitionOptions,
ast.AlterTableDropForeignKey,
ast.AlterTableCoalescePartitions,
@@ -1117,6 +1173,21 @@ func (SchemaTracker) AlterPlacementPolicy(ctx sessionctx.Context, stmt *ast.Alte
return nil
}
+// CreateResourceGroup implements the DDL interface, it's no-op in DM's case.
+func (SchemaTracker) CreateResourceGroup(_ sessionctx.Context, _ *ast.CreateResourceGroupStmt) error {
+ return nil
+}
+
+// DropResourceGroup implements the DDL interface, it's no-op in DM's case.
+func (SchemaTracker) DropResourceGroup(_ sessionctx.Context, _ *ast.DropResourceGroupStmt) error {
+ return nil
+}
+
+// AlterResourceGroup implements the DDL interface, it's no-op in DM's case.
+func (SchemaTracker) AlterResourceGroup(ctx sessionctx.Context, stmt *ast.AlterResourceGroupStmt) error {
+ return nil
+}
+
// BatchCreateTableWithInfo implements the DDL interface, it will call CreateTableWithInfo for each table.
func (d SchemaTracker) BatchCreateTableWithInfo(ctx sessionctx.Context, schema model.CIStr, info []*model.TableInfo, cs ...ddl.CreateTableWithInfoConfigurier) error {
for _, tableInfo := range info {
@@ -1200,13 +1271,3 @@ func (SchemaTracker) GetInfoSchemaWithInterceptor(ctx sessionctx.Context) infosc
func (SchemaTracker) DoDDLJob(ctx sessionctx.Context, job *model.Job) error {
return nil
}
-
-// MoveJobFromQueue2Table implements the DDL interface, it's no-op in DM's case.
-func (SchemaTracker) MoveJobFromQueue2Table(b bool) error {
- panic("implement me")
-}
-
-// MoveJobFromTable2Queue implements the DDL interface, it's no-op in DM's case.
-func (SchemaTracker) MoveJobFromTable2Queue() error {
- panic("implement me")
-}
diff --git a/ddl/schematracker/dm_tracker_test.go b/ddl/schematracker/dm_tracker_test.go
index 8cfd34cde0590..01998d3dc0134 100644
--- a/ddl/schematracker/dm_tracker_test.go
+++ b/ddl/schematracker/dm_tracker_test.go
@@ -98,6 +98,12 @@ func execAlter(t *testing.T, tracker schematracker.SchemaTracker, sql string) {
require.NoError(t, err)
}
+func mustTableByName(t *testing.T, tracker schematracker.SchemaTracker, schema, table string) *model.TableInfo {
+ tblInfo, err := tracker.TableByName(model.NewCIStr(schema), model.NewCIStr(table))
+ require.NoError(t, err)
+ return tblInfo
+}
+
func TestAlterPK(t *testing.T) {
sql := "create table test.t (c1 int primary key, c2 blob);"
@@ -105,20 +111,24 @@ func TestAlterPK(t *testing.T) {
tracker.CreateTestDB()
execCreate(t, tracker, sql)
- tblInfo, err := tracker.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
- require.NoError(t, err)
+ tblInfo := mustTableByName(t, tracker, "test", "t")
require.Equal(t, 1, len(tblInfo.Indices))
sql = "alter table test.t drop primary key;"
execAlter(t, tracker, sql)
+ // TableInfo should be immutable.
+ require.Equal(t, 1, len(tblInfo.Indices))
+ tblInfo = mustTableByName(t, tracker, "test", "t")
require.Equal(t, 0, len(tblInfo.Indices))
sql = "alter table test.t add primary key(c1);"
execAlter(t, tracker, sql)
+ tblInfo = mustTableByName(t, tracker, "test", "t")
require.Equal(t, 1, len(tblInfo.Indices))
sql = "alter table test.t drop primary key;"
execAlter(t, tracker, sql)
+ tblInfo = mustTableByName(t, tracker, "test", "t")
require.Equal(t, 0, len(tblInfo.Indices))
}
@@ -129,20 +139,22 @@ func TestDropColumn(t *testing.T) {
tracker.CreateTestDB()
execCreate(t, tracker, sql)
- tblInfo, err := tracker.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
- require.NoError(t, err)
+ tblInfo := mustTableByName(t, tracker, "test", "t")
require.Equal(t, 1, len(tblInfo.Indices))
sql = "alter table test.t drop column b"
execAlter(t, tracker, sql)
+ tblInfo = mustTableByName(t, tracker, "test", "t")
require.Equal(t, 0, len(tblInfo.Indices))
sql = "alter table test.t add index idx_2_col(a, c)"
execAlter(t, tracker, sql)
+ tblInfo = mustTableByName(t, tracker, "test", "t")
require.Equal(t, 1, len(tblInfo.Indices))
sql = "alter table test.t drop column c"
execAlter(t, tracker, sql)
+ tblInfo = mustTableByName(t, tracker, "test", "t")
require.Equal(t, 1, len(tblInfo.Indices))
require.Equal(t, 1, len(tblInfo.Columns))
}
@@ -172,8 +184,7 @@ func TestIndexLength(t *testing.T) {
tracker.CreateTestDB()
execCreate(t, tracker, sql)
- tblInfo, err := tracker.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
- require.NoError(t, err)
+ tblInfo := mustTableByName(t, tracker, "test", "t")
expected := "CREATE TABLE `t` (\n" +
" `a` text DEFAULT NULL,\n" +
@@ -185,7 +196,7 @@ func TestIndexLength(t *testing.T) {
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"
checkShowCreateTable(t, tblInfo, expected)
- err = tracker.DeleteTable(model.NewCIStr("test"), model.NewCIStr("t"))
+ err := tracker.DeleteTable(model.NewCIStr("test"), model.NewCIStr("t"))
require.NoError(t, err)
sql = "create table test.t(a text, b text charset ascii, c blob);"
@@ -198,9 +209,7 @@ func TestIndexLength(t *testing.T) {
sql = "alter table test.t add index (c(3072))"
execAlter(t, tracker, sql)
- tblInfo, err = tracker.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
- require.NoError(t, err)
-
+ tblInfo = mustTableByName(t, tracker, "test", "t")
checkShowCreateTable(t, tblInfo, expected)
}
@@ -225,8 +234,7 @@ func TestIssue5092(t *testing.T) {
sql = "alter table test.t add column b2 int after b1, add column c2 int first"
execAlter(t, tracker, sql)
- tblInfo, err := tracker.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
- require.NoError(t, err)
+ tblInfo := mustTableByName(t, tracker, "test", "t")
expected := "CREATE TABLE `t` (\n" +
" `c2` int(11) DEFAULT NULL,\n" +
@@ -303,8 +311,7 @@ func TestAddExpressionIndex(t *testing.T) {
sql = "alter table test.t add index idx_multi((a+b),(a+1), b);"
execAlter(t, tracker, sql)
- tblInfo, err := tracker.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
- require.NoError(t, err)
+ tblInfo := mustTableByName(t, tracker, "test", "t")
expected := "CREATE TABLE `t` (\n" +
" `a` int(11) DEFAULT NULL,\n" +
@@ -319,6 +326,8 @@ func TestAddExpressionIndex(t *testing.T) {
sql = "alter table test.t drop index idx_multi;"
execAlter(t, tracker, sql)
+ tblInfo = mustTableByName(t, tracker, "test", "t")
+
expected = "CREATE TABLE `t` (\n" +
" `a` int(11) DEFAULT NULL,\n" +
" `b` double DEFAULT NULL\n" +
@@ -330,8 +339,7 @@ func TestAddExpressionIndex(t *testing.T) {
sql = "alter table test.t2 add unique index ei_ab ((concat(a, b)));"
execAlter(t, tracker, sql)
- tblInfo, err = tracker.TableByName(model.NewCIStr("test"), model.NewCIStr("t2"))
- require.NoError(t, err)
+ tblInfo = mustTableByName(t, tracker, "test", "t2")
expected = "CREATE TABLE `t2` (\n" +
" `a` varchar(10) DEFAULT NULL,\n" +
@@ -343,6 +351,8 @@ func TestAddExpressionIndex(t *testing.T) {
sql = "alter table test.t2 alter index ei_ab invisible;"
execAlter(t, tracker, sql)
+ tblInfo = mustTableByName(t, tracker, "test", "t2")
+
expected = "CREATE TABLE `t2` (\n" +
" `a` varchar(10) DEFAULT NULL,\n" +
" `b` varchar(10) DEFAULT NULL,\n" +
@@ -353,8 +363,7 @@ func TestAddExpressionIndex(t *testing.T) {
sql = "create table test.t3(a int, key((a+1)), key((a+2)), key idx((a+3)), key((a+4)), UNIQUE KEY ((a * 2)));"
execCreate(t, tracker, sql)
- tblInfo, err = tracker.TableByName(model.NewCIStr("test"), model.NewCIStr("t3"))
- require.NoError(t, err)
+ tblInfo = mustTableByName(t, tracker, "test", "t3")
expected = "CREATE TABLE `t3` (\n" +
" `a` int(11) DEFAULT NULL,\n" +
@@ -381,8 +390,7 @@ func TestAddExpressionIndex(t *testing.T) {
sql = "alter table test.t4 add index idx((a+c));"
execAlter(t, tracker, sql)
- tblInfo, err = tracker.TableByName(model.NewCIStr("test"), model.NewCIStr("t4"))
- require.NoError(t, err)
+ tblInfo = mustTableByName(t, tracker, "test", "t4")
expected = "CREATE TABLE `t4` (\n" +
" `a` int(11) DEFAULT NULL,\n" +
@@ -408,8 +416,7 @@ func TestAtomicMultiSchemaChange(t *testing.T) {
sql = "alter table test.t add b int, add c int;"
execAlter(t, tracker, sql)
- tblInfo, err := tracker.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
- require.NoError(t, err)
+ tblInfo := mustTableByName(t, tracker, "test", "t")
require.Len(t, tblInfo.Columns, 3)
sql = "alter table test.t add d int, add a int;"
@@ -422,11 +429,45 @@ func TestAtomicMultiSchemaChange(t *testing.T) {
err = tracker.AlterTable(ctx, sctx, stmt.(*ast.AlterTableStmt))
require.True(t, infoschema.ErrColumnExists.Equal(err))
- tblInfo, err = tracker.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
- require.NoError(t, err)
+ tblInfo = mustTableByName(t, tracker, "test", "t")
require.Len(t, tblInfo.Columns, 3)
}
+func TestImmutableTableInfo(t *testing.T) {
+ sql := "create table test.t (a varchar(20)) charset latin1;"
+
+ tracker := schematracker.NewSchemaTracker(2)
+ tracker.CreateTestDB()
+ execCreate(t, tracker, sql)
+
+ tblInfo := mustTableByName(t, tracker, "test", "t")
+ require.Equal(t, "", tblInfo.Comment)
+
+ sql = "alter table test.t comment = '123';"
+ execAlter(t, tracker, sql)
+ require.Equal(t, "", tblInfo.Comment)
+
+ tblInfo = mustTableByName(t, tracker, "test", "t")
+ require.Equal(t, "123", tblInfo.Comment)
+
+ require.Equal(t, "latin1", tblInfo.Charset)
+ require.Equal(t, "latin1_bin", tblInfo.Collate)
+ require.Equal(t, "latin1", tblInfo.Columns[0].GetCharset())
+ require.Equal(t, "latin1_bin", tblInfo.Columns[0].GetCollate())
+
+ sql = "alter table test.t convert to character set utf8mb4 collate utf8mb4_general_ci;"
+ execAlter(t, tracker, sql)
+ require.Equal(t, "latin1", tblInfo.Charset)
+ require.Equal(t, "latin1_bin", tblInfo.Collate)
+ require.Equal(t, "latin1", tblInfo.Columns[0].GetCharset())
+ require.Equal(t, "latin1_bin", tblInfo.Columns[0].GetCollate())
+ tblInfo = mustTableByName(t, tracker, "test", "t")
+ require.Equal(t, "utf8mb4", tblInfo.Charset)
+ require.Equal(t, "utf8mb4_general_ci", tblInfo.Collate)
+ require.Equal(t, "utf8mb4", tblInfo.Columns[0].GetCharset())
+ require.Equal(t, "utf8mb4_general_ci", tblInfo.Columns[0].GetCollate())
+}
+
var _ sqlexec.RestrictedSQLExecutor = (*mockRestrictedSQLExecutor)(nil)
type mockRestrictedSQLExecutor struct {
@@ -462,7 +503,6 @@ func TestModifyFromNullToNotNull(t *testing.T) {
err = tracker.AlterTable(ctx, executorCtx, stmt.(*ast.AlterTableStmt))
require.NoError(t, err)
- tblInfo, err := tracker.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
- require.NoError(t, err)
+ tblInfo := mustTableByName(t, tracker, "test", "t")
require.Len(t, tblInfo.Columns, 2)
}
diff --git a/ddl/schematracker/info_store.go b/ddl/schematracker/info_store.go
index 6c0739d960b3c..d6bb970591c8b 100644
--- a/ddl/schematracker/info_store.go
+++ b/ddl/schematracker/info_store.go
@@ -88,6 +88,15 @@ func (i *InfoStore) TableByName(schema, table model.CIStr) (*model.TableInfo, er
return tbl, nil
}
+// TableClonedByName is like TableByName, plus it will clone the TableInfo.
+func (i *InfoStore) TableClonedByName(schema, table model.CIStr) (*model.TableInfo, error) {
+ tbl, err := i.TableByName(schema, table)
+ if err != nil {
+ return nil, err
+ }
+ return tbl.Clone(), nil
+}
+
// PutTable puts a TableInfo, it will overwrite the old one. If the schema doesn't exist, it will return ErrDatabaseNotExists.
func (i *InfoStore) PutTable(schemaName model.CIStr, tblInfo *model.TableInfo) error {
schemaKey := i.ciStr2Key(schemaName)
diff --git a/ddl/sequence_test.go b/ddl/sequence_test.go
index df58df12b0ebd..9b798c9f45eea 100644
--- a/ddl/sequence_test.go
+++ b/ddl/sequence_test.go
@@ -62,8 +62,7 @@ func TestCreateSequence(t *testing.T) {
// test unsupported table option in sequence.
tk.MustGetErrCode("create sequence seq CHARSET=utf8", mysql.ErrSequenceUnsupportedTableOption)
- _, err := tk.Exec("create sequence seq comment=\"test\"")
- require.NoError(t, err)
+ tk.MustExec("create sequence seq comment=\"test\"")
sequenceTable := external.GetTableByName(t, tk, "test", "seq")
diff --git a/ddl/serial_test.go b/ddl/serial_test.go
index d99036ed4dc51..970f60a95ff96 100644
--- a/ddl/serial_test.go
+++ b/ddl/serial_test.go
@@ -112,6 +112,7 @@ func TestCreateTableWithLike(t *testing.T) {
tk.MustExec("use ctwl_db")
tk.MustExec("create table tt(id int primary key)")
tk.MustExec("create table t (c1 int not null auto_increment, c2 int, constraint cc foreign key (c2) references tt(id), primary key(c1)) auto_increment = 10")
+ tk.MustExec("set @@foreign_key_checks=0")
tk.MustExec("insert into t set c2=1")
tk.MustExec("create table t1 like ctwl_db.t")
tk.MustExec("insert into t1 set c2=11")
@@ -297,7 +298,7 @@ func TestCreateTableWithLikeAtTemporaryMode(t *testing.T) {
// Test foreign key.
tk.MustExec("drop table if exists test_foreign_key, t1")
- tk.MustExec("create table t1 (a int, b int)")
+ tk.MustExec("create table t1 (a int, b int, index(b))")
tk.MustExec("create table test_foreign_key (c int,d int,foreign key (d) references t1 (b))")
defer tk.MustExec("drop table if exists test_foreign_key, t1")
tk.MustExec("create global temporary table test_foreign_key_temp like test_foreign_key on commit delete rows")
@@ -382,7 +383,7 @@ func TestCreateTableWithLikeAtTemporaryMode(t *testing.T) {
defer tk.MustExec("drop table if exists partition_table, tmp_partition_table")
tk.MustExec("drop table if exists foreign_key_table1, foreign_key_table2, foreign_key_tmp")
- tk.MustExec("create table foreign_key_table1 (a int, b int)")
+ tk.MustExec("create table foreign_key_table1 (a int, b int, index(b))")
tk.MustExec("create table foreign_key_table2 (c int,d int,foreign key (d) references foreign_key_table1 (b))")
tk.MustExec("create temporary table foreign_key_tmp like foreign_key_table2")
is = sessiontxn.GetTxnManager(tk.Session()).GetTxnInfoSchema()
@@ -461,6 +462,70 @@ func TestCancelAddIndexPanic(t *testing.T) {
require.Truef(t, strings.HasPrefix(errMsg, "[ddl:8214]Cancelled DDL job"), "%v", errMsg)
}
+func TestRecoverTableWithTTL(t *testing.T) {
+ store, _ := createMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("create database if not exists test_recover")
+ tk.MustExec("use test_recover")
+ defer func(originGC bool) {
+ if originGC {
+ util.EmulatorGCEnable()
+ } else {
+ util.EmulatorGCDisable()
+ }
+ }(util.IsEmulatorGCEnable())
+
+ // disable emulator GC.
+ // Otherwise emulator GC will delete table record as soon as possible after execute drop table ddl.
+ util.EmulatorGCDisable()
+ gcTimeFormat := "20060102-15:04:05 -0700 MST"
+ safePointSQL := `INSERT HIGH_PRIORITY INTO mysql.tidb VALUES ('tikv_gc_safe_point', '%[1]s', '')
+ ON DUPLICATE KEY
+ UPDATE variable_value = '%[1]s'`
+ tk.MustExec(fmt.Sprintf(safePointSQL, time.Now().Add(-time.Hour).Format(gcTimeFormat)))
+ getDDLJobID := func(table, tp string) int64 {
+ rs, err := tk.Exec("admin show ddl jobs")
+ require.NoError(t, err)
+ rows, err := session.GetRows4Test(context.Background(), tk.Session(), rs)
+ require.NoError(t, err)
+ for _, row := range rows {
+ if row.GetString(2) == table && row.GetString(3) == tp {
+ return row.GetInt64(0)
+ }
+ }
+ require.FailNowf(t, "can't find %s table of %s", tp, table)
+ return -1
+ }
+
+ // recover table
+ tk.MustExec("create table t_recover1 (t timestamp) TTL=`t`+INTERVAL 1 DAY")
+ tk.MustExec("drop table t_recover1")
+ tk.MustExec("recover table t_recover1")
+ tk.MustQuery("show create table t_recover1").Check(testkit.Rows("t_recover1 CREATE TABLE `t_recover1` (\n `t` timestamp NULL DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`t` + INTERVAL 1 DAY */ /*T![ttl] TTL_ENABLE='OFF' */ /*T![ttl] TTL_JOB_INTERVAL='1h' */"))
+
+ // recover table with job id
+ tk.MustExec("create table t_recover2 (t timestamp) TTL=`t`+INTERVAL 1 DAY")
+ tk.MustExec("drop table t_recover2")
+ jobID := getDDLJobID("t_recover2", "drop table")
+ tk.MustExec(fmt.Sprintf("recover table BY JOB %d", jobID))
+ tk.MustQuery("show create table t_recover2").Check(testkit.Rows("t_recover2 CREATE TABLE `t_recover2` (\n `t` timestamp NULL DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`t` + INTERVAL 1 DAY */ /*T![ttl] TTL_ENABLE='OFF' */ /*T![ttl] TTL_JOB_INTERVAL='1h' */"))
+
+ // flashback table
+ tk.MustExec("create table t_recover3 (t timestamp) TTL=`t`+INTERVAL 1 DAY")
+ tk.MustExec("drop table t_recover3")
+ tk.MustExec("flashback table t_recover3")
+ tk.MustQuery("show create table t_recover3").Check(testkit.Rows("t_recover3 CREATE TABLE `t_recover3` (\n `t` timestamp NULL DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`t` + INTERVAL 1 DAY */ /*T![ttl] TTL_ENABLE='OFF' */ /*T![ttl] TTL_JOB_INTERVAL='1h' */"))
+
+ // flashback database
+ tk.MustExec("create database if not exists test_recover2")
+ tk.MustExec("create table test_recover2.t1 (t timestamp) TTL=`t`+INTERVAL 1 DAY")
+ tk.MustExec("create table test_recover2.t2 (t timestamp) TTL=`t`+INTERVAL 1 DAY")
+ tk.MustExec("drop database test_recover2")
+ tk.MustExec("flashback database test_recover2")
+ tk.MustQuery("show create table test_recover2.t1").Check(testkit.Rows("t1 CREATE TABLE `t1` (\n `t` timestamp NULL DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`t` + INTERVAL 1 DAY */ /*T![ttl] TTL_ENABLE='OFF' */ /*T![ttl] TTL_JOB_INTERVAL='1h' */"))
+ tk.MustQuery("show create table test_recover2.t2").Check(testkit.Rows("t2 CREATE TABLE `t2` (\n `t` timestamp NULL DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`t` + INTERVAL 1 DAY */ /*T![ttl] TTL_ENABLE='OFF' */ /*T![ttl] TTL_JOB_INTERVAL='1h' */"))
+}
+
func TestRecoverTableByJobID(t *testing.T) {
store, _ := createMockStoreAndDomain(t)
tk := testkit.NewTestKit(t, store)
diff --git a/ddl/stat.go b/ddl/stat.go
index 24462f9bb141a..15be82d6719ae 100644
--- a/ddl/stat.go
+++ b/ddl/stat.go
@@ -15,6 +15,8 @@
package ddl
import (
+ "encoding/hex"
+
"github.com/pingcap/errors"
"github.com/pingcap/tidb/sessionctx/variable"
)
@@ -79,7 +81,7 @@ func (d *ddl) Stats(vars *variable.SessionVars) (map[string]interface{}, error)
m[ddlJobSchemaID] = job.SchemaID
m[ddlJobTableID] = job.TableID
m[ddlJobSnapshotVer] = job.SnapshotVer
- m[ddlJobReorgHandle] = tryDecodeToHandleString(ddlInfo.ReorgHandle)
+ m[ddlJobReorgHandle] = hex.EncodeToString(ddlInfo.ReorgHandle)
m[ddlJobArgs] = job.Args
return m, nil
}
diff --git a/ddl/stat_test.go b/ddl/stat_test.go
index 67d64c7c6cfa5..db8abc45be30c 100644
--- a/ddl/stat_test.go
+++ b/ddl/stat_test.go
@@ -16,6 +16,7 @@ package ddl_test
import (
"context"
+ "encoding/hex"
"fmt"
"strconv"
"testing"
@@ -24,15 +25,14 @@ import (
"github.com/pingcap/failpoint"
"github.com/pingcap/tidb/ddl"
"github.com/pingcap/tidb/kv"
- "github.com/pingcap/tidb/meta"
"github.com/pingcap/tidb/parser/ast"
"github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/parser/terror"
"github.com/pingcap/tidb/session"
"github.com/pingcap/tidb/sessionctx"
- "github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/sessiontxn"
+ "github.com/pingcap/tidb/tablecodec"
"github.com/pingcap/tidb/testkit"
"github.com/pingcap/tidb/types"
"github.com/stretchr/testify/require"
@@ -42,13 +42,14 @@ func TestDDLStatsInfo(t *testing.T) {
store, domain := testkit.CreateMockStoreAndDomainWithSchemaLease(t, testLease)
d := domain.DDL()
+ tk := testkit.NewTestKit(t, store)
+ ctx := tk.Session()
dbInfo, err := testSchemaInfo(store, "test_stat")
require.NoError(t, err)
- testCreateSchema(t, testkit.NewTestKit(t, store).Session(), d, dbInfo)
+ testCreateSchema(t, ctx, d, dbInfo)
tblInfo, err := testTableInfo(store, "t", 2)
require.NoError(t, err)
- testCreateTable(t, testkit.NewTestKit(t, store).Session(), d, dbInfo, tblInfo)
- ctx := testkit.NewTestKit(t, store).Session()
+ testCreateTable(t, ctx, d, dbInfo, tblInfo)
err = sessiontxn.NewTxn(context.Background(), ctx)
require.NoError(t, err)
@@ -89,7 +90,11 @@ func TestDDLStatsInfo(t *testing.T) {
varMap, err := d.Stats(nil)
wg.Done()
require.NoError(t, err)
- require.Equal(t, "1", varMap[ddlJobReorgHandle])
+ key, err := hex.DecodeString(varMap[ddlJobReorgHandle].(string))
+ require.NoError(t, err)
+ _, h, err := tablecodec.DecodeRecordKey(key)
+ require.NoError(t, err)
+ require.Equal(t, h.IntValue(), int64(1))
}
}
}
@@ -145,20 +150,13 @@ func TestGetDDLInfo(t *testing.T) {
}
func addDDLJobs(sess session.Session, txn kv.Transaction, job *model.Job) error {
- if variable.EnableConcurrentDDL.Load() {
- b, err := job.Encode(true)
- if err != nil {
- return err
- }
- _, err = sess.Execute(kv.WithInternalSourceType(context.Background(), kv.InternalTxnDDL), fmt.Sprintf("insert into mysql.tidb_ddl_job(job_id, reorg, schema_ids, table_ids, job_meta, type, processing) values (%d, %t, %s, %s, %s, %d, %t)",
- job.ID, job.MayNeedReorg(), strconv.Quote(strconv.FormatInt(job.SchemaID, 10)), strconv.Quote(strconv.FormatInt(job.TableID, 10)), wrapKey2String(b), job.Type, false))
+ b, err := job.Encode(true)
+ if err != nil {
return err
}
- m := meta.NewMeta(txn)
- if job.MayNeedReorg() {
- return m.EnQueueDDLJob(job, meta.AddIndexJobListKey)
- }
- return m.EnQueueDDLJob(job)
+ _, err = sess.Execute(kv.WithInternalSourceType(context.Background(), kv.InternalTxnDDL), fmt.Sprintf("insert into mysql.tidb_ddl_job(job_id, reorg, schema_ids, table_ids, job_meta, type, processing) values (%d, %t, %s, %s, %s, %d, %t)",
+ job.ID, job.MayNeedReorg(), strconv.Quote(strconv.FormatInt(job.SchemaID, 10)), strconv.Quote(strconv.FormatInt(job.TableID, 10)), wrapKey2String(b), job.Type, false))
+ return err
}
func wrapKey2String(key []byte) string {
diff --git a/ddl/syncer/syncer.go b/ddl/syncer/syncer.go
index ff7eaaa446893..e28d3d4954ca0 100644
--- a/ddl/syncer/syncer.go
+++ b/ddl/syncer/syncer.go
@@ -359,12 +359,6 @@ func (s *schemaVersionSyncer) OwnerCheckAllVersions(ctx context.Context, jobID i
}
if succ {
- if variable.EnableMDL.Load() {
- _, err = s.etcdCli.Delete(ctx, path, clientv3.WithPrefix())
- if err != nil {
- logutil.BgLogger().Warn("[ddl] syncer delete versions failed", zap.Any("job id", jobID), zap.Error(err))
- }
- }
return nil
}
time.Sleep(checkVersInterval)
diff --git a/ddl/table.go b/ddl/table.go
index df329fd973c06..a27eeb4df42fa 100644
--- a/ddl/table.go
+++ b/ddl/table.go
@@ -404,6 +404,11 @@ func (w *worker) onRecoverTable(d *ddlCtx, t *meta.Meta, job *model.Job) (ver in
schemaID := recoverInfo.SchemaID
tblInfo := recoverInfo.TableInfo
+ if tblInfo.TTLInfo != nil {
+ // force disable TTL job schedule for recovered table
+ tblInfo.TTLInfo.Enable = false
+ }
+
// check GC and safe point
gcEnable, err := checkGCEnable(w)
if err != nil {
@@ -812,8 +817,8 @@ func onTruncateTable(d *ddlCtx, t *meta.Meta, job *model.Job) (ver int64, _ erro
return ver, nil
}
-func onRebaseRowIDType(d *ddlCtx, t *meta.Meta, job *model.Job) (ver int64, _ error) {
- return onRebaseAutoID(d, d.store, t, job, autoid.RowIDAllocType)
+func onRebaseAutoIncrementIDType(d *ddlCtx, t *meta.Meta, job *model.Job) (ver int64, _ error) {
+ return onRebaseAutoID(d, d.store, t, job, autoid.AutoIncrementType)
}
func onRebaseAutoRandomType(d *ddlCtx, t *meta.Meta, job *model.Job) (ver int64, _ error) {
@@ -862,7 +867,7 @@ func onRebaseAutoID(d *ddlCtx, store kv.Storage, t *meta.Meta, job *model.Job, t
newBase = newBaseTemp
}
- if tp == autoid.RowIDAllocType {
+ if tp == autoid.AutoIncrementType {
tblInfo.AutoIncID = newBase
} else {
tblInfo.AutoRandID = newBase
@@ -1341,6 +1346,7 @@ func onUpdateFlashReplicaStatus(d *ddlCtx, t *meta.Meta, job *model.Job) (ver in
newIDs = append(newIDs, tblInfo.TiFlashReplica.AvailablePartitionIDs[i+1:]...)
tblInfo.TiFlashReplica.AvailablePartitionIDs = newIDs
tblInfo.TiFlashReplica.Available = false
+ logutil.BgLogger().Info("TiFlash replica become unavailable", zap.Int64("tableID", tblInfo.ID), zap.Int64("partitionID", id))
break
}
}
@@ -1350,6 +1356,9 @@ func onUpdateFlashReplicaStatus(d *ddlCtx, t *meta.Meta, job *model.Job) (ver in
return ver, errors.Errorf("unknown physical ID %v in table %v", physicalID, tblInfo.Name.O)
}
+ if tblInfo.TiFlashReplica.Available {
+ logutil.BgLogger().Info("TiFlash replica available", zap.Int64("tableID", tblInfo.ID))
+ }
ver, err = updateVersionAndTableInfo(d, t, job, tblInfo, true)
if err != nil {
return ver, errors.Trace(err)
diff --git a/ddl/table_modify_test.go b/ddl/table_modify_test.go
index f4b273771fd46..590fea8ad973d 100644
--- a/ddl/table_modify_test.go
+++ b/ddl/table_modify_test.go
@@ -117,7 +117,6 @@ func TestLockTableReadOnly(t *testing.T) {
tk1 := testkit.NewTestKit(t, store)
tk2 := testkit.NewTestKit(t, store)
tk1.MustExec("use test")
- tk1.MustExec("set global tidb_enable_metadata_lock=0")
tk2.MustExec("use test")
tk1.MustExec("drop table if exists t1,t2")
defer func() {
@@ -162,17 +161,6 @@ func TestLockTableReadOnly(t *testing.T) {
require.True(t, terror.ErrorEqual(tk2.ExecToErr("lock tables t1 write local"), infoschema.ErrTableLocked))
tk1.MustExec("admin cleanup table lock t1")
tk2.MustExec("insert into t1 set a=1, b=2")
-
- tk1.MustExec("set tidb_enable_amend_pessimistic_txn = 1")
- tk1.MustExec("begin pessimistic")
- tk1.MustQuery("select * from t1 where a = 1").Check(testkit.Rows("1 2"))
- tk2.MustExec("update t1 set b = 3")
- tk2.MustExec("alter table t1 read only")
- tk2.MustQuery("select * from t1 where a = 1").Check(testkit.Rows("1 3"))
- tk1.MustQuery("select * from t1 where a = 1").Check(testkit.Rows("1 2"))
- tk1.MustExec("update t1 set b = 4")
- require.True(t, terror.ErrorEqual(tk1.ExecToErr("commit"), domain.ErrInfoSchemaChanged))
- tk2.MustExec("alter table t1 read write")
}
// TestConcurrentLockTables test concurrent lock/unlock tables.
diff --git a/ddl/table_test.go b/ddl/table_test.go
index a9320e01cc781..e0e1c45e3b0ef 100644
--- a/ddl/table_test.go
+++ b/ddl/table_test.go
@@ -24,7 +24,9 @@ import (
"github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/meta"
"github.com/pingcap/tidb/meta/autoid"
+ "github.com/pingcap/tidb/parser/ast"
"github.com/pingcap/tidb/parser/model"
+ "github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/sessionctx"
"github.com/pingcap/tidb/sessiontxn"
"github.com/pingcap/tidb/table"
@@ -158,7 +160,7 @@ func testGetTableWithError(store kv.Storage, schemaID, tableID int64) (table.Tab
return nil, errors.New("table not found")
}
alloc := autoid.NewAllocator(store, schemaID, tblInfo.ID, false, autoid.RowIDAllocType)
- tbl, err := table.TableFromMeta(autoid.NewAllocators(alloc), tblInfo)
+ tbl, err := table.TableFromMeta(autoid.NewAllocators(false, alloc), tblInfo)
if err != nil {
return nil, errors.Trace(err)
}
@@ -371,3 +373,82 @@ func TestCreateTables(t *testing.T) {
testGetTable(t, domain, genIDs[1])
testGetTable(t, domain, genIDs[2])
}
+
+func TestAlterTTL(t *testing.T) {
+ store, domain := testkit.CreateMockStoreAndDomainWithSchemaLease(t, testLease)
+
+ d := domain.DDL()
+
+ dbInfo, err := testSchemaInfo(store, "test_table")
+ require.NoError(t, err)
+ testCreateSchema(t, testkit.NewTestKit(t, store).Session(), d, dbInfo)
+
+ ctx := testkit.NewTestKit(t, store).Session()
+
+ // initialize a table with ttlInfo
+ tableName := "t"
+ tblInfo, err := testTableInfo(store, tableName, 2)
+ require.NoError(t, err)
+ tblInfo.Columns[0].FieldType = *types.NewFieldType(mysql.TypeDatetime)
+ tblInfo.Columns[1].FieldType = *types.NewFieldType(mysql.TypeDatetime)
+ tblInfo.TTLInfo = &model.TTLInfo{
+ ColumnName: tblInfo.Columns[0].Name,
+ IntervalExprStr: "5",
+ IntervalTimeUnit: int(ast.TimeUnitDay),
+ }
+
+ // create table
+ job := testCreateTable(t, ctx, d, dbInfo, tblInfo)
+ testCheckTableState(t, store, dbInfo, tblInfo, model.StatePublic)
+ testCheckJobDone(t, store, job.ID, true)
+
+ // submit ddl job to modify ttlInfo
+ tableInfoAfterAlterTTLInfo := tblInfo.Clone()
+ require.NoError(t, err)
+ tableInfoAfterAlterTTLInfo.TTLInfo = &model.TTLInfo{
+ ColumnName: tblInfo.Columns[1].Name,
+ IntervalExprStr: "1",
+ IntervalTimeUnit: int(ast.TimeUnitYear),
+ }
+
+ job = &model.Job{
+ SchemaID: dbInfo.ID,
+ TableID: tblInfo.ID,
+ Type: model.ActionAlterTTLInfo,
+ BinlogInfo: &model.HistoryInfo{},
+ Args: []interface{}{&model.TTLInfo{
+ ColumnName: tblInfo.Columns[1].Name,
+ IntervalExprStr: "1",
+ IntervalTimeUnit: int(ast.TimeUnitYear),
+ }},
+ }
+ ctx.SetValue(sessionctx.QueryString, "skip")
+ require.NoError(t, d.DoDDLJob(ctx, job))
+
+ v := getSchemaVer(t, ctx)
+ checkHistoryJobArgs(t, ctx, job.ID, &historyJobArgs{ver: v, tbl: nil})
+
+ // assert the ddlInfo as expected
+ historyJob, err := ddl.GetHistoryJobByID(testkit.NewTestKit(t, store).Session(), job.ID)
+ require.NoError(t, err)
+ require.Equal(t, tableInfoAfterAlterTTLInfo.TTLInfo, historyJob.BinlogInfo.TableInfo.TTLInfo)
+
+ // submit a ddl job to modify ttlEnabled
+ job = &model.Job{
+ SchemaID: dbInfo.ID,
+ TableID: tblInfo.ID,
+ Type: model.ActionAlterTTLRemove,
+ BinlogInfo: &model.HistoryInfo{},
+ Args: []interface{}{true},
+ }
+ ctx.SetValue(sessionctx.QueryString, "skip")
+ require.NoError(t, d.DoDDLJob(ctx, job))
+
+ v = getSchemaVer(t, ctx)
+ checkHistoryJobArgs(t, ctx, job.ID, &historyJobArgs{ver: v, tbl: nil})
+
+ // assert the ddlInfo as expected
+ historyJob, err = ddl.GetHistoryJobByID(testkit.NewTestKit(t, store).Session(), job.ID)
+ require.NoError(t, err)
+ require.Empty(t, historyJob.BinlogInfo.TableInfo.TTLInfo)
+}
diff --git a/ddl/tiflashtest/BUILD.bazel b/ddl/tiflashtest/BUILD.bazel
new file mode 100644
index 0000000000000..2a803cf03c5af
--- /dev/null
+++ b/ddl/tiflashtest/BUILD.bazel
@@ -0,0 +1,36 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_test")
+
+go_test(
+ name = "tiflashtest_test",
+ srcs = [
+ "ddl_tiflash_test.go",
+ "main_test.go",
+ ],
+ flaky = True,
+ deps = [
+ "//config",
+ "//ddl",
+ "//ddl/placement",
+ "//ddl/util",
+ "//domain",
+ "//domain/infosync",
+ "//kv",
+ "//parser/model",
+ "//session",
+ "//store/gcworker",
+ "//store/mockstore",
+ "//store/mockstore/unistore",
+ "//table",
+ "//testkit",
+ "//testkit/testsetup",
+ "//util",
+ "//util/logutil",
+ "@com_github_pingcap_failpoint//:failpoint",
+ "@com_github_pingcap_kvproto//pkg/metapb",
+ "@com_github_stretchr_testify//require",
+ "@com_github_tikv_client_go_v2//oracle",
+ "@com_github_tikv_client_go_v2//testutils",
+ "@org_uber_go_goleak//:goleak",
+ "@org_uber_go_zap//:zap",
+ ],
+)
diff --git a/ddl/ddl_tiflash_test.go b/ddl/tiflashtest/ddl_tiflash_test.go
similarity index 92%
rename from ddl/ddl_tiflash_test.go
rename to ddl/tiflashtest/ddl_tiflash_test.go
index 27d05112df483..d1d0368138b18 100644
--- a/ddl/ddl_tiflash_test.go
+++ b/ddl/tiflashtest/ddl_tiflash_test.go
@@ -16,7 +16,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSES/QL-LICENSE file.
-package ddl_test
+package tiflashtest
import (
"context"
@@ -45,6 +45,7 @@ import (
"github.com/pingcap/tidb/util"
"github.com/pingcap/tidb/util/logutil"
"github.com/stretchr/testify/require"
+ "github.com/tikv/client-go/v2/oracle"
"github.com/tikv/client-go/v2/testutils"
"go.uber.org/zap"
)
@@ -126,10 +127,6 @@ func ChangeGCSafePoint(tk *testkit.TestKit, t time.Time, enable string, lifeTime
tk.MustExec(s)
}
-func CheckPlacementRule(tiflash *infosync.MockTiFlash, rule placement.TiFlashRule) bool {
- return tiflash.CheckPlacementRule(rule)
-}
-
func (s *tiflashContext) CheckFlashback(tk *testkit.TestKit, t *testing.T) {
// If table is dropped after tikv_gc_safe_point, it can be recovered
ChangeGCSafePoint(tk, time.Now().Add(-time.Hour), "false", "10m0s")
@@ -442,6 +439,44 @@ func TestTiFlashDropPartition(t *testing.T) {
CheckTableAvailableWithTableName(s.dom, t, 1, []string{}, "test", "ddltiflash")
}
+func TestTiFlashFlashbackCluster(t *testing.T) {
+ s, teardown := createTiFlashContext(t)
+ defer teardown()
+ tk := testkit.NewTestKit(t, s.store)
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(a int)")
+ tk.MustExec("insert into t values (1), (2), (3)")
+
+ ts, err := tk.Session().GetStore().GetOracle().GetTimestamp(context.Background(), &oracle.Option{})
+ require.NoError(t, err)
+
+ tk.MustExec("alter table t set tiflash replica 1")
+ time.Sleep(ddl.PollTiFlashInterval * RoundToBeAvailable)
+ CheckTableAvailableWithTableName(s.dom, t, 1, []string{}, "test", "t")
+
+ injectSafeTS := oracle.GoTimeToTS(oracle.GetTimeFromTS(ts).Add(10 * time.Second))
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/ddl/mockFlashbackTest", `return(true)`))
+ require.NoError(t, failpoint.Enable("tikvclient/injectSafeTS",
+ fmt.Sprintf("return(%v)", injectSafeTS)))
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/expression/injectSafeTS",
+ fmt.Sprintf("return(%v)", injectSafeTS)))
+
+ ChangeGCSafePoint(tk, time.Now().Add(-10*time.Second), "true", "10m0s")
+ defer func() {
+ ChangeGCSafePoint(tk, time.Now(), "true", "10m0s")
+ }()
+
+ errorMsg := fmt.Sprintf("[ddl:-1]Detected unsupported DDL job type(%s) during [%s, now), can't do flashback",
+ model.ActionSetTiFlashReplica.String(), oracle.GetTimeFromTS(ts).String())
+ tk.MustGetErrMsg(fmt.Sprintf("flashback cluster to timestamp '%s'", oracle.GetTimeFromTS(ts)), errorMsg)
+
+ require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/ddl/mockFlashbackTest"))
+ require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/expression/injectSafeTS"))
+ require.NoError(t, failpoint.Disable("tikvclient/injectSafeTS"))
+}
+
func CheckTableAvailableWithTableName(dom *domain.Domain, t *testing.T, count uint64, labels []string, db string, table string) {
tb, err := dom.InfoSchema().TableByName(model.NewCIStr(db), model.NewCIStr(table))
require.NoError(t, err)
@@ -524,7 +559,7 @@ func TestSetPlacementRuleNormal(t *testing.T) {
tb, err := s.dom.InfoSchema().TableByName(model.NewCIStr("test"), model.NewCIStr("ddltiflash"))
require.NoError(t, err)
expectRule := infosync.MakeNewRule(tb.Meta().ID, 1, []string{"a", "b"})
- res := CheckPlacementRule(s.tiflash, *expectRule)
+ res := s.tiflash.CheckPlacementRule(*expectRule)
require.True(t, res)
// Set lastSafePoint to a timepoint in future, so all dropped table can be reckon as gc-ed.
@@ -536,7 +571,7 @@ func TestSetPlacementRuleNormal(t *testing.T) {
defer fCancelPD()
tk.MustExec("drop table ddltiflash")
expectRule = infosync.MakeNewRule(tb.Meta().ID, 1, []string{"a", "b"})
- res = CheckPlacementRule(s.tiflash, *expectRule)
+ res = s.tiflash.CheckPlacementRule(*expectRule)
require.True(t, res)
}
@@ -580,7 +615,7 @@ func TestSetPlacementRuleWithGCWorker(t *testing.T) {
require.NoError(t, err)
expectRule := infosync.MakeNewRule(tb.Meta().ID, 1, []string{"a", "b"})
- res := CheckPlacementRule(s.tiflash, *expectRule)
+ res := s.tiflash.CheckPlacementRule(*expectRule)
require.True(t, res)
ChangeGCSafePoint(tk, time.Now().Add(-time.Hour), "true", "10m0s")
@@ -590,7 +625,7 @@ func TestSetPlacementRuleWithGCWorker(t *testing.T) {
// Wait GC
time.Sleep(ddl.PollTiFlashInterval * RoundToBeAvailable)
- res = CheckPlacementRule(s.tiflash, *expectRule)
+ res = s.tiflash.CheckPlacementRule(*expectRule)
require.False(t, res)
}
@@ -611,7 +646,7 @@ func TestSetPlacementRuleFail(t *testing.T) {
require.NoError(t, err)
expectRule := infosync.MakeNewRule(tb.Meta().ID, 1, []string{})
- res := CheckPlacementRule(s.tiflash, *expectRule)
+ res := s.tiflash.CheckPlacementRule(*expectRule)
require.False(t, res)
}
@@ -1264,3 +1299,38 @@ func TestTiFlashPartitionNotAvailable(t *testing.T) {
require.NotNil(t, replica)
require.True(t, replica.Available)
}
+
+func TestTiFlashAvailableAfterAddPartition(t *testing.T) {
+ s, teardown := createTiFlashContext(t)
+ defer teardown()
+ tk := testkit.NewTestKit(t, s.store)
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists ddltiflash")
+ tk.MustExec("create table ddltiflash(z int) PARTITION BY RANGE(z) (PARTITION p0 VALUES LESS THAN (10))")
+ tk.MustExec("alter table ddltiflash set tiflash replica 1")
+ time.Sleep(ddl.PollTiFlashInterval * RoundToBeAvailable * 3)
+ CheckTableAvailable(s.dom, t, 1, []string{})
+
+ tb, err := s.dom.InfoSchema().TableByName(model.NewCIStr("test"), model.NewCIStr("ddltiflash"))
+ require.NoError(t, err)
+ require.NotNil(t, tb)
+
+ // still available after adding partition.
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/ddl/sleepBeforeReplicaOnly", `return(2)`))
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/ddl/waitForAddPartition", `return(3)`))
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/ddl/PollTiFlashReplicaStatusReplaceCurAvailableValue", `return(false)`))
+ defer func() {
+ require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/ddl/sleepBeforeReplicaOnly"))
+ require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/ddl/waitForAddPartition"))
+ require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/ddl/PollTiFlashReplicaStatusReplaceCurAvailableValue"))
+ }()
+ tk.MustExec("ALTER TABLE ddltiflash ADD PARTITION (PARTITION pn VALUES LESS THAN (20))")
+ time.Sleep(ddl.PollTiFlashInterval * RoundToBeAvailable * 3)
+ CheckTableAvailable(s.dom, t, 1, []string{})
+ tb, err = s.dom.InfoSchema().TableByName(model.NewCIStr("test"), model.NewCIStr("ddltiflash"))
+ require.NoError(t, err)
+ pi := tb.Meta().GetPartitionInfo()
+ require.NotNil(t, pi)
+ require.Equal(t, len(pi.Definitions), 2)
+}
diff --git a/ddl/concurrentddltest/main_test.go b/ddl/tiflashtest/main_test.go
similarity index 88%
rename from ddl/concurrentddltest/main_test.go
rename to ddl/tiflashtest/main_test.go
index 4ab7e96eab2ae..68063ce27071b 100644
--- a/ddl/concurrentddltest/main_test.go
+++ b/ddl/tiflashtest/main_test.go
@@ -12,7 +12,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package concurrentddltest
+// Copyright 2013 The ql Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSES/QL-LICENSE file.
+
+package tiflashtest
import (
"testing"
diff --git a/ddl/ttl.go b/ddl/ttl.go
new file mode 100644
index 0000000000000..e707b61ea9fbd
--- /dev/null
+++ b/ddl/ttl.go
@@ -0,0 +1,210 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package ddl
+
+import (
+ "fmt"
+ "strings"
+
+ "github.com/pingcap/errors"
+ "github.com/pingcap/tidb/expression"
+ "github.com/pingcap/tidb/meta"
+ "github.com/pingcap/tidb/parser"
+ "github.com/pingcap/tidb/parser/ast"
+ "github.com/pingcap/tidb/parser/duration"
+ "github.com/pingcap/tidb/parser/format"
+ "github.com/pingcap/tidb/parser/model"
+ "github.com/pingcap/tidb/sessionctx"
+ "github.com/pingcap/tidb/sessiontxn"
+ "github.com/pingcap/tidb/types"
+ "github.com/pingcap/tidb/util/dbterror"
+)
+
+func onTTLInfoRemove(d *ddlCtx, t *meta.Meta, job *model.Job) (ver int64, err error) {
+ tblInfo, err := GetTableInfoAndCancelFaultJob(t, job, job.SchemaID)
+ if err != nil {
+ return ver, errors.Trace(err)
+ }
+
+ tblInfo.TTLInfo = nil
+ ver, err = updateVersionAndTableInfo(d, t, job, tblInfo, true)
+ if err != nil {
+ return ver, errors.Trace(err)
+ }
+ job.FinishTableJob(model.JobStateDone, model.StatePublic, ver, tblInfo)
+ return ver, nil
+}
+
+func onTTLInfoChange(d *ddlCtx, t *meta.Meta, job *model.Job) (ver int64, err error) {
+ // at least one for them is not nil
+ var ttlInfo *model.TTLInfo
+ var ttlInfoEnable *bool
+ var ttlInfoJobInterval *duration.Duration
+
+ if err := job.DecodeArgs(&ttlInfo, &ttlInfoEnable, &ttlInfoJobInterval); err != nil {
+ job.State = model.JobStateCancelled
+ return ver, errors.Trace(err)
+ }
+
+ tblInfo, err := GetTableInfoAndCancelFaultJob(t, job, job.SchemaID)
+ if err != nil {
+ return ver, errors.Trace(err)
+ }
+
+ if ttlInfo != nil {
+ // if the TTL_ENABLE is not set explicitly, use the original value
+ if ttlInfoEnable == nil && tblInfo.TTLInfo != nil {
+ ttlInfo.Enable = tblInfo.TTLInfo.Enable
+ }
+ if ttlInfoJobInterval == nil && tblInfo.TTLInfo != nil {
+ ttlInfo.JobInterval = tblInfo.TTLInfo.JobInterval
+ }
+ tblInfo.TTLInfo = ttlInfo
+ }
+ if ttlInfoEnable != nil {
+ if tblInfo.TTLInfo == nil {
+ return ver, errors.Trace(dbterror.ErrSetTTLOptionForNonTTLTable.FastGenByArgs("TTL_ENABLE"))
+ }
+
+ tblInfo.TTLInfo.Enable = *ttlInfoEnable
+ }
+ if ttlInfoJobInterval != nil {
+ if tblInfo.TTLInfo == nil {
+ return ver, errors.Trace(dbterror.ErrSetTTLOptionForNonTTLTable.FastGenByArgs("TTL_JOB_INTERVAL"))
+ }
+
+ tblInfo.TTLInfo.JobInterval = *ttlInfoJobInterval
+ }
+
+ ver, err = updateVersionAndTableInfo(d, t, job, tblInfo, true)
+ if err != nil {
+ return ver, errors.Trace(err)
+ }
+ job.FinishTableJob(model.JobStateDone, model.StatePublic, ver, tblInfo)
+ return ver, nil
+}
+
+func checkTTLInfoValid(ctx sessionctx.Context, schema model.CIStr, tblInfo *model.TableInfo) error {
+ if err := checkTTLIntervalExpr(ctx, tblInfo.TTLInfo); err != nil {
+ return err
+ }
+
+ if err := checkTTLTableSuitable(ctx, schema, tblInfo); err != nil {
+ return err
+ }
+
+ return checkTTLInfoColumnType(tblInfo)
+}
+
+func checkTTLIntervalExpr(ctx sessionctx.Context, ttlInfo *model.TTLInfo) error {
+ // FIXME: use a better way to validate the interval expression in ttl
+ var nowAddIntervalExpr ast.ExprNode
+
+ unit := ast.TimeUnitType(ttlInfo.IntervalTimeUnit)
+ expr := fmt.Sprintf("select NOW() + INTERVAL %s %s", ttlInfo.IntervalExprStr, unit.String())
+ stmts, _, err := parser.New().ParseSQL(expr)
+ if err != nil {
+ // FIXME: the error information can be wrong, as it could indicate an unknown position to user.
+ return errors.Trace(err)
+ }
+ nowAddIntervalExpr = stmts[0].(*ast.SelectStmt).Fields.Fields[0].Expr
+ _, err = expression.EvalAstExpr(ctx, nowAddIntervalExpr)
+ return err
+}
+
+func checkTTLInfoColumnType(tblInfo *model.TableInfo) error {
+ colInfo := findColumnByName(tblInfo.TTLInfo.ColumnName.L, tblInfo)
+ if colInfo == nil {
+ return dbterror.ErrBadField.GenWithStackByArgs(tblInfo.TTLInfo.ColumnName.O, "TTL config")
+ }
+ if !types.IsTypeTime(colInfo.FieldType.GetType()) {
+ return dbterror.ErrUnsupportedColumnInTTLConfig.GenWithStackByArgs(tblInfo.TTLInfo.ColumnName.O)
+ }
+
+ return nil
+}
+
+// checkTTLTableSuitable returns whether this table is suitable to be a TTL table
+// A temporary table or a parent table referenced by a foreign key cannot be TTL table
+func checkTTLTableSuitable(ctx sessionctx.Context, schema model.CIStr, tblInfo *model.TableInfo) error {
+ if tblInfo.TempTableType != model.TempTableNone {
+ return dbterror.ErrTempTableNotAllowedWithTTL
+ }
+
+ // checks even when the foreign key check is not enabled, to keep safe
+ is := sessiontxn.GetTxnManager(ctx).GetTxnInfoSchema()
+ if referredFK := checkTableHasForeignKeyReferred(is, schema.L, tblInfo.Name.L, nil, true); referredFK != nil {
+ return dbterror.ErrUnsupportedTTLReferencedByFK
+ }
+
+ return nil
+}
+
+func checkDropColumnWithTTLConfig(tblInfo *model.TableInfo, colName string) error {
+ if tblInfo.TTLInfo != nil {
+ if tblInfo.TTLInfo.ColumnName.L == colName {
+ return dbterror.ErrTTLColumnCannotDrop.GenWithStackByArgs(colName)
+ }
+ }
+
+ return nil
+}
+
+// getTTLInfoInOptions returns the aggregated ttlInfo, the ttlEnable, or an error.
+// if TTL, TTL_ENABLE or TTL_JOB_INTERVAL is not set in the config, the corresponding return value will be nil.
+// if both of TTL and TTL_ENABLE are set, the `ttlInfo.Enable` will be equal with `ttlEnable`.
+// if both of TTL and TTL_JOB_INTERVAL are set, the `ttlInfo.JobInterval` will be equal with `ttlCronJobSchedule`.
+func getTTLInfoInOptions(options []*ast.TableOption) (ttlInfo *model.TTLInfo, ttlEnable *bool, ttlCronJobSchedule *duration.Duration, err error) {
+ for _, op := range options {
+ switch op.Tp {
+ case ast.TableOptionTTL:
+ var sb strings.Builder
+ restoreFlags := format.RestoreStringSingleQuotes | format.RestoreNameBackQuotes
+ restoreCtx := format.NewRestoreCtx(restoreFlags, &sb)
+ err := op.Value.Restore(restoreCtx)
+ if err != nil {
+ return nil, nil, nil, err
+ }
+
+ intervalExpr := sb.String()
+ ttlInfo = &model.TTLInfo{
+ ColumnName: op.ColumnName.Name,
+ IntervalExprStr: intervalExpr,
+ IntervalTimeUnit: int(op.TimeUnitValue.Unit),
+ Enable: true,
+ JobInterval: duration.Duration{Hour: 1},
+ }
+ case ast.TableOptionTTLEnable:
+ ttlEnable = &op.BoolValue
+ case ast.TableOptionTTLJobInterval:
+ schedule, err := duration.ParseDuration(op.StrValue)
+ if err != nil {
+ // this branch is actually unreachable, as the value has been validated in parser
+ return nil, nil, nil, err
+ }
+ ttlCronJobSchedule = &schedule
+ }
+ }
+
+ if ttlInfo != nil {
+ if ttlEnable != nil {
+ ttlInfo.Enable = *ttlEnable
+ }
+ if ttlCronJobSchedule != nil {
+ ttlInfo.JobInterval = *ttlCronJobSchedule
+ }
+ }
+ return ttlInfo, ttlEnable, ttlCronJobSchedule, nil
+}
diff --git a/ddl/ttl_test.go b/ddl/ttl_test.go
new file mode 100644
index 0000000000000..c1b984dfed2a1
--- /dev/null
+++ b/ddl/ttl_test.go
@@ -0,0 +1,150 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package ddl
+
+import (
+ "testing"
+
+ "github.com/pingcap/tidb/parser/ast"
+ "github.com/pingcap/tidb/parser/duration"
+ "github.com/pingcap/tidb/parser/model"
+ "github.com/stretchr/testify/assert"
+)
+
+func Test_getTTLInfoInOptions(t *testing.T) {
+ falseValue := false
+ trueValue := true
+
+ cases := []struct {
+ options []*ast.TableOption
+ ttlInfo *model.TTLInfo
+ ttlEnable *bool
+ ttlCronJobSchedule *duration.Duration
+ err error
+ }{
+ {
+ []*ast.TableOption{},
+ nil,
+ nil,
+ nil,
+ nil,
+ },
+ {
+ []*ast.TableOption{
+ {
+ Tp: ast.TableOptionTTL,
+ ColumnName: &ast.ColumnName{Name: model.NewCIStr("test_column")},
+ Value: ast.NewValueExpr(5, "", ""),
+ TimeUnitValue: &ast.TimeUnitExpr{Unit: ast.TimeUnitYear},
+ },
+ },
+ &model.TTLInfo{
+ ColumnName: model.NewCIStr("test_column"),
+ IntervalExprStr: "5",
+ IntervalTimeUnit: int(ast.TimeUnitYear),
+ Enable: true,
+ JobInterval: duration.Duration{Hour: 1},
+ },
+ nil,
+ nil,
+ nil,
+ },
+ {
+ []*ast.TableOption{
+ {
+ Tp: ast.TableOptionTTLEnable,
+ BoolValue: false,
+ },
+ {
+ Tp: ast.TableOptionTTL,
+ ColumnName: &ast.ColumnName{Name: model.NewCIStr("test_column")},
+ Value: ast.NewValueExpr(5, "", ""),
+ TimeUnitValue: &ast.TimeUnitExpr{Unit: ast.TimeUnitYear},
+ },
+ },
+ &model.TTLInfo{
+ ColumnName: model.NewCIStr("test_column"),
+ IntervalExprStr: "5",
+ IntervalTimeUnit: int(ast.TimeUnitYear),
+ Enable: false,
+ JobInterval: duration.Duration{Hour: 1},
+ },
+ &falseValue,
+ nil,
+ nil,
+ },
+ {
+ []*ast.TableOption{
+ {
+ Tp: ast.TableOptionTTLEnable,
+ BoolValue: false,
+ },
+ {
+ Tp: ast.TableOptionTTL,
+ ColumnName: &ast.ColumnName{Name: model.NewCIStr("test_column")},
+ Value: ast.NewValueExpr(5, "", ""),
+ TimeUnitValue: &ast.TimeUnitExpr{Unit: ast.TimeUnitYear},
+ },
+ {
+ Tp: ast.TableOptionTTLEnable,
+ BoolValue: true,
+ },
+ },
+ &model.TTLInfo{
+ ColumnName: model.NewCIStr("test_column"),
+ IntervalExprStr: "5",
+ IntervalTimeUnit: int(ast.TimeUnitYear),
+ Enable: true,
+ JobInterval: duration.Duration{Hour: 1},
+ },
+ &trueValue,
+ nil,
+ nil,
+ },
+ {
+ []*ast.TableOption{
+ {
+ Tp: ast.TableOptionTTL,
+ ColumnName: &ast.ColumnName{Name: model.NewCIStr("test_column")},
+ Value: ast.NewValueExpr(5, "", ""),
+ TimeUnitValue: &ast.TimeUnitExpr{Unit: ast.TimeUnitYear},
+ },
+ {
+ Tp: ast.TableOptionTTLJobInterval,
+ StrValue: "24h",
+ },
+ },
+ &model.TTLInfo{
+ ColumnName: model.NewCIStr("test_column"),
+ IntervalExprStr: "5",
+ IntervalTimeUnit: int(ast.TimeUnitYear),
+ Enable: true,
+ JobInterval: duration.Duration{Day: 1},
+ },
+ nil,
+ &duration.Duration{Day: 1},
+ nil,
+ },
+ }
+
+ for _, c := range cases {
+ ttlInfo, ttlEnable, ttlCronJobSchedule, err := getTTLInfoInOptions(c.options)
+
+ assert.Equal(t, c.ttlInfo, ttlInfo)
+ assert.Equal(t, c.ttlEnable, ttlEnable)
+ assert.Equal(t, c.ttlCronJobSchedule, ttlCronJobSchedule)
+ assert.Equal(t, c.err, err)
+ }
+}
diff --git a/distsql/distsql.go b/distsql/distsql.go
index 1f18d084eb0b2..3c65205f3d331 100644
--- a/distsql/distsql.go
+++ b/distsql/distsql.go
@@ -38,11 +38,11 @@ import (
)
// DispatchMPPTasks dispatches all tasks and returns an iterator.
-func DispatchMPPTasks(ctx context.Context, sctx sessionctx.Context, tasks []*kv.MPPDispatchRequest, fieldTypes []*types.FieldType, planIDs []int, rootID int, startTs uint64) (SelectResult, error) {
+func DispatchMPPTasks(ctx context.Context, sctx sessionctx.Context, tasks []*kv.MPPDispatchRequest, fieldTypes []*types.FieldType, planIDs []int, rootID int, startTs uint64, mppQueryID kv.MPPQueryID) (SelectResult, error) {
ctx = WithSQLKvExecCounterInterceptor(ctx, sctx.GetSessionVars().StmtCtx)
_, allowTiFlashFallback := sctx.GetSessionVars().AllowFallbackToTiKV[kv.TiFlash]
ctx = SetTiFlashMaxThreadsInContext(ctx, sctx)
- resp := sctx.GetMPPClient().DispatchMPPTasks(ctx, sctx.GetSessionVars().KVVars, tasks, allowTiFlashFallback, startTs)
+ resp := sctx.GetMPPClient().DispatchMPPTasks(ctx, sctx.GetSessionVars().KVVars, tasks, allowTiFlashFallback, startTs, mppQueryID)
if resp == nil {
return nil, errors.New("client returns nil response")
}
diff --git a/distsql/distsql_test.go b/distsql/distsql_test.go
index 52aa62ba112fa..f3988ea5f7c4d 100644
--- a/distsql/distsql_test.go
+++ b/distsql/distsql_test.go
@@ -107,7 +107,8 @@ func TestSelectWithRuntimeStats(t *testing.T) {
}
func TestSelectResultRuntimeStats(t *testing.T) {
- basic := &execdetails.BasicRuntimeStats{}
+ stmtStats := execdetails.NewRuntimeStatsColl(nil)
+ basic := stmtStats.GetBasicRuntimeStats(1)
basic.Record(time.Second, 20)
s1 := &selectResultRuntimeStats{
copRespTime: []time.Duration{time.Second, time.Millisecond},
@@ -120,8 +121,6 @@ func TestSelectResultRuntimeStats(t *testing.T) {
}
s2 := *s1
- stmtStats := execdetails.NewRuntimeStatsColl(nil)
- stmtStats.RegisterStats(1, basic)
stmtStats.RegisterStats(1, s1)
stmtStats.RegisterStats(1, &s2)
stats := stmtStats.GetRootStats(1)
diff --git a/distsql/request_builder.go b/distsql/request_builder.go
index 4a8b3ddfeab13..09ab4094ab732 100644
--- a/distsql/request_builder.go
+++ b/distsql/request_builder.go
@@ -20,7 +20,6 @@ import (
"sort"
"sync/atomic"
- "github.com/pingcap/errors"
"github.com/pingcap/failpoint"
"github.com/pingcap/kvproto/pkg/metapb"
"github.com/pingcap/tidb/ddl/placement"
@@ -71,6 +70,9 @@ func (builder *RequestBuilder) Build() (*kv.Request, error) {
if err != nil {
builder.err = err
}
+ if builder.Request.KeyRanges == nil {
+ builder.Request.KeyRanges = kv.NewNonParitionedKeyRanges(nil)
+ }
return &builder.Request, builder.err
}
@@ -86,7 +88,7 @@ func (builder *RequestBuilder) SetMemTracker(tracker *memory.Tracker) *RequestBu
// br refers it, so have to keep it.
func (builder *RequestBuilder) SetTableRanges(tid int64, tableRanges []*ranger.Range, fb *statistics.QueryFeedback) *RequestBuilder {
if builder.err == nil {
- builder.Request.KeyRanges = TableRangesToKVRanges(tid, tableRanges, fb)
+ builder.Request.KeyRanges = kv.NewNonParitionedKeyRanges(TableRangesToKVRanges(tid, tableRanges, fb))
}
return builder
}
@@ -112,7 +114,9 @@ func (builder *RequestBuilder) SetIndexRangesForTables(sc *stmtctx.StatementCont
// SetHandleRanges sets "KeyRanges" for "kv.Request" by converting table handle range
// "ranges" to "KeyRanges" firstly.
func (builder *RequestBuilder) SetHandleRanges(sc *stmtctx.StatementContext, tid int64, isCommonHandle bool, ranges []*ranger.Range, fb *statistics.QueryFeedback) *RequestBuilder {
- return builder.SetHandleRangesForTables(sc, []int64{tid}, isCommonHandle, ranges, fb)
+ builder = builder.SetHandleRangesForTables(sc, []int64{tid}, isCommonHandle, ranges, fb)
+ builder.err = builder.Request.KeyRanges.SetToNonPartitioned()
+ return builder
}
// SetHandleRangesForTables sets "KeyRanges" for "kv.Request" by converting table handle range
@@ -127,14 +131,17 @@ func (builder *RequestBuilder) SetHandleRangesForTables(sc *stmtctx.StatementCon
// SetTableHandles sets "KeyRanges" for "kv.Request" by converting table handles
// "handles" to "KeyRanges" firstly.
func (builder *RequestBuilder) SetTableHandles(tid int64, handles []kv.Handle) *RequestBuilder {
- builder.Request.KeyRanges, builder.FixedRowCountHint = TableHandlesToKVRanges(tid, handles)
+ var keyRanges []kv.KeyRange
+ keyRanges, builder.FixedRowCountHint = TableHandlesToKVRanges(tid, handles)
+ builder.Request.KeyRanges = kv.NewNonParitionedKeyRanges(keyRanges)
return builder
}
// SetPartitionsAndHandles sets "KeyRanges" for "kv.Request" by converting ParitionHandles to KeyRanges.
// handles in slice must be kv.PartitionHandle.
func (builder *RequestBuilder) SetPartitionsAndHandles(handles []kv.Handle) *RequestBuilder {
- builder.Request.KeyRanges = PartitionHandlesToKVRanges(handles)
+ keyRanges := PartitionHandlesToKVRanges(handles)
+ builder.Request.KeyRanges = kv.NewNonParitionedKeyRanges(keyRanges)
return builder
}
@@ -183,10 +190,22 @@ func (builder *RequestBuilder) SetChecksumRequest(checksum *tipb.ChecksumRequest
// SetKeyRanges sets "KeyRanges" for "kv.Request".
func (builder *RequestBuilder) SetKeyRanges(keyRanges []kv.KeyRange) *RequestBuilder {
+ builder.Request.KeyRanges = kv.NewNonParitionedKeyRanges(keyRanges)
+ return builder
+}
+
+// SetWrappedKeyRanges sets "KeyRanges" for "kv.Request".
+func (builder *RequestBuilder) SetWrappedKeyRanges(keyRanges *kv.KeyRanges) *RequestBuilder {
builder.Request.KeyRanges = keyRanges
return builder
}
+// SetPartitionKeyRanges sets the "KeyRanges" for "kv.Request" on partitioned table cases.
+func (builder *RequestBuilder) SetPartitionKeyRanges(keyRanges [][]kv.KeyRange) *RequestBuilder {
+ builder.Request.KeyRanges = kv.NewPartitionedKeyRanges(keyRanges)
+ return builder
+}
+
// SetStartTS sets "StartTS" for "kv.Request".
func (builder *RequestBuilder) SetStartTS(startTS uint64) *RequestBuilder {
builder.Request.StartTs = startTS
@@ -270,6 +289,7 @@ func (builder *RequestBuilder) SetFromSessionVars(sv *variable.SessionVars) *Req
}
builder.RequestSource.RequestSourceInternal = sv.InRestrictedSQL
builder.RequestSource.RequestSourceType = sv.RequestSourceType
+ builder.StoreBatchSize = sv.StoreBatchSize
return builder
}
@@ -318,13 +338,12 @@ func (builder *RequestBuilder) verifyTxnScope() error {
return nil
}
visitPhysicalTableID := make(map[int64]struct{})
- for _, keyRange := range builder.Request.KeyRanges {
- tableID := tablecodec.DecodeTableID(keyRange.StartKey)
- if tableID > 0 {
- visitPhysicalTableID[tableID] = struct{}{}
- } else {
- return errors.New("requestBuilder can't decode tableID from keyRange")
- }
+ tids, err := tablecodec.VerifyTableIDForRanges(builder.Request.KeyRanges)
+ if err != nil {
+ return err
+ }
+ for _, tid := range tids {
+ visitPhysicalTableID[tid] = struct{}{}
}
for phyTableID := range visitPhysicalTableID {
@@ -376,7 +395,7 @@ func (builder *RequestBuilder) SetClosestReplicaReadAdjuster(chkFn kv.CoprReques
}
// TableHandleRangesToKVRanges convert table handle ranges to "KeyRanges" for multiple tables.
-func TableHandleRangesToKVRanges(sc *stmtctx.StatementContext, tid []int64, isCommonHandle bool, ranges []*ranger.Range, fb *statistics.QueryFeedback) ([]kv.KeyRange, error) {
+func TableHandleRangesToKVRanges(sc *stmtctx.StatementContext, tid []int64, isCommonHandle bool, ranges []*ranger.Range, fb *statistics.QueryFeedback) (*kv.KeyRanges, error) {
if !isCommonHandle {
return tablesRangesToKVRanges(tid, ranges, fb), nil
}
@@ -387,14 +406,18 @@ func TableHandleRangesToKVRanges(sc *stmtctx.StatementContext, tid []int64, isCo
// Note this function should not be exported, but currently
// br refers to it, so have to keep it.
func TableRangesToKVRanges(tid int64, ranges []*ranger.Range, fb *statistics.QueryFeedback) []kv.KeyRange {
- return tablesRangesToKVRanges([]int64{tid}, ranges, fb)
+ if len(ranges) == 0 {
+ return []kv.KeyRange{}
+ }
+ return tablesRangesToKVRanges([]int64{tid}, ranges, fb).FirstPartitionRange()
}
// tablesRangesToKVRanges converts table ranges to "KeyRange".
-func tablesRangesToKVRanges(tids []int64, ranges []*ranger.Range, fb *statistics.QueryFeedback) []kv.KeyRange {
+func tablesRangesToKVRanges(tids []int64, ranges []*ranger.Range, fb *statistics.QueryFeedback) *kv.KeyRanges {
if fb == nil || fb.Hist == nil {
return tableRangesToKVRangesWithoutSplit(tids, ranges)
}
+ // The following codes are deprecated since the feedback is deprecated.
krs := make([]kv.KeyRange, 0, len(ranges))
feedbackRanges := make([]*ranger.Range, 0, len(ranges))
for _, ran := range ranges {
@@ -420,20 +443,23 @@ func tablesRangesToKVRanges(tids []int64, ranges []*ranger.Range, fb *statistics
}
}
fb.StoreRanges(feedbackRanges)
- return krs
+ return kv.NewNonParitionedKeyRanges(krs)
}
-func tableRangesToKVRangesWithoutSplit(tids []int64, ranges []*ranger.Range) []kv.KeyRange {
- krs := make([]kv.KeyRange, 0, len(ranges)*len(tids))
+func tableRangesToKVRangesWithoutSplit(tids []int64, ranges []*ranger.Range) *kv.KeyRanges {
+ krs := make([][]kv.KeyRange, len(tids))
+ for i := range krs {
+ krs[i] = make([]kv.KeyRange, 0, len(ranges))
+ }
for _, ran := range ranges {
low, high := encodeHandleKey(ran)
- for _, tid := range tids {
+ for i, tid := range tids {
startKey := tablecodec.EncodeRowKey(tid, low)
endKey := tablecodec.EncodeRowKey(tid, high)
- krs = append(krs, kv.KeyRange{StartKey: startKey, EndKey: endKey})
+ krs[i] = append(krs[i], kv.KeyRange{StartKey: startKey, EndKey: endKey})
}
}
- return krs
+ return kv.NewPartitionedKeyRanges(krs)
}
func encodeHandleKey(ran *ranger.Range) ([]byte, []byte) {
@@ -587,27 +613,33 @@ func PartitionHandlesToKVRanges(handles []kv.Handle) []kv.KeyRange {
}
// IndexRangesToKVRanges converts index ranges to "KeyRange".
-func IndexRangesToKVRanges(sc *stmtctx.StatementContext, tid, idxID int64, ranges []*ranger.Range, fb *statistics.QueryFeedback) ([]kv.KeyRange, error) {
+func IndexRangesToKVRanges(sc *stmtctx.StatementContext, tid, idxID int64, ranges []*ranger.Range, fb *statistics.QueryFeedback) (*kv.KeyRanges, error) {
return IndexRangesToKVRangesWithInterruptSignal(sc, tid, idxID, ranges, fb, nil, nil)
}
// IndexRangesToKVRangesWithInterruptSignal converts index ranges to "KeyRange".
// The process can be interrupted by set `interruptSignal` to true.
-func IndexRangesToKVRangesWithInterruptSignal(sc *stmtctx.StatementContext, tid, idxID int64, ranges []*ranger.Range, fb *statistics.QueryFeedback, memTracker *memory.Tracker, interruptSignal *atomic.Value) ([]kv.KeyRange, error) {
- return indexRangesToKVRangesForTablesWithInterruptSignal(sc, []int64{tid}, idxID, ranges, fb, memTracker, interruptSignal)
+func IndexRangesToKVRangesWithInterruptSignal(sc *stmtctx.StatementContext, tid, idxID int64, ranges []*ranger.Range, fb *statistics.QueryFeedback, memTracker *memory.Tracker, interruptSignal *atomic.Value) (*kv.KeyRanges, error) {
+ keyRanges, err := indexRangesToKVRangesForTablesWithInterruptSignal(sc, []int64{tid}, idxID, ranges, fb, memTracker, interruptSignal)
+ if err != nil {
+ return nil, err
+ }
+ err = keyRanges.SetToNonPartitioned()
+ return keyRanges, err
}
// IndexRangesToKVRangesForTables converts indexes ranges to "KeyRange".
-func IndexRangesToKVRangesForTables(sc *stmtctx.StatementContext, tids []int64, idxID int64, ranges []*ranger.Range, fb *statistics.QueryFeedback) ([]kv.KeyRange, error) {
+func IndexRangesToKVRangesForTables(sc *stmtctx.StatementContext, tids []int64, idxID int64, ranges []*ranger.Range, fb *statistics.QueryFeedback) (*kv.KeyRanges, error) {
return indexRangesToKVRangesForTablesWithInterruptSignal(sc, tids, idxID, ranges, fb, nil, nil)
}
// IndexRangesToKVRangesForTablesWithInterruptSignal converts indexes ranges to "KeyRange".
// The process can be interrupted by set `interruptSignal` to true.
-func indexRangesToKVRangesForTablesWithInterruptSignal(sc *stmtctx.StatementContext, tids []int64, idxID int64, ranges []*ranger.Range, fb *statistics.QueryFeedback, memTracker *memory.Tracker, interruptSignal *atomic.Value) ([]kv.KeyRange, error) {
+func indexRangesToKVRangesForTablesWithInterruptSignal(sc *stmtctx.StatementContext, tids []int64, idxID int64, ranges []*ranger.Range, fb *statistics.QueryFeedback, memTracker *memory.Tracker, interruptSignal *atomic.Value) (*kv.KeyRanges, error) {
if fb == nil || fb.Hist == nil {
return indexRangesToKVWithoutSplit(sc, tids, idxID, ranges, memTracker, interruptSignal)
}
+ // The following code is non maintained since the feedback deprecated.
feedbackRanges := make([]*ranger.Range, 0, len(ranges))
for _, ran := range ranges {
low, high, err := EncodeIndexKey(sc, ran)
@@ -642,11 +674,11 @@ func indexRangesToKVRangesForTablesWithInterruptSignal(sc *stmtctx.StatementCont
}
}
fb.StoreRanges(feedbackRanges)
- return krs, nil
+ return kv.NewNonParitionedKeyRanges(krs), nil
}
// CommonHandleRangesToKVRanges converts common handle ranges to "KeyRange".
-func CommonHandleRangesToKVRanges(sc *stmtctx.StatementContext, tids []int64, ranges []*ranger.Range) ([]kv.KeyRange, error) {
+func CommonHandleRangesToKVRanges(sc *stmtctx.StatementContext, tids []int64, ranges []*ranger.Range) (*kv.KeyRanges, error) {
rans := make([]*ranger.Range, 0, len(ranges))
for _, ran := range ranges {
low, high, err := EncodeIndexKey(sc, ran)
@@ -656,20 +688,23 @@ func CommonHandleRangesToKVRanges(sc *stmtctx.StatementContext, tids []int64, ra
rans = append(rans, &ranger.Range{LowVal: []types.Datum{types.NewBytesDatum(low)},
HighVal: []types.Datum{types.NewBytesDatum(high)}, LowExclude: false, HighExclude: true, Collators: collate.GetBinaryCollatorSlice(1)})
}
- krs := make([]kv.KeyRange, 0, len(rans))
+ krs := make([][]kv.KeyRange, len(tids))
+ for i := range krs {
+ krs[i] = make([]kv.KeyRange, 0, len(ranges))
+ }
for _, ran := range rans {
low, high := ran.LowVal[0].GetBytes(), ran.HighVal[0].GetBytes()
if ran.LowExclude {
low = kv.Key(low).PrefixNext()
}
ran.LowVal[0].SetBytes(low)
- for _, tid := range tids {
+ for i, tid := range tids {
startKey := tablecodec.EncodeRowKey(tid, low)
endKey := tablecodec.EncodeRowKey(tid, high)
- krs = append(krs, kv.KeyRange{StartKey: startKey, EndKey: endKey})
+ krs[i] = append(krs[i], kv.KeyRange{StartKey: startKey, EndKey: endKey})
}
}
- return krs, nil
+ return kv.NewPartitionedKeyRanges(krs), nil
}
// VerifyTxnScope verify whether the txnScope and visited physical table break the leader rule's dcLocation.
@@ -691,8 +726,12 @@ func VerifyTxnScope(txnScope string, physicalTableID int64, is infoschema.InfoSc
return true
}
-func indexRangesToKVWithoutSplit(sc *stmtctx.StatementContext, tids []int64, idxID int64, ranges []*ranger.Range, memTracker *memory.Tracker, interruptSignal *atomic.Value) ([]kv.KeyRange, error) {
- krs := make([]kv.KeyRange, 0, len(ranges))
+func indexRangesToKVWithoutSplit(sc *stmtctx.StatementContext, tids []int64, idxID int64, ranges []*ranger.Range, memTracker *memory.Tracker, interruptSignal *atomic.Value) (*kv.KeyRanges, error) {
+ krs := make([][]kv.KeyRange, len(tids))
+ for i := range krs {
+ krs[i] = make([]kv.KeyRange, 0, len(ranges))
+ }
+
const checkSignalStep = 8
var estimatedMemUsage int64
// encodeIndexKey and EncodeIndexSeekKey is time-consuming, thus we need to
@@ -705,13 +744,13 @@ func indexRangesToKVWithoutSplit(sc *stmtctx.StatementContext, tids []int64, idx
if i == 0 {
estimatedMemUsage += int64(cap(low) + cap(high))
}
- for _, tid := range tids {
+ for j, tid := range tids {
startKey := tablecodec.EncodeIndexSeekKey(tid, idxID, low)
endKey := tablecodec.EncodeIndexSeekKey(tid, idxID, high)
if i == 0 {
estimatedMemUsage += int64(cap(startKey)) + int64(cap(endKey))
}
- krs = append(krs, kv.KeyRange{StartKey: startKey, EndKey: endKey})
+ krs[j] = append(krs[j], kv.KeyRange{StartKey: startKey, EndKey: endKey})
}
if i%checkSignalStep == 0 {
if i == 0 && memTracker != nil {
@@ -719,11 +758,11 @@ func indexRangesToKVWithoutSplit(sc *stmtctx.StatementContext, tids []int64, idx
memTracker.Consume(estimatedMemUsage)
}
if interruptSignal != nil && interruptSignal.Load().(bool) {
- return nil, nil
+ return kv.NewPartitionedKeyRanges(nil), nil
}
}
}
- return krs, nil
+ return kv.NewPartitionedKeyRanges(krs), nil
}
// EncodeIndexKey gets encoded keys containing low and high
diff --git a/distsql/request_builder_test.go b/distsql/request_builder_test.go
index 2ffde4a512c0d..fa55229e36fa5 100644
--- a/distsql/request_builder_test.go
+++ b/distsql/request_builder_test.go
@@ -192,8 +192,8 @@ func TestIndexRangesToKVRanges(t *testing.T) {
actual, err := IndexRangesToKVRanges(new(stmtctx.StatementContext), 12, 15, ranges, nil)
require.NoError(t, err)
- for i := range actual {
- require.Equal(t, expect[i], actual[i])
+ for i := range actual.FirstPartitionRange() {
+ require.Equal(t, expect[i], actual.FirstPartitionRange()[i])
}
}
@@ -242,7 +242,7 @@ func TestRequestBuilder1(t *testing.T) {
Tp: 103,
StartTs: 0x0,
Data: []uint8{0x18, 0x0, 0x20, 0x0, 0x40, 0x0, 0x5a, 0x0},
- KeyRanges: []kv.KeyRange{
+ KeyRanges: kv.NewNonParitionedKeyRanges([]kv.KeyRange{
{
StartKey: kv.Key{0x74, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x5f, 0x72, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1},
EndKey: kv.Key{0x74, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x5f, 0x72, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3},
@@ -263,7 +263,7 @@ func TestRequestBuilder1(t *testing.T) {
StartKey: kv.Key{0x74, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x5f, 0x72, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x23},
EndKey: kv.Key{0x74, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x5f, 0x72, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x23},
},
- },
+ }),
Cacheable: true,
KeepOrder: false,
Desc: false,
@@ -325,7 +325,7 @@ func TestRequestBuilder2(t *testing.T) {
Tp: 103,
StartTs: 0x0,
Data: []uint8{0x18, 0x0, 0x20, 0x0, 0x40, 0x0, 0x5a, 0x0},
- KeyRanges: []kv.KeyRange{
+ KeyRanges: kv.NewNonParitionedKeyRanges([]kv.KeyRange{
{
StartKey: kv.Key{0x74, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x5f, 0x69, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x3, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1},
EndKey: kv.Key{0x74, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x5f, 0x69, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x3, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3},
@@ -346,7 +346,7 @@ func TestRequestBuilder2(t *testing.T) {
StartKey: kv.Key{0x74, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x5f, 0x69, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x3, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x23},
EndKey: kv.Key{0x74, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x5f, 0x69, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x3, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x23},
},
- },
+ }),
Cacheable: true,
KeepOrder: false,
Desc: false,
@@ -378,7 +378,7 @@ func TestRequestBuilder3(t *testing.T) {
Tp: 103,
StartTs: 0x0,
Data: []uint8{0x18, 0x0, 0x20, 0x0, 0x40, 0x0, 0x5a, 0x0},
- KeyRanges: []kv.KeyRange{
+ KeyRanges: kv.NewNonParitionedKeyRanges([]kv.KeyRange{
{
StartKey: kv.Key{0x74, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x5f, 0x72, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
EndKey: kv.Key{0x74, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x5f, 0x72, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1},
@@ -395,7 +395,7 @@ func TestRequestBuilder3(t *testing.T) {
StartKey: kv.Key{0x74, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x5f, 0x72, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64},
EndKey: kv.Key{0x74, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x5f, 0x72, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x65},
},
- },
+ }),
Cacheable: true,
KeepOrder: false,
Desc: false,
@@ -444,7 +444,7 @@ func TestRequestBuilder4(t *testing.T) {
Tp: 103,
StartTs: 0x0,
Data: []uint8{0x18, 0x0, 0x20, 0x0, 0x40, 0x0, 0x5a, 0x0},
- KeyRanges: keyRanges,
+ KeyRanges: kv.NewNonParitionedKeyRanges(keyRanges),
Cacheable: true,
KeepOrder: false,
Desc: false,
@@ -491,7 +491,7 @@ func TestRequestBuilder5(t *testing.T) {
Tp: 104,
StartTs: 0x0,
Data: []uint8{0x8, 0x0, 0x18, 0x0, 0x20, 0x0},
- KeyRanges: keyRanges,
+ KeyRanges: kv.NewNonParitionedKeyRanges(keyRanges),
KeepOrder: true,
Desc: false,
Concurrency: 15,
@@ -520,7 +520,7 @@ func TestRequestBuilder6(t *testing.T) {
Tp: 105,
StartTs: 0x0,
Data: []uint8{0x10, 0x0, 0x18, 0x0},
- KeyRanges: keyRanges,
+ KeyRanges: kv.NewNonParitionedKeyRanges(keyRanges),
KeepOrder: false,
Desc: false,
Concurrency: concurrency,
@@ -557,6 +557,7 @@ func TestRequestBuilder7(t *testing.T) {
Tp: 0,
StartTs: 0x0,
KeepOrder: false,
+ KeyRanges: kv.NewNonParitionedKeyRanges(nil),
Desc: false,
Concurrency: concurrency,
IsolationLevel: 0,
@@ -583,6 +584,7 @@ func TestRequestBuilder8(t *testing.T) {
Tp: 0,
StartTs: 0x0,
Data: []uint8(nil),
+ KeyRanges: kv.NewNonParitionedKeyRanges(nil),
Concurrency: variable.DefDistSQLScanConcurrency,
IsolationLevel: 0,
Priority: 0,
@@ -635,8 +637,8 @@ func TestIndexRangesToKVRangesWithFbs(t *testing.T) {
EndKey: kv.Key{0x74, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x69, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5},
},
}
- for i := 0; i < len(actual); i++ {
- require.Equal(t, expect[i], actual[i])
+ for i := 0; i < len(actual.FirstPartitionRange()); i++ {
+ require.Equal(t, expect[i], actual.FirstPartitionRange()[i])
}
}
diff --git a/distsql/select_result.go b/distsql/select_result.go
index 0e807b360d0ad..6d1f6308e4120 100644
--- a/distsql/select_result.go
+++ b/distsql/select_result.go
@@ -359,13 +359,11 @@ func (r *selectResult) updateCopRuntimeStats(ctx context.Context, copStats *copr
}
if r.stats == nil {
- id := r.rootPlanID
r.stats = &selectResultRuntimeStats{
backoffSleep: make(map[string]time.Duration),
rpcStat: tikv.NewRegionRequestRuntimeStats(),
distSQLConcurrency: r.distSQLConcurrency,
}
- r.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(id, r.stats)
}
r.stats.mergeCopRuntimeStats(copStats, respTime)
@@ -456,6 +454,9 @@ func (r *selectResult) Close() error {
if respSize > 0 {
r.memConsume(-respSize)
}
+ if r.stats != nil {
+ defer r.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(r.rootPlanID, r.stats)
+ }
return r.resp.Close()
}
diff --git a/distsql/select_result_test.go b/distsql/select_result_test.go
index c12892083d641..4ec56a286e5ab 100644
--- a/distsql/select_result_test.go
+++ b/distsql/select_result_test.go
@@ -34,7 +34,7 @@ func TestUpdateCopRuntimeStats(t *testing.T) {
require.Nil(t, ctx.GetSessionVars().StmtCtx.RuntimeStatsColl)
sr.rootPlanID = 1234
- sr.updateCopRuntimeStats(context.Background(), &copr.CopRuntimeStats{ExecDetails: execdetails.ExecDetails{CalleeAddress: "a"}}, 0)
+ sr.updateCopRuntimeStats(context.Background(), &copr.CopRuntimeStats{ExecDetails: execdetails.ExecDetails{DetailsNeedP90: execdetails.DetailsNeedP90{CalleeAddress: "a"}}}, 0)
ctx.GetSessionVars().StmtCtx.RuntimeStatsColl = execdetails.NewRuntimeStatsColl(nil)
i := uint64(1)
@@ -46,13 +46,13 @@ func TestUpdateCopRuntimeStats(t *testing.T) {
require.NotEqual(t, len(sr.copPlanIDs), len(sr.selectResp.GetExecutionSummaries()))
- sr.updateCopRuntimeStats(context.Background(), &copr.CopRuntimeStats{ExecDetails: execdetails.ExecDetails{CalleeAddress: "callee"}}, 0)
+ sr.updateCopRuntimeStats(context.Background(), &copr.CopRuntimeStats{ExecDetails: execdetails.ExecDetails{DetailsNeedP90: execdetails.DetailsNeedP90{CalleeAddress: "callee"}}}, 0)
require.False(t, ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.ExistsCopStats(1234))
sr.copPlanIDs = []int{sr.rootPlanID}
require.NotNil(t, ctx.GetSessionVars().StmtCtx.RuntimeStatsColl)
require.Equal(t, len(sr.copPlanIDs), len(sr.selectResp.GetExecutionSummaries()))
- sr.updateCopRuntimeStats(context.Background(), &copr.CopRuntimeStats{ExecDetails: execdetails.ExecDetails{CalleeAddress: "callee"}}, 0)
+ sr.updateCopRuntimeStats(context.Background(), &copr.CopRuntimeStats{ExecDetails: execdetails.ExecDetails{DetailsNeedP90: execdetails.DetailsNeedP90{CalleeAddress: "callee"}}}, 0)
require.Equal(t, "tikv_task:{time:1ns, loops:1}", ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.GetOrCreateCopStats(1234, "tikv").String())
}
diff --git a/docs/design/2019-11-05-index-advisor.md b/docs/design/2019-11-05-index-advisor.md
index 53abab5ba0d5a..5606d9bd9a942 100644
--- a/docs/design/2019-11-05-index-advisor.md
+++ b/docs/design/2019-11-05-index-advisor.md
@@ -57,7 +57,7 @@ for {
Note that executing `Swap and Re-evaluate` algorithm is necessary as the `reduced_cost` sometimes is a joint effect of several indexes and it's hard to tell each index's independent contribution to the final `reduced_cost`. For example, assume there is an extremely slow query in input workload and the desired indexes for this query is `a` and `b`. However, the number of allowed recommended indexes for the whole workload is limited and for some reason, `a` ranks top `n` in the final score list while `b` is not. But there are chances that without `b`, `a` can no more optimize that extremely slow query.
----------------------------------------------
-### A quick exmaple for single-column index recommendation
+### A quick example for single-column index recommendation
**Workload**:
diff --git a/docs/design/2020-01-24-collations.md b/docs/design/2020-01-24-collations.md
index a222035745b83..d610514ed76d5 100644
--- a/docs/design/2020-01-24-collations.md
+++ b/docs/design/2020-01-24-collations.md
@@ -105,10 +105,10 @@ The interface is quite similar to the Go [collate package](https://godoc.org/gol
### Row Format
-The encoding layout of TiDB has been described in our [previous article](https://pingcap.com/blog/2017-07-11-tidbinternal2/#map). The row format should be changed to make it memory comparable, this is important to the index lookup. Basic principle is that all keys encoded for strings should use the `sortKeys` result from `Key()`/`KeyFromString()` function. However, most of the `sortKeys` calculations are not reversible.
+The encoding layout of TiDB has been described in our [previous article](https://docs.pingcap.com/tidb/stable/tidb-computing). The row format should be changed to make it memory comparable, this is important to the index lookup. Basic principle is that all keys encoded for strings should use the `sortKeys` result from `Key()`/`KeyFromString()` function. However, most of the `sortKeys` calculations are not reversible.
* For table data, encodings stay unchanged. All strings are compared after decoding with the `Compare()` function.
- * For table indices, we replace current `ColumnValue` with `sortKey` and encode the `ColumnValue` to the value,:
+ * For table indices, we replace current `ColumnValue` with `sortKey` and encode the `ColumnValue` to the value:
- For unique indices:
```
Key: tablePrefix{tableID}_indexPrefixSep{indexID}_sortKey
@@ -233,7 +233,7 @@ The following features of the general collation algorithm will be supported:
* Tertiary Weight i.e. case
* PAD / NOPAD
-All of them are supported by `text/collate` package of Go, so it is possible to map Go collations to some of UCA-based collations in MySQL like `utf8mb4_unicode_ci`/`utf8mb4_0900_ai_ci`, if we ignore the differences between UCA versions: current `text/collate` uses UCA version `6.2.0` and it is not changable. However, the collations in MySQL are with different UCA versions marked in the names, for example, `utf8mb4_0900_ai_ci` uses version `9.0`.
+All of them are supported by `text/collate` package of Go, so it is possible to map Go collations to some of UCA-based collations in MySQL like `utf8mb4_unicode_ci`/`utf8mb4_0900_ai_ci`, if we ignore the differences between UCA versions: current `text/collate` uses UCA version `6.2.0` and it is not changeable. However, the collations in MySQL are with different UCA versions marked in the names, for example, `utf8mb4_0900_ai_ci` uses version `9.0`.
For non-standard UCA implementations in MySQL, i.e. the `utf8mb4_general_ci`. The implementation depends on our choice to the [Compatibility with MySQL](#compatibility-with-mysql) chapter, if a 100% compatibility of `utf8mb4_general_ci` is chosen, we need to implement it by our hands.
diff --git a/docs/design/2020-08-04-global-index.md b/docs/design/2020-08-04-global-index.md
index 80078688777b7..f5e2d89f932c4 100644
--- a/docs/design/2020-08-04-global-index.md
+++ b/docs/design/2020-08-04-global-index.md
@@ -183,7 +183,7 @@ In TiDB, operators in the partitioned table will be translated to UnionAll in th
## Compatibility
-MySQL does not support global index, which means this feature may cause some compatibility issues. We add an option `enable_global_index` in `config.Config` to control it. The default value of this option is `false`, so TiDB will keep consistent with MySQL, unless the user open global index feature manually.
+MySQL does not support global index, which means this feature may cause some compatibility issues. We add an option `enable-global-index` in `config.Config` to control it. The default value of this option is `false`, so TiDB will keep consistent with MySQL, unless the user open global index feature manually.
## Implementation
diff --git a/docs/design/2022-06-06-Adding-Index-Acceleration.md b/docs/design/2022-06-07-adding-index-acceleration.md
similarity index 100%
rename from docs/design/2022-06-06-Adding-Index-Acceleration.md
rename to docs/design/2022-06-07-adding-index-acceleration.md
diff --git a/docs/design/2022-06-22-foreign-key.md b/docs/design/2022-06-22-foreign-key.md
new file mode 100644
index 0000000000000..5c6b32d9474e0
--- /dev/null
+++ b/docs/design/2022-06-22-foreign-key.md
@@ -0,0 +1,708 @@
+# Foreign Key Design Doc
+
+- Author(s): [crazycs520](https://github.com/crazycs520)
+- Tracking Issue: https://github.com/pingcap/tidb/issues/18209
+
+## Abstract
+
+This proposes an implementation of supporting foreign key constraints.
+
+## DDL Technical Design
+
+### Table Information Changes
+The table's foreign key information will be stored in `model.TableInfo`:
+
+```go
+// TableInfo provides meta data describing a DB table.
+type TableInfo struct {
+ ...
+ ForeignKeys []*FKInfo `json:"fk_info"`
+ // MaxFKIndexID uses to allocate foreign key ID.
+ MaxForeignKeyID int64 `json:"max_fk_id"`
+ ...
+}
+
+// FKInfo provides meta data describing a foreign key constraint.
+type FKInfo struct {
+ ID int64 `json:"id"`
+ Name CIStr `json:"fk_name"`
+ RefSchema CIStr `json:"ref_schema"`
+ RefTable CIStr `json:"ref_table"`
+ RefCols []CIStr `json:"ref_cols"`
+ Cols []CIStr `json:"cols"`
+ OnDelete int `json:"on_delete"`
+ OnUpdate int `json:"on_update"`
+ State SchemaState `json:"state"`
+ Version int `json:"version"`
+}
+```
+
+Struct `FKInfo` uses for the child table to record the referenced parent table. Struct `FKInfo` has existed for a long time, I just added some fields.
+- `Version`: uses to distinguish between old and new versions. The new version value is 1, the old version value is 0.
+
+Why `FKInfo` record the table/schema name instead of table/schema id? Because we may don't know the table/schema id when building `FKInfo`. Here is an example:
+
+```sql
+>set @@foreign_key_checks=0;
+Query OK, 0 rows affected
+>create table t2 (a int key, foreign key fk(a) references t1(id));
+Query OK, 0 rows affected
+>create table t1 (id int key);
+Query OK, 0 rows affected
+>set @@foreign_key_checks=1;
+Query OK, 0 rows affected
+>insert into t2 values (1);
+(1452, 'Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`id`))')
+```
+
+As you can see, table `t2` refers to table `t1`, and when creating table `t2`, table `t1` still not be created, so we can't know the id of table `t1`.
+
+### Create Table with Foreign Key
+
+#### Build TableInfo
+
+When building `TableInfo`, an index for the foreign key columns is created automatically if there is no index covering the foreign key columns. Here is an example:
+
+```sql
+mysql> create table t (id int key, a int, foreign key fk(a) references t(id));
+Query OK, 0 rows affected
+mysql> show create table t\G
+***************************[ 1. row ]***************************
+Table | t
+Create Table | CREATE TABLE `t` (
+ `id` int NOT NULL,
+ `a` int DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `fk` (`a`),
+ CONSTRAINT `t_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
+1 row in set
+```
+
+As you can see, the index `fk` is created automatically for the foreign key.
+
+#### Validate
+
+Create a table with foreign key, check the following conditions when a DDL job is built and the DDL owner received a DDL job(aka Double-Check):
+
+- whether the user has `REFERENCES` privilege to the foreign key references table.
+- Corresponding columns in the foreign key and the referenced key must have similar data types. The size and sign of fixed precision types such as INTEGER and DECIMAL must be the same. The length of string types need not be the same. For nonbinary (character) string columns, the character set and collation must be the same.
+- Supports foreign key references between one column and another within a table. (A column cannot have a foreign key reference to itself.)
+- Indexes on foreign keys and referenced keys are required, because the foreign key check can be fast and do not require a table scan.
+- Prefixed indexes on foreign key columns are not supported. Consequently, BLOB and TEXT columns cannot be included in a foreign key because indexes on those columns must always include a prefix length.
+- Does not currently support foreign keys for the partition table. This includes both reference and child tables.
+- A foreign key constraint cannot reference any virtual generated columns, but the stored generated columns are fine.
+
+#### Handle In DDL Owner
+
+When the DDL Owner handle create table job, the DDL owner needs to create a new table.
+
+At the same point in time, there may be two versions of the schema in the TiDB cluster, so we can't create a new table and
+update all reference tables in one schema version, since this may break foreign key constraints, such as delete reference table
+without foreign key constraint check in the child table.
+
+```sql
+-- In TiDB-1 and Schema Version is 1
+insert into t_has_foreign_key values (1, 1);
+
+-- In TiDB-0 and Schema Version is 0
+delete from t_reference where id = 1; --Since doesn't know foreign key information in old version, so doesn't do foreign key constrain check.
+```
+
+So, when creating a table with foreign key, we need multi-schema version change:
+
+1. None -> Write Only: Create table with the state is `write-only`.
+2. Write Only -> Public: Update the created table state to `public`.
+
+#### Maintain ReferredFKInfo
+
+Why need to maintain `ReferredFKInfo` in the reference table? When executing `UPDATE`/`DELETE` in the reference table, we need the `ReferredFKInfo` of the reference table to do a foreign key check/cascade.
+
+How to maintain `ReferredFKInfo` in the reference table? When we create table with foreign key, we didn't add `ReferredFKInfo` into the reference table, because the reference table may not have been created yet,
+when `foreign_key_checks` variable value is `OFF`, the user can create a child table before the reference table.
+
+We decided to maintain `ReferredFKInfo` while TiDB loading schema. At first, `infoSchema` will record all table's `ReferredFKInfo`:
+
+```sql
+// ReferredFKInfo provides the referred foreign key in the child table.
+type ReferredFKInfo struct {
+ Cols []CIStr `json:"cols"`
+ ChildSchema CIStr `json:"child_schema"`
+ ChildTable CIStr `json:"child_table"`
+ ChildFKName CIStr `json:"child_fk"`
+}
+```
+
+```go
+type infoSchema struct {
+ // referredForeignKeyMap records all table's ReferredFKInfo.
+ // referredSchemaAndTableName => child SchemaAndTableAndForeignKeyName => *model.ReferredFKInfo
+ referredForeignKeyMap map[SchemaAndTableName]map[SchemaAndTableAndForeignKeyName]*model.ReferredFKInfo
+}
+```
+
+Function `applyTableUpdate` uses `applyDropTable` to drop the old table, uses `applyCreateTable` to create the new table.
+
+In the function `applyDropTable`, we will delete the table's foreign key information from `infoSchema.referredForeignKeyMap`.
+
+In the function `applyCreateTable`, we will add the table's foreign key information into `infoSchema.referredForeignKeyMap` first,
+then get the table's `ReferredFKInfo` by schema name and table name, then store the `ReferredFKInfo` into `TableInfo.ReferredForeignKeys`.
+
+Then `applyTableUpdate` will also need to reload the old/new table's referred table information, also uses `applyDropTable` to drop the old reference table, use `applyCreateTable` to create new reference table.
+
+That's all.
+
+### Alter Table Add Foreign Key
+
+Here is an example:
+
+```sql
+create table t1 (id int key,a int, index(a));
+create table t2 (id int key,a int);
+alter table t2 add foreign key fk(a) references t1(id) ON DELETE CASCADE;
+```
+
+Just like create table, we should validate first, and return an error if the conditions for creating foreign keys are not met, and also need to double-check.
+
+When building `TableInfo`, we need to auto-create an index for foreign key columns if there are no index cover foreign key columns.
+And this divides the problem into two cases:
+- Case-1: No need to create an index automatically, and only add the foreign key constraint.
+- Case-2: Need auto-create index for foreign key
+
+#### Case-1: Only add foreign key constrain
+
+The DDL owner handle adds foreign key constrain step is:
+
+1. None -> Write Only: add foreign key constraint which state is `write-only` into the table.
+2. Write Only -> Write Reorg: check all rows in the table whether has related foreign key exists in the reference table, we can use the following SQL to check:
+
+ ```sql
+ select 1 from t2 where t2.a is not null and t2.a not in (select id from t1) limit 1;
+ ```
+ The expected result is `empty`, otherwise, an error is returned and cancels the DDL job.
+
+3. Write Reorg -> Public: update the foreign key constraint state to `public`.
+
+A problem is, How the DML treat the foreign key on delete/update cascade behaviour in which state is non-public?
+Here is an example:
+
+```sql
+create table t1 (id int key,a int, index(a));
+create table t2 (id int key,a int, index(a));
+insert into t1 values (1,1);
+insert into t2 values (1,1);
+alter table t2 add constraint fk_1 foreign key (a) references t1(id) ON DELETE CASCADE;
+```
+
+The schema change of foreign key `fk_1` is from `None` -> `Write-Only` -> `Write-Reorg` -> `Public`。
+When the foreign key `fk_1` in `Write-Only` state, a DML request has come to be processed:
+
+```sql
+delete from t1 where id = 1;
+```
+
+Then, TiDB shouldn't do cascade delete for foreign key `fk_1` in state `Write-Only`, since the `Add Foreign Key` DDL job maybe
+failed in `Write-Reorg` state and rollback the DDL job. But it is hard to rollback the cascade deleted executed before.
+
+So, when executing DML with `non-public` foreign key, TiDB will do foreign key constraint check instead of foreign key cascade behaviour.
+
+#### Case-2: Auto-create index for foreign key and add foreign key constrain
+
+As TiDB support multi-schema change now, we create an `ActionMultiSchemaChange` job that contains the following 2 sub-ddl job.
+- Add Index DDL job
+- Add Foreign Key Constraint DDL job
+
+When TiDB adds foreign key DDL job meet error, TiDB will rollback the `ActionMultiSchemaChange` job and the 2 sub-ddl job will also be rollback.
+
+### Drop Table
+
+If `foreign_key_checks` is `ON`, then drop the table which has foreign key references will be rejected.
+
+```sql
+> drop table t1;
+(3730, "Cannot drop table 't1' referenced by a foreign key constraint 't2_ibfk_1' on table 't2'.")
+```
+
+### Drop Database
+
+If `foreign_key_checks` is `ON`, then drop the database which has foreign key references by another database will be rejected.
+
+```sql
+> drop database test;
+(3730, "Cannot drop table 't1' referenced by a foreign key constraint 't2_ibfk_1' on table 't2'.")
+```
+
+### Drop Index
+
+Drop index used by the foreign key will be rejected.
+
+```sql
+> set @@foreign_key_checks=0; -- Even disable foreign_key_checks, you still can't drop the index used for foreign key constrain.
+Query OK, 0 rows affected
+> alter table t2 drop index fk;
+(1553, "Cannot drop index 'fk': needed in a foreign key constraint")
+```
+
+### Rename Column
+
+Rename column which has foreign keys or references should also need to update the related child/parent table info.
+
+```sql
+create table t1 (id int key,a int, index(a));
+create table t2 (id int key,a int, foreign key fk(a) references t1(id) ON DELETE CASCADE);
+rename table t1 to t11;
+alter table t11 change column id id1 int;
+show create table t2\G
+***************************[ 1. row ]***************************
+ Table | t2
+Create Table | CREATE TABLE `t2` (
+ `id` int NOT NULL,
+ `a` int DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `fk` (`a`),
+ CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t11` (`id1`) ON DELETE CASCADE
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
+```
+
+### Truncate Table
+
+A truncate table which has foreign keys or references should also need to update the related child/parent table info.
+
+### Modify Column
+
+Modify column which used by the foreign key will be rejected.
+
+```sql
+> alter table t1 change column id id1 bigint;
+(3780, "Referencing column 'a' and referenced column 'id1' in foreign key constraint 't2_ibfk_1' are incompatible.")
+```
+
+MySQL modify column problem: https://www.percona.com/blog/2019/06/04/ddl-queries-foreign-key-columns-MySQL-pxc/
+
+What if the user really needs to modify column type, such as from `INT` to `BIGINT`. Maybe we can offer a variable such as `alter-foreign-keys-method=auto`,
+then when the user modifies the column type, TiDB will auto-modify the related foreign key column's type. For easy implementation and to reduce risk, maybe only support modifying column type which doesn't need to reorg table row data.
+
+## DML Technical Design
+
+### DML On Child Table
+
+On Child Table Insert Or Update, need to Find FK column value that exist in the reference table:
+
+1. Get reference table info by table name.
+2. Get the related fk index of the reference table.
+3. tiny optimize, check fk column value exists in reference table cache(map[string(index_key)]struct).
+3. Get related row in reference.
+- Construct index key and then use snapshot `Iter` and `Seek` API to scan. If the index is unique and only contain
+ foreign key columns, use the snapshot `Get` API.
+ - `Iter` default scan batch size is 256, need to set 2 to avoid read unnecessary data.
+4. compact column value to make sure exist.
+5. If relate row exist in reference table, also need to add lock in the related row.
+6. put column value into reference fk column value cache.
+
+#### Lock
+
+Let's see an example in MySQL first:
+
+prepare:
+```sql
+create table t1 (id int key,a int, b int, unique index(a, b, id));
+create table t2 (id int key,a int, b int, index (a,b,id), foreign key fk(a, b) references t1(a, b));
+insert into t1 values (-1, 1, 1);
+```
+
+Then, execute the following SQL in 2 sessions:
+
+| Session 1 | Session 2 |
+| -------------------------------- | ------------------------------------------- |
+| Begin; | |
+| insert into t2 values (1, 1, 1); | |
+| | delete from t1; -- Blocked by wait lock |
+| Commit | |
+| | ERROR: Cannot delete or update a parent row |
+
+So we need to add lock in the reference table when insert/update child table.
+
+##### In Pessimistic Transaction
+
+When TiDB add pessimistic locks, if related row exists in the reference table, also needs to add lock in the related row.
+
+##### In Optimistic Transaction
+
+Just like `SELECT FOR UPDATE` statement, need to use `doLockKeys` to lock the related row in the reference table.
+
+##### Issue
+
+TiDB currently only support `lock for update`(aka write-lock, such as `select for update`), and doesn't support `lock for share`(aka read-lock, such as `select for share`).
+
+So far we have to add `lock for update` in the reference table when insert/update child table, then the performance will be poor. After TiDB support `lock for share`, we should use `lock for share` instead.
+
+#### DML Load data
+
+Load data should also do foreign key check, but report a warning instead error:
+
+```sql
+create table t1 (id int key,a int, index(a));
+create table t2 (id int key,a int, foreign key fk(a) references t1(id) ON DELETE CASCADE);
+
+test> load data local infile 'data.csv' into table t2 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
+Query OK, 0 rows affected
+test> show warnings;
++---------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Level | Code | Message |
++---------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Warning | 1452 | Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`id`) ON DELETE CASCADE) |
+| Warning | 1452 | Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`id`) ON DELETE CASCADE) |
++---------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+```
+
+`data.csv` is:
+```
+1,1
+2,2
+```
+
+### DML On reference Table
+
+On reference Table Delete Or Update:
+
+1. modify related child table row by referential action:
+- `CASCADE`: update/delete related child table row.
+- `SET NULL`: set related child row's foreign key columns value to NULL.
+- `RESTRICT`, `NO ACTION`: If related row exist in child table, reject update/delete the reference table.
+- `SET DEFAULT`: just like `RESTRICT`.
+
+modify related child table rows by the following step:
+1. get child table info by name(in reference table info).
+2. get the child table fk index's column info.
+3. build update executor to update child table rows.
+
+### Issue need to be discussed
+
+#### Affect Row
+
+related article: https://www.percona.com/blog/hidden-cost-of-foreign-key-constraints-in-MySQL/
+
+Here is a MySQL example:
+
+prepare:
+```sql
+create table t1 (id int key,a int, index(a));
+create table t2 (id int key,a int, foreign key fk(a) references t1(id) ON DELETE CASCADE);
+insert into t1 values (1, 1);
+insert into t2 values (1, 1);
+```
+
+Then delete on reference table:
+```sql
+> delete from t1 where id=1;
+Query OK, 1 row affected
+```
+
+As you can see, in the query result, the affected row is 1, but actually should be 2, since the related row in t2 is also been deleted.
+
+This is a MySQL behaviour, We can be compatible with it.
+
+#### DML Execution plan
+
+Here is a MySQL example:
+
+prepare:
+```sql
+create table t1 (id int key,a int, index(a));
+create table t2 (id int key,a int, foreign key fk(a) references t1(id) ON DELETE CASCADE);
+insert into t1 values (1, 1);
+insert into t2 values (1, 1);
+```
+
+```sql
+> explain delete from t1 where id = 1;
++----+-------------+-------+------------+-------+---------------+---------+---------+-------+------+----------+-------------+
+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
++----+-------------+-------+------------+-------+---------------+---------+---------+-------+------+----------+-------------+
+| 1 | DELETE | t1 | | range | PRIMARY | PRIMARY | 4 | const | 1 | 100.0 | Using where |
++----+-------------+-------+------------+-------+---------------+---------+---------+-------+------+----------+-------------+
+```
+
+From the plan, you can't see any information about the foreign key constraint which needs to delete the related row in child table `t2`.
+
+I think this is a MySQL issue, should we make TiDB plan better, at least when we meet some slow query, we can know maybe it is caused by modify related rows in the child table.
+
+Here is an example plan with foreign key:
+
+```sql
+> explain delete from t1 where id = 1;
++-------------------------+---------+------+---------------+-----------------------------------+
+| id | estRows | task | access object | operator info |
++-------------------------+---------+------+---------------+-----------------------------------+
+| Delete_2 | N/A | root | | N/A |
+| ├─Point_Get_1 | 1.00 | root | table:t1 | handle:1 |
+| └─Foreign_Key_Cascade_3 | 0.00 | root | table:t2 | foreign_key:fk, on_delete:CASCADE |
++-------------------------+---------+------+---------------+-----------------------------------+
+```
+
+And the `explain analyze` will show the foreign key cascade child plan:
+
+```sql
+> explain analyze delete from t1 where id = 1;
++-------------------------+---------+---------+------+---------------+----------------------------------------------------------+-----------------------------------+-----------+------+
+| id | estRows | actRows | task | access object | execution info | operator info | memory | disk |
++-------------------------+---------+---------+------+---------------+----------------------------------------------------------+-----------------------------------+-----------+------+
+| Delete_2 | N/A | 0 | root | | time:109.5µs, loops:1 | N/A | 380 Bytes | N/A |
+| ├─Point_Get_1 | 1.00 | 1 | root | table:t1 | time:62.7µs, loops:2, Get:{num_rpc:1, total_time:26.4µs} | handle:1 | N/A | N/A |
+| └─Foreign_Key_Cascade_3 | 0.00 | 0 | root | table:t2 | total:322.1µs, foreign_keys:1 | foreign_key:fk, on_delete:CASCADE | N/A | N/A |
+| └─Delete_7 | N/A | 0 | root | | time:23.5µs, loops:1 | N/A | 129 Bytes | N/A |
+| └─Point_Get_9 | 1.00 | 1 | root | table:t2 | time:12.6µs, loops:2, Get:{num_rpc:1, total_time:4.21µs} | handle:1 | N/A | N/A |
++-------------------------+---------+---------+------+---------------+----------------------------------------------------------+-----------------------------------+-----------+------+
+```
+
+##### CockroachDB DML Execution Plan
+
+```sql
+CREATE TABLE customers_2 (
+ id INT PRIMARY KEY
+);
+CREATE TABLE orders_2 (
+ id INT PRIMARY KEY,
+ customer_id INT REFERENCES customers_2(id) ON UPDATE CASCADE ON DELETE CASCADE
+);
+INSERT INTO customers_2 VALUES (1), (2), (3);
+INSERT INTO orders_2 VALUES (100,1), (101,2), (102,3), (103,1);
+```
+
+```sql
+> explain analyze UPDATE customers_2 SET id = 23 WHERE id = 1;
+ info
+--------------------------------------------------
+ planning time: 494µs
+ execution time: 5ms
+ distribution: local
+ vectorized: true
+ rows read from KV: 6 (170 B)
+ cumulative time spent in KV: 978µs
+ maximum memory usage: 100 KiB
+ network usage: 0 B (0 messages)
+ regions: us-east1
+
+ • root
+ │
+ ├── • update
+ │ │ nodes: n1
+ │ │ regions: us-east1
+ │ │ actual row count: 1
+ │ │ table: customers_2
+ │ │ set: id
+ │ │
+ │ └── • buffer
+ │ │ label: buffer 1
+ │ │
+ │ └── • render
+ │ │ nodes: n1
+ │ │ regions: us-east1
+ │ │ actual row count: 1
+ │ │ KV rows read: 1
+ │ │ KV bytes read: 27 B
+ │ │
+ │ └── • scan
+ │ nodes: n1
+ │ regions: us-east1
+ │ actual row count: 1
+ │ KV rows read: 1
+ │ KV bytes read: 27 B
+ │ missing stats
+ │ table: customers_2@primary
+ │ spans: [/1 - /1]
+ │ locking strength: for update
+ │
+ └── • fk-cascade
+ fk: fk_customer_id_ref_customers_2
+ input: buffer 1
+```
+
+##### PostgreSQL DML Execution Plan
+
+```sql
+postgres=# explain analyze UPDATE customers_2 SET id = 20 WHERE id = 23;
+ QUERY PLAN
+-------------------------------------------------------------------------------------------------------------------------------------
+ Update on customers_2 (cost=0.15..8.17 rows=1 width=10) (actual time=0.039..0.039 rows=0 loops=1)
+ -> Index Scan using customers_2_pkey on customers_2 (cost=0.15..8.17 rows=1 width=10) (actual time=0.016..0.016 rows=1 loops=1)
+ Index Cond: (id = 23)
+ Planning Time: 0.057 ms
+ Trigger for constraint orders_2_customer_id_fkey on customers_2: time=0.045 calls=1
+ Trigger for constraint orders_2_customer_id_fkey on orders_2: time=0.023 calls=2
+ Execution Time: 0.129 ms
+```
+
+## Compatibility
+
+Since the old version TiDB already support foreign key syntax, but doesn't support it, after upgrade TiDB to latest version, the foreign key created before won't take effect. Only foreign keys created in the new version actually take effect.
+
+You can use `SHOW CREATE TABLE` to see whethere a foreign key is take effect, the old version foreign key will have a comment `/* FOREIGN KEY INVALID */` to indicate it is invalid, the new version foreign key doesn't have this comment.
+
+```sql
+> show create table t2\G
+ ***************************[ 1. row ]***************************
+ Table | t2
+Create Table | CREATE TABLE `t2` (
+ `id` int(11) NOT NULL,
+ PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,
+ CONSTRAINT `fk` FOREIGN KEY (`id`) REFERENCES `test`.`t1` (`id`) ON DELETE CASCADE ON UPDATE CASCADE /* FOREIGN KEY INVALID */
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
+```
+
+## Impact
+
+### Impact of data replication
+
+#### TiCDC
+
+When syncing table data to downstream TiDB, TiCDC should `set @@foreign_key_checks=0` in downstream TiDB.
+
+#### DM
+
+When doing full synchronization, DM should `set @@foreign_key_checks=0` in downstream TiDB.
+
+When doing incremental synchronization, DM should set `foreign_key_checks` session variable according to MySQL binlog.
+
+#### BR
+
+When restore data into TiDB, BR should `set @@foreign_key_checks=0` in TiDB.
+
+## Test Case
+
+Cascade modification test case:
+
+```sql
+drop table if exists t3,t2,t1;
+create table t1 (id int key,a int, index(a));
+create table t2 (id int key,a int, foreign key fk(a) references t1(id) ON DELETE CASCADE);
+create table t3 (id int key,a int, foreign key fk(a) references t2(id) ON DELETE CASCADE);
+insert into t1 values (1,1);
+insert into t2 values (2,1);
+insert into t3 values (3,2);
+delete from t1 where id = 1; -- both t1, t2, t3 rows are deleted.
+```
+
+Following is a MySQL test case about `SET DEFAULT`, as you can see, MySQL actualy doesn't support `SET DEFAULT`, the behaviour is just like `RESTRICT`
+
+```sql
+MySQL>create table t1 (a int,b int, index(a,b)) ;
+Query OK, 0 rows affected
+Time: 0.022s
+MySQL>create table t (a int, b int, foreign key fk_a(a) references test.t1(a) ON DELETE SET DEFAULT);
+Query OK, 0 rows affected
+Time: 0.019s
+MySQL>insert into t1 values (1,1);
+Query OK, 1 row affected
+Time: 0.003s
+MySQL>insert into t values (1,1);
+Query OK, 1 row affected
+Time: 0.006s
+MySQL>delete from t1 where a=1;
+(1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t`, CONSTRAINT `t_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))')
+MySQL>select version();
++-----------+
+| version() |
++-----------+
+| 8.0.29 |
++-----------+
+```
+
+### Self-Referencing Tables
+
+For example, table `employee` has a column `manager_id` references to `employee.id`.
+
+```sql
+create table employee (id int key,manager_id int, foreign key fk(manager_id) references employee(id) ON DELETE CASCADE);
+insert into employee values (1,1);
+insert into employee values (2,1);
+
+test> delete from employee where id=1;
+Query OK, 1 row affected
+test> select * from employee;
++----+---+
+| id | a |
++----+---+
+0 rows in set
+```
+
+A case of self-reference and cyclical dependencies:
+
+```sql
+test> create table t (id int key,a int, foreign key fk_a(a) references t(id) ON DELETE CASCADE, foreign key fk_id(id) references t(a) ON DELETE CASCADE);
+Query OK, 0 rows affected
+Time: 0.045s
+test> insert into t values (1,1);
+(1452, 'Cannot add or update a child row: a foreign key constraint fails (`test`.`t`, CONSTRAINT `t_ibfk_2` FOREIGN KEY (`id`) REFERENCES `t` (`a`) ON DELETE CASCADE)')
+```
+
+### Cyclical Dependencies
+
+```sql
+create table t1 (id int key,a int, index(a));
+create table t2 (id int key,a int, foreign key fk(a) references t1(id) ON DELETE CASCADE);
+insert into t1 values (1,1);
+ALTER TABLE t1 ADD foreign key fk(a) references t2(id) ON DELETE CASCADE;
+(1452, 'Cannot add or update a child row: a foreign key constraint fails (`test`.`#sql-298_8`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t2` (`id`) ON DELETE CASCADE)')
+```
+
+```sql
+set @@foreign_key_checks=0;
+create table t1 (id int key,a int, foreign key fk(a) references t2(id) ON DELETE CASCADE);
+create table t2 (id int key,a int, foreign key fk(a) references t1(id) ON DELETE CASCADE);
+insert into t1 values (1, 2);
+insert into t2 values (2, 1);
+set @@foreign_key_checks=1; -- add test case without this.
+delete from t1 where id=1;
+test> select * from t2;
++----+---+
+| id | a |
++----+---+
+0 rows in set
+Time: 0.004s
+test> select * from t1;
++----+---+
+| id | a |
++----+---+
+0 rows in set
+```
+
+### Check order
+
+check order should check unique/primary key constrain first:
+
+```sql
+test> create table t1 (id int key,a int, index(a));
+test> create table t2 (id int key,a int, foreign key fk(a) references t1(id) ON DELETE CASCADE);
+test> insert into t1 values (1, 1);
+test> insert into t2 values (1, 1);
+test> insert into t2 values (1, 2);
+(1062, "Duplicate entry '1' for key 't2.PRIMARY'")
+test> insert ignore into t2 values (1, 2);
+Query OK, 0 rows affected
+```
+
+### MATCH FULL or MATCH SIMPLE
+
+This definition is from [CRDB](https://www.cockroachlabs.com/docs/v22.1/foreign-key.html#match-composite-foreign-keys-with-match-simple-and-match-full). MySQL doesn't mention it, here is a MySQL test case:
+
+Here is an MySQL example:
+
+```sql
+create table t1 (i int, a int,b int, index(a,b)) ;
+create table t (a int, b int, foreign key fk_a(a,b) references test.t1(a,b));
+
+test> insert into t values (null,1);
+Query OK, 1 row affected
+test> insert into t values (null,null);
+Query OK, 1 row affected
+test> insert into t values (1,null);
+Query OK, 1 row affected
+```
+
+## reference
+
+- [MySQL FOREIGN KEY Constraints Document](https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html#foreign-key-adding)
+- [3 Common Foreign Key Mistakes (And How to Avoid Them)](https://www.cockroachlabs.com/blog/common-foreign-key-mistakes/)
+- [Hidden Cost of Foreign Key Constraints in MySQL](https://www.percona.com/blog/hidden-cost-of-foreign-key-constraints-in-MySQL/)
+- [DDL Queries on Foreign Key Columns in MySQL/PXC](https://www.percona.com/blog/2019/06/04/ddl-queries-foreign-key-columns-mysql-pxc/)
diff --git a/docs/design/2022-09-28-flashback-to-timestamp.md b/docs/design/2022-09-28-flashback-to-timestamp.md
index 9f3c2e2ef7fab..d71ff39404179 100644
--- a/docs/design/2022-09-28-flashback-to-timestamp.md
+++ b/docs/design/2022-09-28-flashback-to-timestamp.md
@@ -1,5 +1,6 @@
# Proposal: Flashback To Timestamp
-- Author(s): [Defined2014](https://github.com/Defined2014) and [JmPotato](https://github.com/JmPotato)
+- Author(s): [Defined2014](https://github.com/Defined2014) and [JmPotato](https://github.com/JmPotato)
+- Last updated: 2022-12-19
- Tracking Issues: https://github.com/pingcap/tidb/issues/37197 and https://github.com/tikv/tikv/issues/13303
## Abstract
@@ -61,19 +62,19 @@ Then a `Flashback To Timestamp` DDL job can be simply divided into the following
* Pre-checks. After all checks are passed, TiDB will disable GC and closed PD schedule for the cluster. The specific checks are as follows:
* The FlashbackTS is after `tikv_gc_safe_point`.
- * The FlashbackTS is before the minimal store resolved TS.
- * No related DDL history in flashback time range.
+ * The FlashbackTS is before the minimal store resolved timestamp.
+ * No DDL job was executing at FlashbackTS.
* No running related DDL jobs.
* TiDB get flashback key ranges and splits them into separate regions to avoid locking unrelated key ranges. Then TiDB send `PrepareFlashbackToVersion` RPC requests to lock regions in TiKV. Once locked, no more read, write and scheduling operations are allowed for those regions.
-* After locked all relevant key ranges, the DDL Owner will update schema version and synchronize it to other TiDBs. When other TiDB applies the `SchemaDiff` of type `Flashback To Timestamp`, it will disconnect all relevant links.
+* After locked all relevant key ranges, the DDL owner will update schema version and synchronize it to other TiDBs. When other TiDB applies the `SchemaDiff` of type `Flashback To Timestamp`, it will disconnect all relevant links.
* Send `FlashbackToVersion` RPC requests to all relevant key ranges with same `commit_ts`. Each region handles its own flashback progress independently.
* Read the old MVCC data and write it again with the given `commit_ts` to pretend it's a new transaction commit.
* Release the Raft proposing lock and resume the lease read.
-* TiDB checks whether all the requests returned successfully, and retries those that failed with same `commit_ts` until the whole flashback is done.
+* TiDB checks whether all the requests returned successfully, and retries those failed requests with the same `commit_ts`. After all requests finished, the DDL owner update the schema version with new type named `ReloadSchemaMap`, so that all TiDB servers regenerate the schema map from TiKV.
* After `Flashback To Timestamp` is finished, TiDB will restore all changed global variables and restart PD schedule. At the same time, notify `Stats Handle` to reload statistics from TiKV.
@@ -101,17 +102,7 @@ FLASHBACK TABLE [table1], [table2] TO TIMESTAMP '2022-08-10 08:00:00';
### Limitations and future Work
-1. DDL history exists for the flashback time period is not currently supported, the error message is shown below:
-
-```sql
-mysql> ALTER TABLE t ADD INDEX i(a);
-Query OK, 0 rows affected (2.99 sec)
-
-mysql> FLASHBACK CLUSTER TO TIMESTAMP '2022-10-10 11:53:30';
-ERROR 1105 (HY000): Had ddl history during [2022-10-10 11:53:30 +0800 CST, now), can't do flashback
-```
-
-2. Compare with the other DDL jobs, `Flashback To Timestamp` job cannot be rollbacked after some regions failure and also needs to resend rpc to all regions when ddl owner crashed. In the future, we will improve those two issues with a new TiKV interface and new distributed processing ddl framework.
+1. Compare with the other DDL jobs, `Flashback To Timestamp` job cannot be rollbacked after some regions failure and also needs to resend rpc to all regions when ddl owner crashed. In the future, we will improve those two issues with a new TiKV interface and new distributed processing ddl framework.
### Alternative Solutions
diff --git a/docs/design/2022-09-29-reorganize-partition.md b/docs/design/2022-09-29-reorganize-partition.md
new file mode 100644
index 0000000000000..56e380826efa7
--- /dev/null
+++ b/docs/design/2022-09-29-reorganize-partition.md
@@ -0,0 +1,180 @@
+# TiDB Design Documents
+
+- Author(s): [Mattias Jonsson](http://github.com/mjonss)
+- Discussion PR: https://github.com/pingcap/tidb/issues/38535
+- Tracking Issue: https://github.com/pingcap/tidb/issues/15000
+
+## Table of Contents
+
+* [Introduction](#introduction)
+* [Motivation or Background](#motivation-or-background)
+* [Detailed Design](#detailed-design)
+ * [Schema change states for REORGANIZE PARTITION](#schema-change-states-for-reorganize-partition)
+ * [Error Handling](#error-handling)
+ * [Notes](#notes)
+* [Test Design](#test-design)
+ * [Benchmark Tests](#benchmark-tests)
+* [Impacts & Risks](#impacts--risks)
+
+## Introduction
+
+Support ALTER TABLE t REORGANIZE PARTITION p1,p2 INTO (partition pNew1 values...)
+
+## Motivation or Background
+
+TiDB is currently lacking the support of changing the partitions of a partitioned table, it only supports adding and dropping LIST/RANGE partitions.
+Supporting REORGANIZE PARTITIONs will allow RANGE partitioned tables to have a MAXVALUE partition to catch all values and split it into new ranges. Similar with LIST partitions where one can split or merge different partitions.
+
+When this is implemented, it will also allow future PRs transforming a non-partitioned table into a partitioned table as well as remove partitioning and make a partitioned table a normal non-partitioned table, as well as COALESCE PARTITION and ADD PARTITION for HASH partitioned tables, which is different ALTER statements but can use the same implementation as REORGANIZE PARTITION
+
+The operation should be online, and must handle multiple partitions as well as large data sets.
+
+Possible usage scenarios:
+- Full table copy
+ - merging all partitions to a single table (ALTER TABLE t REMOVE PARTITIONING)
+ - splitting data from many to many partitions, like change the number of HASH partitions
+ - splitting a table to many partitions (ALTER TABLE t PARTITION BY ...)
+- Partial table copy (not full table/all partitions)
+ - split one or more partitions
+ - merge two or more partitions
+
+These different use cases can have different optimizations, but the generic form must still be solved:
+- N partitions, where each partition has M indexes
+
+First implementation should be based on the merge-txn (row-by-row batch read, update record key with new Physical Table ID, write) transactional batches and then create the indexes in batches index by index, partition by partition.
+Later we can implement the ingest (lightning way) optimization, since DDL module are on the way of evolution to do reorg tasks more efficiency.
+
+## Detailed Design
+
+There are two parts of the design:
+- Schema change states throughout the operation
+- Reorganization implementation, which will be handled in the StateWriteReorganization state.
+
+Where the schema change states will clarify which different steps that will be done in which schema state transitions.
+
+### Schema change states for REORGANIZE PARTITION
+
+Since this operation will:
+- create new partitions
+- copy data from dropped partitions to new partitions and create their indexes
+- change the partition definitions
+- drop existing partitions
+
+It will use all these schema change stages:
+
+ // StateNone means this schema element is absent and can't be used.
+ StateNone SchemaState = iota
+ - Check if the table structure after the ALTER is valid
+ - Use the generate physical table ids to each new partition (that was generated already by the client sending the ALTER command).
+ - Update the meta data with the new partitions (AddingDefinitions) and which partitions to be dropped (DroppingDefinitions), so that new transactions can double write.
+ - Set placement rules
+ - Set TiFlash Replicas
+ - Set legacy Bundles (non-sql placement)
+ - Set the state to StateDeleteOnly
+
+ // StateDeleteOnly means we can only delete items for this schema element (the new partition).
+ StateDeleteOnly
+ - Set the state to StateWriteOnly
+
+ // StateWriteOnly means we can use any write operation on this schema element,
+ // but outer can't read the changed data.
+ StateWriteOnly
+ - Set the state to StateWriteReorganization
+
+ // StateWriteReorganization means we are re-organizing whole data after write only state.
+ StateWriteReorganization
+ - Copy the data from the partitions to be dropped (one at a time) and insert it into the new partitions. This needs a new backfillWorker implementation.
+ - Recreate the indexes one by one for the new partitions (one partition at a time) (create an element for each index and reuse the addIndexWorker). (Note: this can be optimized in the futute, either with the new fast add index implementation, based on lightning. Or by either writing the index entries at the same time as the records, in the previous step, or if the partitioning columns are included in the index or handle)
+ - Replace the old partitions with the new partitions in the metadata when the data copying is done
+ - Set the state to StateDeleteReorganization
+
+ // StateDeleteReorganization means we are re-organizing whole data after delete only state.
+ StateDeleteReorganization - we are using this state in a slightly different way than the comment above says.
+ This state is needed since we cannot directly move from StateWriteReorganization to StatePublic.
+ Imagine that the StateWriteReorganization is complete and we are updating the schema version, then if a transaction seeing the new schema version is writing to the new partitions, then those changes needs to be written to the old partitions as well, so new transactions in other nodes using the older schema version can still see the changes.
+ - Remove the notion of new partitions (AddingDefinitions) and which partitions to be dropped (DroppingDefinitions) and double writing will stop when it goes to StatePublic.
+ - Register the range delete of the old partition data (in finishJob / deleteRange).
+ - Set the state to StatePublic
+
+ // StatePublic means this schema element is ok for all write and read operations.
+ StatePublic
+ - Table structure is now complete and the table is ready to use with its new partitioning scheme
+ - Note that there is a background job for the GCWorker to do in its deleteRange function.
+
+During the reorganization happens in the background the normal write path needs to check if there are any new partitions in the metadata and also check if the updated/deleted/inserted row would match a new partition, and if so, also do the same operation in the new partition, just like during adding index or modify column operations currently does. (To be implemented in `(*partitionedTable) AddRecord/UpdateRecord/RemoveRecord`)
+
+Example of why an extra state between StateWriteReorganize and StatePublic is needed:
+
+```sql
+-- table:
+CREATE TABLE t (a int) PARTITION BY LIST (a) (PARTITION p0 VALUES IN (1,2,3,4,5), PARTITION p1 VALUES IN (6,7,8,9,10));
+-- during alter operation:
+ALTER TABLE t REORGANIZE PARTITION p0 INTO (PARTITION p0a VALUES IN (1,2,3), PARTITION p0b VALUES IN (4,5));
+```
+
+Partition within parentheses `(p0a [1] p0b [0])` is hidden or to be deleted by GC/DeleteRange. Values in the brackets after the partition `p0a [2]`.
+
+If we go directly from StateWriteReorganize to StatePublic, then clients one schema version behind will not see changes to the new partitions:
+
+| Data (TiKV/Unistore) | TiDB client 1 | TiDB client 2 |
+| --------------------------------------- | ------------------------------------ | ------------------------------------------------------------ |
+| p0 [] p1 [] StateWriteReorganize | | |
+| p0 [] p1 [] (p0a [] p0b []) | | |
+| (p0 []) p1 [] p0a [] p0b [] StatePublic | | |
+| (p0 []) p1 [] p0a [2] p0b [] | StatePublic INSERT INTO T VALUES (2) | |
+| (p0 []) p1 [] p0a [2] p0b [] | | StateWriteReorganize SELECT * FROM t => [] (only sees p0,p1) |
+
+
+But if we add a state between StateWriteReorganize and StatePublic and double write to the old partitions during that state it works:
+
+
+| Data (TiKV/Unistore) | TiDB client 1 | TiDB client 2 |
+| ------------------------------------------------- | ---------------------------------------------- | -------------------------------------------------------------------- |
+| p0 [] p1 [] (p0a [] p0b []) StateWriteReorganize | | |
+| (p0 []) p1 [] p0a [] p0b [] StateDeleteReorganize | | |
+| (p0 [2]) p1 [] p0a [2] p0b [] | StateDeleteReorganize INSERT INTO T VALUES (2) | |
+| (p0 [2]) p1 [] p0a [2] p0b [] | | StateWriteReorganize SELECT * FROM t => [2] (only sees p0,p1) |
+| (p0 [2]) p1 [] p0a [2] p0b [] StatePublic | | |
+| (p0 [2]) p1 [] p0a [2] p0b [4] | StatePublic INSERT INTO T VALUES (4) | |
+| (p0 [2]) p1 [] p0a [2] p0b [4] | | StateDeleteReorganize SELECT * FROM t => [2,4] (sees p0a,p0b,p1) |
+
+
+### Error handling
+
+If any non-retryable error occurs, we will call onDropTablePartition and adjust the logic in that function to also handle the roll back of reorganize partition, in a similar way as it does with model.ActionAddTablePartition.
+
+### Notes
+
+Note that parser support already exists.
+There should be no issues with upgrading, and downgrade will not be supported during the DDL.
+
+Notes:
+- statistics should be removed from the old partitions.
+- statistics will not be generated for the new partitions (future optimization possible, to get statistics during the data copying?)
+- the global statistics (table level) will remain the same, since the data has not changed.
+- this DDL will be online, while MySQL is blocking on MDL.
+
+## Test Design
+
+Re-use tests from other DDLs like Modify column, but adjust them for Reorganize partition.
+A separate test plan will be created and a test report will be written and signed off when the tests are completed.
+
+### Benchmark Tests
+
+Correctness and functionality is higher priority than performance.
+
+## Impacts & Risks
+
+Impacts:
+- better usability of partitioned tables
+- online alter in TiDB, where MySQL is blocking
+- all affected data needs to be read (CPU/IO/Network load on TiDB/PD/TiKV), even multiple times in case of indexes.
+- all data needs to be writted (duplicated, both row-data and indexes), including transaction logs (more disk space on TiKV, CPU/IO/Network load on TiDB/PD/TiKV and TiFlash if configured on the table).
+
+Risks:
+- introduction of bugs
+ - in the DDL code
+ - in the write path (double writing the changes for transactions running during the DDL)
+- out of disk space
+- out of memory
+- general resource usage, resulting in lower performance of the cluster
diff --git a/docs/design/2022-11-22-view-hint.md b/docs/design/2022-11-22-view-hint.md
new file mode 100644
index 0000000000000..b780208a13f45
--- /dev/null
+++ b/docs/design/2022-11-22-view-hint.md
@@ -0,0 +1,134 @@
+# View Hint Design Doc
+- Author: Reminiscent
+- Tracking Issue: https://github.com/pingcap/tidb/issues/37887
+
+## Background
+Hints that specify a table generally refer to tables in the DELETE, SELECT, or UPDATE query block in which the hint occurs, not to tables inside any views referenced by the statement. So we introduce the view hint to specify the table in view instead of embedding the hint in the view.
+
+In Oracle, there are three ways to use the global hint. (Node: the `{}` part is only used for explanation)
+```SQL
+CREATE OR REPLACE VIEW v AS
+SELECT {SEL$2} * from e1 join (select {SEL$3} * from e3) e2 on e1.a = e2.a;
+
+SELECT {SEL$1} * FROM v;
+
+A. SELECT /*+ INDEX(v.e2.e3 idx) */ * FROM v; // /*+ INDEX(@SEL$1 v.e2.e3 idx) */
+
+B. SELECT /*+ INDEX(@SEL$2 e2.e3 idx) */ * FROM v;
+
+C. SELECT /*+ INDEX(@SEL$3 e3 idx) */ * FROM v;
+```
+
+Compared with TiDB, Oracle has two differences:
+1. Oracle can use `alias.table` to represent in subquery, such as e2.e3. Besides, TiDB can use `db.table` to represent a table.
+2. The count for query block number treats view like a subquery, which means the select parts in view are counted.
+
+Based on the difference, there are some reasons why TiDB can not just use the grammar from Oracle:
+1. Compatibility
+ 1. Grammar.
+ 1. We can not use the `alias.table` to represent in subquery, such as e2.e3.
+ 2. We can use `db.table` to represent a table. So if we want to use the `view.table` to represent a table in view, we should change the grammar or it will conflict with db.table.
+ 2. The count for the query block.
+ 1. Previously, the query block in view would not be counted. But now, if we take the view into consideration, it will change the origin count. For example, in the following part. The count of the query block for the `select a from t1` will be changed from `@SEL_2` to `@SEL_3`. So if we use the query block related hints for this part, it will be invalid or represent the content in the view.
+
+```SQL
+CREATE OR REPLACE VIEW v AS
+SELECT {SEL$2} * FROM t;
+
+SELECT {SEL$1} * FROM v JOIN (select {SEL$3} a from t1) t2 on v.a = t2.a;
+```
+
+So based on the above reasons, we should introduce another way to let hint take effect in the view.
+
+## Detailed Design
+### How does origin hint framework work?
+1. Parser: parse the sql text and get the basic information about the hint. Handle hint syntax error in this phase.
+2. Optimizer:
+ 1. Divide and mark the query block. Besides, group the hints in the same query blocks.
+ 2. In the plan builder phase, when we try to build select. We will handle the hints in the current query block. Including doing some simple checks and building the hints structure which can be used by planner.
+ 3. When we build some logical operators, we will use the hints which belongs to the current query block. And tt will use the table in hint to match the table in the plan node. For example, when we build the `DataSource` operator, it will generate the possible access path based on the index hints. When we build the `Aggregation` operator, it will set the aggregation algorithm based on the agg hints. And for the `Join` operator, it will store the hint in the join node and use the hint information in the physical optimization phase. The warning about which table is not used in the hint will be recorded in this phase.
+ 4. Use the hint information in the physical optimization phase to determine which physical algorithm should be used. And if the hint can not take effect, it will report warning. For example, if the join can not use the index join, but we set the index join hint in the sql text. It will report related warnings.
+
+### View Hint Design
+Based on the goal and current infrastructure for hint. I extend the current usage of the qb_name hint to a bigger scope to support the view hint.
+
+An example to show the usage of the current `qb_name` hint.
+```SQL
+select /*+ stream_agg(@qb) merge_join(t1@qb)*/ * from (select /*+ qb_name(qb) */ count(*) from t1 join t2 on t1.a = t2.a) tt;
+```
+1. First, we define the name for some query blocks.
+2. Then we can use the query block name to represent the query block.
+
+Based on the meaning of `qb_name` hint now, we can expand it to support the view. The basic idea is the same here. We define the query block name in the view first. And then we can use the query block name to represent the contents in the view. Now the grammar is expanded from
+`qb_name(name)` in the query block which you want to rename
+To
+`qb_name(name, viewName@queryBlockNum . {viewName}@queryBlockNum . ...)` in the first query block to represent any query block. Besides, we will reset the count for query block in every view. It means, for every view, it always counts from 1 and it will not effect the outer part.
+For example:
+```SQL
+create table t(a int, b int);
+create table t1(a int, b int);
+create table t2(a int, b int);
+
+create view v as select {@SEL_1}{5} t.a, t.b from t join (select {@SEL_2}{6} t1.a from t1 join t2 on t1.b=t2.b) tt on t.a = tt.a;
+
+create view v1 as select {@SEL_1}{3} t.a, t.b from t join (select {@SEL_2}{4} from t1 join v on t1.b=v.b) tt on t.a = tt.a;
+
+create view v2 as select {@SEL_1}{1} t.a, t.b from t join (select {@SEL_2}{2} t1.a from t1 join v1 join v3 on t1.b=v1.b) tt on t.a = tt.a;
+
+select {@SEL_1} * from v2;
+
+/* We can use the following part to represent the {1} - {6} */
+1: qb_name(v2_sel1, v2@sel_1 . @sel_1)
+2: qb_name(v2_sel2, v2@sel_1 . @sel_2)
+3: qb_name(v1_sel1, v2@sel_1 . v1@sel_2 . @sel_1)
+4: qb_name(v1_sel2, v2@sel_1 . v1@sel_2 . @sel_2)
+5: qb_name(v_sel1, v2@sel_1 . v1@sel_2 . v@sel_2 . @sel_1)
+6: qb_name(v_sel2, v2@sel_1 . v1@sel_2 . v@sel_2 . @sel_2)
+```
+Take the previous as example:
+```SQL
+CREATE OR REPLACE VIEW v AS
+SELECT * from e1 join (select count(*) from e3) e2 on e1.a = e2.a;
+
+
+/* In Oracle */
+A1. SELECT /*+ INDEX(v.e2.e3 idx) */ * FROM v;
+
+A2. SELECT /*+ INDEX(@SEL$1 v.e2.e3 idx) */ * FROM v;
+
+B. SELECT /*+ INDEX(@SEL$2 e2.e3 idx) */ * FROM v;
+
+C. SELECT /*+ INDEX(@SEL$3 e3 idx) */ * FROM v;
+
+/* In TiDB */
+SELECT /*+ qb_name(viewSub, v@sel_1 . @sel_2) use_index(e3@viewSub, idx) hash_agg(viewSub) */ * FROM v;
+```
+
+### Implementation
+Parser part is easy to implement. Just to expand the origin `qb_name` hint grammar. The only problem maybe is how to express the nested view(use dot or blank or something else).
+
+For the planner part:
+1. At the beginning of the optimization, we should handle the query block name hint for view and the other method hints for view. And group these hints based on the query block name.
+2. When we try to build the data source from the view, we have to traverse all of the query blocks for views. Check whether the view name in hint can match the data source or not. If there are some hints that can match, we pass it to the `buildDataSourceFromView`.
+3. When we try to build the view plan, we first handle the hints which are passed by the caller. Distinguish which hints belong to the current view and which belongs to the nested view. If the hint belongs to the current view, we transform the hint to the normal hint. If the hints belong to the nested view. Then we will do the same thing, like step2.
+
+Besides the planner part, we need support to show the query block for a sql to increase usability. The user can copy the result and use it in hint directly.
+
+### Support Scope
+1. We can support almost all physical algorithm's hints. Like join hints/ agg hints/ index etc.
+2. Do not support the leading hints which may be across the view. But we can support the leading hint in the same view.
+
+### Pros and Cons
+Pros:
+1. No compatibility problems. Just expand the usage of the existing hint.
+2. It is easier to implement. It can use the origin hints' infrastructure as much as possible.
+3. It can support almost all the hints which can take effect in the query block. Oracle can only support the join order, join method and access path hints.
+
+Cons:
+1. It may not be easy to write the query block name hint for a view.
+2. The user should define the query block name hint first.
+
+## Reference
+[Oracle Global Hint](https://docs.oracle.com/cd/E18283_01/server.112/e16638/hintsref.htm#i27644)
+
+
diff --git a/docs/logo_with_text.png b/docs/logo_with_text.png
deleted file mode 100644
index 722bbf8f8c53a..0000000000000
Binary files a/docs/logo_with_text.png and /dev/null differ
diff --git a/docs/tidb-architecture.png b/docs/tidb-architecture.png
new file mode 100644
index 0000000000000..e3360c45258dd
Binary files /dev/null and b/docs/tidb-architecture.png differ
diff --git a/docs/tidb-logo-with-text.png b/docs/tidb-logo-with-text.png
new file mode 100644
index 0000000000000..111465b9fc842
Binary files /dev/null and b/docs/tidb-logo-with-text.png differ
diff --git a/domain/BUILD.bazel b/domain/BUILD.bazel
index f7ef9baba6907..f04948ddfe709 100644
--- a/domain/BUILD.bazel
+++ b/domain/BUILD.bazel
@@ -6,6 +6,7 @@ go_library(
"domain.go",
"domain_sysvars.go",
"domainctx.go",
+ "historical_stats.go",
"optimize_trace.go",
"plan_replayer.go",
"plan_replayer_dump.go",
@@ -35,6 +36,7 @@ go_library(
"//meta",
"//metrics",
"//owner",
+ "//parser",
"//parser/ast",
"//parser/model",
"//parser/mysql",
@@ -42,9 +44,11 @@ go_library(
"//privilege/privileges",
"//sessionctx",
"//sessionctx/sessionstates",
+ "//sessionctx/stmtctx",
"//sessionctx/variable",
"//statistics/handle",
"//telemetry",
+ "//ttl/ttlworker",
"//types",
"//util",
"//util/chunk",
@@ -57,8 +61,10 @@ go_library(
"//util/memory",
"//util/memoryusagealarm",
"//util/printer",
+ "//util/replayer",
"//util/servermemorylimit",
"//util/sqlexec",
+ "//util/syncutil",
"@com_github_burntsushi_toml//:toml",
"@com_github_ngaut_pools//:pools",
"@com_github_pingcap_errors//:errors",
@@ -118,6 +124,7 @@ go_test(
"//testkit/testsetup",
"//util",
"//util/mock",
+ "//util/replayer",
"@com_github_ngaut_pools//:pools",
"@com_github_pingcap_errors//:errors",
"@com_github_pingcap_failpoint//:failpoint",
diff --git a/domain/domain.go b/domain/domain.go
index 1016d5ba9b5cb..5f6b0ce3a08a2 100644
--- a/domain/domain.go
+++ b/domain/domain.go
@@ -17,7 +17,9 @@ package domain
import (
"context"
"fmt"
+ "math"
"math/rand"
+ "sort"
"strconv"
"strings"
"sync"
@@ -57,6 +59,7 @@ import (
"github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/statistics/handle"
"github.com/pingcap/tidb/telemetry"
+ "github.com/pingcap/tidb/ttl/ttlworker"
"github.com/pingcap/tidb/types"
"github.com/pingcap/tidb/util"
"github.com/pingcap/tidb/util/dbterror"
@@ -66,8 +69,10 @@ import (
"github.com/pingcap/tidb/util/logutil"
"github.com/pingcap/tidb/util/memory"
"github.com/pingcap/tidb/util/memoryusagealarm"
+ "github.com/pingcap/tidb/util/replayer"
"github.com/pingcap/tidb/util/servermemorylimit"
"github.com/pingcap/tidb/util/sqlexec"
+ "github.com/tikv/client-go/v2/tikv"
"github.com/tikv/client-go/v2/txnkv/transaction"
pd "github.com/tikv/pd/client"
clientv3 "go.etcd.io/etcd/client/v3"
@@ -117,6 +122,8 @@ type Domain struct {
planReplayerHandle *planReplayerHandle
expiredTimeStamp4PC types.Time
logBackupAdvancer *daemon.OwnerDaemon
+ historicalStatsWorker *HistoricalStatsWorker
+ ttlJobManager *ttlworker.JobManager
serverID uint64
serverIDSession *concurrency.Session
@@ -181,6 +188,7 @@ func (do *Domain) loadInfoSchema(startTS uint64) (infoschema.InfoSchema, bool, i
// 1. Not first time bootstrap loading, which needs a full load.
// 2. It is newer than the current one, so it will be "the current one" after this function call.
// 3. There are less 100 diffs.
+ // 4. No regenrated schema diff.
startTime := time.Now()
if currentSchemaVersion != 0 && neededSchemaVersion > currentSchemaVersion && neededSchemaVersion-currentSchemaVersion < 100 {
is, relatedChanges, err := do.tryLoadSchemaDiffs(m, currentSchemaVersion, neededSchemaVersion)
@@ -208,7 +216,12 @@ func (do *Domain) loadInfoSchema(startTS uint64) (infoschema.InfoSchema, bool, i
return nil, false, currentSchemaVersion, nil, err
}
- newISBuilder, err := infoschema.NewBuilder(do.Store(), do.sysFacHack).InitWithDBInfos(schemas, policies, neededSchemaVersion)
+ resourceGroups, err := do.fetchResourceGroups(m)
+ if err != nil {
+ return nil, false, currentSchemaVersion, nil, err
+ }
+
+ newISBuilder, err := infoschema.NewBuilder(do.Store(), do.sysFacHack).InitWithDBInfos(schemas, policies, resourceGroups, neededSchemaVersion)
if err != nil {
return nil, false, currentSchemaVersion, nil, err
}
@@ -240,6 +253,14 @@ func (do *Domain) fetchPolicies(m *meta.Meta) ([]*model.PolicyInfo, error) {
return allPolicies, nil
}
+func (do *Domain) fetchResourceGroups(m *meta.Meta) ([]*model.ResourceGroupInfo, error) {
+ allResourceGroups, err := m.ListResourceGroups()
+ if err != nil {
+ return nil, err
+ }
+ return allResourceGroups, nil
+}
+
func (do *Domain) fetchAllSchemasWithTables(m *meta.Meta) ([]*model.DBInfo, error) {
allSchemas, err := m.ListDatabases()
if err != nil {
@@ -340,12 +361,15 @@ func (do *Domain) tryLoadSchemaDiffs(m *meta.Meta, usedVersion, newVersion int64
if err != nil {
return nil, nil, err
}
+ if diff.RegenerateSchemaMap {
+ return nil, nil, errors.Errorf("Meets a schema diff with RegenerateSchemaMap flag")
+ }
if canSkipSchemaCheckerDDL(diff.Type) {
continue
}
phyTblIDs = append(phyTblIDs, IDs...)
for i := 0; i < len(IDs); i++ {
- actions = append(actions, uint64(1< 1 {
- enabled = true
- servers, err := infosync.GetAllServerInfo(ctx)
- if err != nil {
- return err
- }
- for _, s := range servers {
- if v, ok := s.Labels[placement.DCLabelKey]; ok && v != "" {
- if _, ok := storeZones[v]; !ok {
- enabled = false
- break
- }
+ // no stores in this AZ
+ if _, ok := storeZones[zone]; !ok {
+ variable.SetEnableAdaptiveReplicaRead(false)
+ return nil
+ }
+
+ servers, err := infosync.GetAllServerInfo(ctx)
+ if err != nil {
+ return err
+ }
+ svrIdsInThisZone := make([]string, 0)
+ for _, s := range servers {
+ if v, ok := s.Labels[placement.DCLabelKey]; ok && v != "" {
+ if _, ok := storeZones[v]; ok {
storeZones[v] += 1
- }
- }
- if enabled {
- for _, count := range storeZones {
- if count == 0 {
- enabled = false
- break
+ if v == zone {
+ svrIdsInThisZone = append(svrIdsInThisZone, s.ID)
}
}
}
}
+ enabledCount := math.MaxInt
+ for _, count := range storeZones {
+ if count < enabledCount {
+ enabledCount = count
+ }
+ }
+ // sort tidb in the same AZ by ID and disable the tidb with bigger ID
+ // because ID is unchangeable, so this is a simple and stable algorithm to select
+ // some instances across all tidb servers.
+ if enabledCount < len(svrIdsInThisZone) {
+ sort.Slice(svrIdsInThisZone, func(i, j int) bool {
+ return strings.Compare(svrIdsInThisZone[i], svrIdsInThisZone[j]) < 0
+ })
+ }
+ enabled := true
+ for _, s := range svrIdsInThisZone[enabledCount:] {
+ if s == serverInfo.ID {
+ enabled = false
+ break
+ }
+ }
if variable.SetEnableAdaptiveReplicaRead(enabled) {
logutil.BgLogger().Info("tidb server adaptive closest replica read is changed", zap.Bool("enable", enabled))
@@ -1375,6 +1441,64 @@ func (do *Domain) LoadSysVarCacheLoop(ctx sessionctx.Context) error {
return nil
}
+// WatchTiFlashComputeNodeChange create a routine to watch if the topology of tiflash_compute node is changed.
+// TODO: tiflashComputeNodeKey is not put to etcd yet(finish this when AutoScaler is done)
+//
+// store cache will only be invalidated every n seconds.
+func (do *Domain) WatchTiFlashComputeNodeChange() error {
+ var watchCh clientv3.WatchChan
+ if do.etcdClient != nil {
+ watchCh = do.etcdClient.Watch(context.Background(), tiflashComputeNodeKey)
+ }
+ do.wg.Add(1)
+ duration := 10 * time.Second
+ go func() {
+ defer func() {
+ do.wg.Done()
+ logutil.BgLogger().Info("WatchTiFlashComputeNodeChange exit")
+ util.Recover(metrics.LabelDomain, "WatchTiFlashComputeNodeChange", nil, false)
+ }()
+
+ var count int
+ var logCount int
+ for {
+ ok := true
+ var watched bool
+ select {
+ case <-do.exit:
+ return
+ case _, ok = <-watchCh:
+ watched = true
+ case <-time.After(duration):
+ }
+ if !ok {
+ logutil.BgLogger().Error("WatchTiFlashComputeNodeChange watch channel closed")
+ watchCh = do.etcdClient.Watch(context.Background(), tiflashComputeNodeKey)
+ count++
+ if count > 10 {
+ time.Sleep(time.Duration(count) * time.Second)
+ }
+ continue
+ }
+ count = 0
+ switch s := do.store.(type) {
+ case tikv.Storage:
+ logCount++
+ s.GetRegionCache().InvalidateTiFlashComputeStores()
+ if logCount == 6 {
+ // Print log every 6*duration seconds.
+ logutil.BgLogger().Debug("tiflash_compute store cache invalied, will update next query", zap.Bool("watched", watched))
+ logCount = 0
+ }
+ default:
+ logutil.BgLogger().Debug("No need to watch tiflash_compute store cache for non-tikv store")
+ return
+ }
+ }
+ }()
+ return nil
+}
+
// PrivilegeHandle returns the MySQLPrivilege.
func (do *Domain) PrivilegeHandle() *privileges.Handle {
return do.privHandle
@@ -1532,52 +1656,104 @@ func (do *Domain) TelemetryRotateSubWindowLoop(ctx sessionctx.Context) {
}
// SetupPlanReplayerHandle setup plan replayer handle
-func (do *Domain) SetupPlanReplayerHandle(ctx sessionctx.Context) {
- do.planReplayerHandle = &planReplayerHandle{
- planReplayerTaskCollectorHandle: &planReplayerTaskCollectorHandle{
- sctx: ctx,
- },
+func (do *Domain) SetupPlanReplayerHandle(collectorSctx sessionctx.Context, workersSctxs []sessionctx.Context) {
+ ctx := kv.WithInternalSourceType(context.Background(), kv.InternalTxnStats)
+ do.planReplayerHandle = &planReplayerHandle{}
+ do.planReplayerHandle.planReplayerTaskCollectorHandle = &planReplayerTaskCollectorHandle{
+ ctx: ctx,
+ sctx: collectorSctx,
+ }
+ taskCH := make(chan *PlanReplayerDumpTask, 16)
+ taskStatus := &planReplayerDumpTaskStatus{}
+ taskStatus.finishedTaskMu.finishedTask = map[replayer.PlanReplayerTaskKey]struct{}{}
+ taskStatus.runningTaskMu.runningTasks = map[replayer.PlanReplayerTaskKey]struct{}{}
+
+ do.planReplayerHandle.planReplayerTaskDumpHandle = &planReplayerTaskDumpHandle{
+ taskCH: taskCH,
+ status: taskStatus,
+ }
+ do.planReplayerHandle.planReplayerTaskDumpHandle.workers = make([]*planReplayerTaskDumpWorker, 0)
+ for i := 0; i < len(workersSctxs); i++ {
+ worker := &planReplayerTaskDumpWorker{
+ ctx: ctx,
+ sctx: workersSctxs[i],
+ taskCH: taskCH,
+ status: taskStatus,
+ }
+ do.planReplayerHandle.planReplayerTaskDumpHandle.workers = append(do.planReplayerHandle.planReplayerTaskDumpHandle.workers, worker)
+ }
+}
+
+// SetupHistoricalStatsWorker setups worker
+func (do *Domain) SetupHistoricalStatsWorker(ctx sessionctx.Context) {
+ do.historicalStatsWorker = &HistoricalStatsWorker{
+ tblCH: make(chan int64, 16),
+ sctx: ctx,
}
}
// SetupDumpFileGCChecker setup sctx
func (do *Domain) SetupDumpFileGCChecker(ctx sessionctx.Context) {
do.dumpFileGcChecker.setupSctx(ctx)
+ do.dumpFileGcChecker.planReplayerTaskStatus = do.planReplayerHandle.status
}
-var planReplayerHandleLease = 10 * time.Second
+var planReplayerHandleLease atomic.Uint64
+
+func init() {
+ planReplayerHandleLease.Store(uint64(10 * time.Second))
+ enableDumpHistoricalStats.Store(true)
+}
// DisablePlanReplayerBackgroundJob4Test disable plan replayer handle for test
func DisablePlanReplayerBackgroundJob4Test() {
- planReplayerHandleLease = 0
+ planReplayerHandleLease.Store(0)
+}
+
+// DisableDumpHistoricalStats4Test disable historical dump worker for test
+func DisableDumpHistoricalStats4Test() {
+ enableDumpHistoricalStats.Store(false)
}
// StartPlanReplayerHandle start plan replayer handle job
func (do *Domain) StartPlanReplayerHandle() {
- if planReplayerHandleLease < 1 {
+ lease := planReplayerHandleLease.Load()
+ if lease < 1 {
return
}
- do.wg.Add(1)
+ do.wg.Add(2)
go func() {
- tikcer := time.NewTicker(planReplayerHandleLease)
+ tikcer := time.NewTicker(time.Duration(lease))
defer func() {
tikcer.Stop()
do.wg.Done()
- logutil.BgLogger().Info("PlanReplayerHandle exited.")
- util.Recover(metrics.LabelDomain, "PlanReplayerHandle", nil, false)
+ logutil.BgLogger().Info("PlanReplayerTaskCollectHandle exited.")
+ util.Recover(metrics.LabelDomain, "PlanReplayerTaskCollectHandle", nil, false)
}()
for {
select {
case <-do.exit:
return
case <-tikcer.C:
- err := do.planReplayerHandle.CollectPlanReplayerTask(context.Background())
+ err := do.planReplayerHandle.CollectPlanReplayerTask()
if err != nil {
logutil.BgLogger().Warn("plan replayer handle collect tasks failed", zap.Error(err))
}
}
}
}()
+ go func() {
+ defer func() {
+ do.wg.Done()
+ logutil.BgLogger().Info("PlanReplayerTaskDumpHandle exited.")
+ util.Recover(metrics.LabelDomain, "PlanReplayerTaskDumpHandle", nil, false)
+ }()
+ for _, worker := range do.planReplayerHandle.planReplayerTaskDumpHandle.workers {
+ go worker.run()
+ }
+ <-do.exit
+ do.planReplayerHandle.planReplayerTaskDumpHandle.Close()
+ }()
}
// GetPlanReplayerHandle returns plan replayer handle
@@ -1607,6 +1783,40 @@ func (do *Domain) DumpFileGcCheckerLoop() {
}()
}
+// GetHistoricalStatsWorker gets historical workers
+func (do *Domain) GetHistoricalStatsWorker() *HistoricalStatsWorker {
+ return do.historicalStatsWorker
+}
+
+// EnableDumpHistoricalStats used to control whether enbale dump stats for unit test
+var enableDumpHistoricalStats atomic.Bool
+
+// StartHistoricalStatsWorker start historical workers running
+func (do *Domain) StartHistoricalStatsWorker() {
+ if !enableDumpHistoricalStats.Load() {
+ return
+ }
+ do.wg.Add(1)
+ go func() {
+ defer func() {
+ do.wg.Done()
+ logutil.BgLogger().Info("HistoricalStatsWorker exited.")
+ util.Recover(metrics.LabelDomain, "HistoricalStatsWorkerLoop", nil, false)
+ }()
+ for {
+ select {
+ case <-do.exit:
+ return
+ case tblID := <-do.historicalStatsWorker.tblCH:
+ err := do.historicalStatsWorker.DumpHistoricalStats(tblID, do.StatsHandle())
+ if err != nil {
+ logutil.BgLogger().Warn("dump historical stats failed", zap.Error(err), zap.Int64("tableID", tblID))
+ }
+ }
+ }
+ }()
+}
+
// StatsHandle returns the statistic handle.
func (do *Domain) StatsHandle() *handle.Handle {
return (*handle.Handle)(atomic.LoadPointer(&do.statsHandle))
@@ -1748,15 +1958,17 @@ func (do *Domain) loadStatsWorker() {
lease = 3 * time.Second
}
loadTicker := time.NewTicker(lease)
+ updStatsHealthyTicker := time.NewTicker(20 * lease)
defer func() {
loadTicker.Stop()
+ updStatsHealthyTicker.Stop()
logutil.BgLogger().Info("loadStatsWorker exited.")
}()
statsHandle := do.StatsHandle()
t := time.Now()
err := statsHandle.InitStats(do.InfoSchema())
if err != nil {
- logutil.BgLogger().Debug("init stats info failed", zap.Error(err))
+ logutil.BgLogger().Error("init stats info failed", zap.Duration("take time", time.Since(t)), zap.Error(err))
} else {
logutil.BgLogger().Info("init stats info time", zap.Duration("take time", time.Since(t)))
}
@@ -1775,6 +1987,8 @@ func (do *Domain) loadStatsWorker() {
if err != nil {
logutil.BgLogger().Debug("load histograms failed", zap.Error(err))
}
+ case <-updStatsHealthyTicker.C:
+ statsHandle.UpdateStatsHealthyMetrics()
case <-do.exit:
return
}
@@ -1842,7 +2056,7 @@ func (do *Domain) updateStatsWorker(ctx sessionctx.Context, owner owner.Manager)
case t := <-statsHandle.DDLEventCh():
err := statsHandle.HandleDDLEvent(t)
if err != nil {
- logutil.BgLogger().Debug("handle ddl event failed", zap.Error(err))
+ logutil.BgLogger().Error("handle ddl event failed", zap.String("event", t.String()), zap.Error(err))
}
case <-deltaUpdateTicker.C:
err := statsHandle.DumpStatsDeltaToKV(handle.DumpDelta)
@@ -1951,8 +2165,9 @@ func (do *Domain) ServerMemoryLimitHandle() *servermemorylimit.Handle {
}
const (
- privilegeKey = "/tidb/privilege"
- sysVarCacheKey = "/tidb/sysvars"
+ privilegeKey = "/tidb/privilege"
+ sysVarCacheKey = "/tidb/sysvars"
+ tiflashComputeNodeKey = "/tiflash/new_tiflash_compute_nodes"
)
// NotifyUpdatePrivilege updates privilege key in etcd, TiDB client that watches
@@ -1989,7 +2204,7 @@ func (do *Domain) NotifyUpdatePrivilege() error {
// NotifyUpdateSysVarCache updates the sysvar cache key in etcd, which other TiDB
// clients are subscribed to for updates. For the caller, the cache is also built
// synchronously so that the effect is immediate.
-func (do *Domain) NotifyUpdateSysVarCache() {
+func (do *Domain) NotifyUpdateSysVarCache(updateLocal bool) {
if do.etcdClient != nil {
row := do.etcdClient.KV
_, err := row.Put(context.Background(), sysVarCacheKey, "")
@@ -1998,8 +2213,10 @@ func (do *Domain) NotifyUpdateSysVarCache() {
}
}
// update locally
- if err := do.rebuildSysVarCache(nil); err != nil {
- logutil.BgLogger().Error("rebuilding sysvar cache failed", zap.Error(err))
+ if updateLocal {
+ if err := do.rebuildSysVarCache(nil); err != nil {
+ logutil.BgLogger().Error("rebuilding sysvar cache failed", zap.Error(err))
+ }
}
}
@@ -2259,6 +2476,32 @@ func (do *Domain) serverIDKeeper() {
}
}
+// StartTTLJobManager creates and starts the ttl job manager
+func (do *Domain) StartTTLJobManager() {
+ do.wg.Run(func() {
+ defer func() {
+ logutil.BgLogger().Info("ttlJobManager exited.")
+ }()
+
+ ttlJobManager := ttlworker.NewJobManager(do.ddl.GetID(), do.sysSessionPool, do.store, do.etcdClient)
+ do.ttlJobManager = ttlJobManager
+ ttlJobManager.Start()
+
+ <-do.exit
+
+ ttlJobManager.Stop()
+ err := ttlJobManager.WaitStopped(context.Background(), 30*time.Second)
+ if err != nil {
+ logutil.BgLogger().Warn("fail to wait until the ttl job manager stop", zap.Error(err))
+ }
+ })
+}
+
+// TTLJobManager returns the ttl job manager on this domain
+func (do *Domain) TTLJobManager() *ttlworker.JobManager {
+ return do.ttlJobManager
+}
+
func init() {
initByLDFlagsForGlobalKill()
telemetry.GetDomainInfoSchema = func(ctx sessionctx.Context) infoschema.InfoSchema {
diff --git a/domain/domain_test.go b/domain/domain_test.go
index 621f0fb2c431f..bd9287fe730ec 100644
--- a/domain/domain_test.go
+++ b/domain/domain_test.go
@@ -17,6 +17,8 @@ package domain
import (
"context"
"crypto/tls"
+ "encoding/json"
+ "fmt"
"net"
"runtime"
"testing"
@@ -66,7 +68,7 @@ func TestInfo(t *testing.T) {
Storage: s,
pdAddrs: []string{cluster.Members[0].GRPCURL()}}
ddlLease := 80 * time.Millisecond
- dom := NewDomain(mockStore, ddlLease, 0, 0, 0, mockFactory, nil)
+ dom := NewDomain(mockStore, ddlLease, 0, 0, 0, mockFactory)
defer func() {
dom.Close()
err := s.Close()
@@ -169,7 +171,7 @@ func TestStatWorkRecoverFromPanic(t *testing.T) {
require.NoError(t, err)
ddlLease := 80 * time.Millisecond
- dom := NewDomain(store, ddlLease, 0, 0, 0, mockFactory, nil)
+ dom := NewDomain(store, ddlLease, 0, 0, 0, mockFactory)
metrics.PanicCounter.Reset()
// Since the stats lease is 0 now, so create a new ticker will panic.
@@ -236,7 +238,7 @@ func TestClosestReplicaReadChecker(t *testing.T) {
require.NoError(t, err)
ddlLease := 80 * time.Millisecond
- dom := NewDomain(store, ddlLease, 0, 0, 0, mockFactory, nil)
+ dom := NewDomain(store, ddlLease, 0, 0, 0, mockFactory)
defer func() {
dom.Close()
require.Nil(t, store.Close())
@@ -247,7 +249,29 @@ func TestClosestReplicaReadChecker(t *testing.T) {
}
dom.sysVarCache.Unlock()
- require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/domain/infosync/mockGetAllServerInfo", `return("")`))
+ makeFailpointRes := func(v interface{}) string {
+ bytes, err := json.Marshal(v)
+ require.NoError(t, err)
+ return fmt.Sprintf("return(`%s`)", string(bytes))
+ }
+
+ mockedAllServerInfos := map[string]*infosync.ServerInfo{
+ "s1": {
+ ID: "s1",
+ Labels: map[string]string{
+ "zone": "zone1",
+ },
+ },
+ "s2": {
+ ID: "s2",
+ Labels: map[string]string{
+ "zone": "zone2",
+ },
+ },
+ }
+
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/domain/infosync/mockGetAllServerInfo", makeFailpointRes(mockedAllServerInfos)))
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/domain/infosync/mockGetServerInfo", makeFailpointRes(mockedAllServerInfos["s2"])))
stores := []*metapb.Store{
{
@@ -304,8 +328,77 @@ func TestClosestReplicaReadChecker(t *testing.T) {
require.False(t, variable.IsAdaptiveReplicaReadEnabled())
}
+ // partial matches
+ mockedAllServerInfos = map[string]*infosync.ServerInfo{
+ "s1": {
+ ID: "s1",
+ Labels: map[string]string{
+ "zone": "zone1",
+ },
+ },
+ "s2": {
+ ID: "s2",
+ Labels: map[string]string{
+ "zone": "zone2",
+ },
+ },
+ "s22": {
+ ID: "s22",
+ Labels: map[string]string{
+ "zone": "zone2",
+ },
+ },
+ "s3": {
+ ID: "s3",
+ Labels: map[string]string{
+ "zone": "zone3",
+ },
+ },
+ "s4": {
+ ID: "s4",
+ Labels: map[string]string{
+ "zone": "zone4",
+ },
+ },
+ }
+ pdClient.stores = stores
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/domain/infosync/mockGetAllServerInfo", makeFailpointRes(mockedAllServerInfos)))
+ cases := []struct {
+ id string
+ matches bool
+ }{
+ {
+ id: "s1",
+ matches: true,
+ },
+ {
+ id: "s2",
+ matches: true,
+ },
+ {
+ id: "s22",
+ matches: false,
+ },
+ {
+ id: "s3",
+ matches: true,
+ },
+ {
+ id: "s4",
+ matches: false,
+ },
+ }
+ for _, c := range cases {
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/domain/infosync/mockGetServerInfo", makeFailpointRes(mockedAllServerInfos[c.id])))
+ variable.SetEnableAdaptiveReplicaRead(!c.matches)
+ err = dom.checkReplicaRead(ctx, pdClient)
+ require.Nil(t, err)
+ require.Equal(t, c.matches, variable.IsAdaptiveReplicaReadEnabled())
+ }
+
variable.SetEnableAdaptiveReplicaRead(true)
require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/domain/infosync/mockGetAllServerInfo"))
+ require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/domain/infosync/mockGetServerInfo"))
}
type mockInfoPdClient struct {
diff --git a/domain/globalconfigsync/globalconfig_test.go b/domain/globalconfigsync/globalconfig_test.go
index c7dab0064dedb..d6013f2887693 100644
--- a/domain/globalconfigsync/globalconfig_test.go
+++ b/domain/globalconfigsync/globalconfig_test.go
@@ -88,19 +88,23 @@ func TestStoreGlobalConfig(t *testing.T) {
_, err = se.Execute(context.Background(), "set @@global.tidb_enable_top_sql=1;")
require.NoError(t, err)
+ _, err = se.Execute(context.Background(), "set @@global.tidb_source_id=2;")
+ require.NoError(t, err)
for i := 0; i < 20; i++ {
time.Sleep(100 * time.Millisecond)
client :=
store.(kv.StorageWithPD).GetPDClient()
// enable top sql will be translated to enable_resource_metering
- items, err := client.LoadGlobalConfig(context.Background(), []string{"enable_resource_metering"})
+ items, err := client.LoadGlobalConfig(context.Background(), []string{"enable_resource_metering", "source_id"})
require.NoError(t, err)
- if len(items) == 1 && items[0].Value == "" {
+ if len(items) == 2 && items[0].Value == "" {
continue
}
- require.Len(t, items, 1)
+ require.Len(t, items, 2)
require.Equal(t, items[0].Name, "/global/config/enable_resource_metering")
require.Equal(t, items[0].Value, "true")
+ require.Equal(t, items[1].Name, "/global/config/source_id")
+ require.Equal(t, items[1].Value, "2")
return
}
require.Fail(t, "timeout for waiting global config synced")
diff --git a/domain/historical_stats.go b/domain/historical_stats.go
new file mode 100644
index 0000000000000..5d6d90feedef8
--- /dev/null
+++ b/domain/historical_stats.go
@@ -0,0 +1,81 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package domain
+
+import (
+ "github.com/pingcap/errors"
+ "github.com/pingcap/tidb/metrics"
+ "github.com/pingcap/tidb/parser/model"
+ "github.com/pingcap/tidb/sessionctx"
+ "github.com/pingcap/tidb/statistics/handle"
+)
+
+var (
+ generateHistoricalStatsSuccessCounter = metrics.HistoricalStatsCounter.WithLabelValues("generate", "success")
+ generateHistoricalStatsFailedCounter = metrics.HistoricalStatsCounter.WithLabelValues("generate", "fail")
+)
+
+// HistoricalStatsWorker indicates for dump historical stats
+type HistoricalStatsWorker struct {
+ tblCH chan int64
+ sctx sessionctx.Context
+}
+
+// SendTblToDumpHistoricalStats send tableID to worker to dump historical stats
+func (w *HistoricalStatsWorker) SendTblToDumpHistoricalStats(tableID int64) {
+ w.tblCH <- tableID
+}
+
+// DumpHistoricalStats dump stats by given tableID
+func (w *HistoricalStatsWorker) DumpHistoricalStats(tableID int64, statsHandle *handle.Handle) error {
+ historicalStatsEnabled, err := statsHandle.CheckHistoricalStatsEnable()
+ if err != nil {
+ return errors.Errorf("check tidb_enable_historical_stats failed: %v", err)
+ }
+ if !historicalStatsEnabled {
+ return nil
+ }
+ sctx := w.sctx
+ is := GetDomain(sctx).InfoSchema()
+ isPartition := false
+ var tblInfo *model.TableInfo
+ tbl, existed := is.TableByID(tableID)
+ if !existed {
+ tbl, db, p := is.FindTableByPartitionID(tableID)
+ if tbl != nil && db != nil && p != nil {
+ isPartition = true
+ tblInfo = tbl.Meta()
+ } else {
+ return errors.Errorf("cannot get table by id %d", tableID)
+ }
+ } else {
+ tblInfo = tbl.Meta()
+ }
+ dbInfo, existed := is.SchemaByTable(tblInfo)
+ if !existed {
+ return errors.Errorf("cannot get DBInfo by TableID %d", tableID)
+ }
+ if _, err := statsHandle.RecordHistoricalStatsToStorage(dbInfo.Name.O, tblInfo, tableID, isPartition); err != nil {
+ generateHistoricalStatsFailedCounter.Inc()
+ return errors.Errorf("record table %s.%s's historical stats failed, err:%v", dbInfo.Name.O, tblInfo.Name.O, err)
+ }
+ generateHistoricalStatsSuccessCounter.Inc()
+ return nil
+}
+
+// GetOneHistoricalStatsTable gets one tableID from channel, only used for test
+func (w *HistoricalStatsWorker) GetOneHistoricalStatsTable() int64 {
+ return <-w.tblCH
+}
diff --git a/domain/infosync/BUILD.bazel b/domain/infosync/BUILD.bazel
index c0936390ff016..0952dfc300490 100644
--- a/domain/infosync/BUILD.bazel
+++ b/domain/infosync/BUILD.bazel
@@ -8,6 +8,7 @@ go_library(
"label_manager.go",
"placement_manager.go",
"region.go",
+ "resource_group_manager.go",
"schedule_manager.go",
"tiflash_manager.go",
],
@@ -41,6 +42,8 @@ go_library(
"@com_github_pingcap_errors//:errors",
"@com_github_pingcap_failpoint//:failpoint",
"@com_github_pingcap_kvproto//pkg/metapb",
+ "@com_github_pingcap_kvproto//pkg/resource_manager",
+ "@com_github_pingcap_log//:log",
"@com_github_tikv_client_go_v2//oracle",
"@com_github_tikv_pd_client//:client",
"@io_etcd_go_etcd_client_v3//:client",
diff --git a/domain/infosync/info.go b/domain/infosync/info.go
index a2af6c5dfa58f..7732a831b057e 100644
--- a/domain/infosync/info.go
+++ b/domain/infosync/info.go
@@ -33,6 +33,7 @@ import (
"github.com/pingcap/errors"
"github.com/pingcap/failpoint"
"github.com/pingcap/kvproto/pkg/metapb"
+ rmpb "github.com/pingcap/kvproto/pkg/resource_manager"
"github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/ddl/label"
"github.com/pingcap/tidb/ddl/placement"
@@ -111,6 +112,7 @@ type InfoSyncer struct {
placementManager PlacementManager
scheduleManager ScheduleManager
tiflashReplicaManager TiFlashReplicaManager
+ resourceGroupManager ResourceGroupManager
}
// ServerInfo is server static information.
@@ -192,6 +194,7 @@ func GlobalInfoSyncerInit(ctx context.Context, id string, serverIDGetter func()
is.labelRuleManager = initLabelRuleManager(etcdCli)
is.placementManager = initPlacementManager(etcdCli)
is.scheduleManager = initScheduleManager(etcdCli)
+ is.resourceGroupManager = initResourceGroupManager(etcdCli)
is.tiflashReplicaManager = initTiFlashReplicaManager(etcdCli)
setGlobalInfoSyncer(is)
return is, nil
@@ -237,6 +240,13 @@ func initPlacementManager(etcdCli *clientv3.Client) PlacementManager {
return &PDPlacementManager{etcdCli: etcdCli}
}
+func initResourceGroupManager(etcdCli *clientv3.Client) ResourceGroupManager {
+ if etcdCli == nil {
+ return &mockResourceGroupManager{groups: make(map[string]*rmpb.ResourceGroup)}
+ }
+ return NewResourceManager(etcdCli)
+}
+
func initTiFlashReplicaManager(etcdCli *clientv3.Client) TiFlashReplicaManager {
if etcdCli == nil {
m := mockTiFlashReplicaManagerCtx{tiflashProgressCache: make(map[int64]float64)}
@@ -282,6 +292,11 @@ func SetMockTiFlash(tiflash *MockTiFlash) {
// GetServerInfo gets self server static information.
func GetServerInfo() (*ServerInfo, error) {
+ failpoint.Inject("mockGetServerInfo", func(v failpoint.Value) {
+ var res ServerInfo
+ err := json.Unmarshal([]byte(v.(string)), &res)
+ failpoint.Return(&res, err)
+ })
is, err := getGlobalInfoSyncer()
if err != nil {
return nil, err
@@ -316,20 +331,10 @@ func (is *InfoSyncer) getServerInfoByID(ctx context.Context, id string) (*Server
// GetAllServerInfo gets all servers static information from etcd.
func GetAllServerInfo(ctx context.Context) (map[string]*ServerInfo, error) {
- failpoint.Inject("mockGetAllServerInfo", func() {
- res := map[string]*ServerInfo{
- "fa598405-a08e-4e74-83ff-75c30b1daedc": {
- Labels: map[string]string{
- "zone": "zone1",
- },
- },
- "ad84dbbd-5a50-4742-a73c-4f674d41d4bd": {
- Labels: map[string]string{
- "zone": "zone2",
- },
- },
- }
- failpoint.Return(res, nil)
+ failpoint.Inject("mockGetAllServerInfo", func(val failpoint.Value) {
+ res := make(map[string]*ServerInfo)
+ err := json.Unmarshal([]byte(val.(string)), &res)
+ failpoint.Return(res, err)
})
is, err := getGlobalInfoSyncer()
if err != nil {
@@ -508,7 +513,7 @@ func doRequestWithFailpoint(req *http.Request) (resp *http.Response, err error)
return util2.InternalHTTPClient().Do(req)
}
-// GetAllRuleBundles is used to get all rule bundles from PD. It is used to load full rules from PD while fullload infoschema.
+// GetAllRuleBundles is used to get all rule bundles from PD It is used to load full rules from PD while fullload infoschema.
func GetAllRuleBundles(ctx context.Context) ([]*placement.Bundle, error) {
is, err := getGlobalInfoSyncer()
if err != nil {
@@ -568,6 +573,53 @@ func PutRuleBundlesWithRetry(ctx context.Context, bundles []*placement.Bundle, m
return
}
+// GetResourceGroup is used to get one specific resource group from resource manager.
+func GetResourceGroup(ctx context.Context, name string) (*rmpb.ResourceGroup, error) {
+ is, err := getGlobalInfoSyncer()
+ if err != nil {
+ return nil, err
+ }
+
+ return is.resourceGroupManager.GetResourceGroup(ctx, name)
+}
+
+// GetAllResourceGroups is used to get all resource groups from resource manager.
+func GetAllResourceGroups(ctx context.Context) ([]*rmpb.ResourceGroup, error) {
+ is, err := getGlobalInfoSyncer()
+ if err != nil {
+ return nil, err
+ }
+
+ return is.resourceGroupManager.GetAllResourceGroups(ctx)
+}
+
+// CreateResourceGroup is used to create one specific resource group to resource manager.
+func CreateResourceGroup(ctx context.Context, group *rmpb.ResourceGroup) error {
+ is, err := getGlobalInfoSyncer()
+ if err != nil {
+ return err
+ }
+ return is.resourceGroupManager.CreateResourceGroup(ctx, group)
+}
+
+// ModifyResourceGroup is used to modify one specific resource group to resource manager.
+func ModifyResourceGroup(ctx context.Context, group *rmpb.ResourceGroup) error {
+ is, err := getGlobalInfoSyncer()
+ if err != nil {
+ return err
+ }
+ return is.resourceGroupManager.ModifyResourceGroup(ctx, group)
+}
+
+// DeleteResourceGroup is used to delete one specific resource group from resource manager.
+func DeleteResourceGroup(ctx context.Context, name string) error {
+ is, err := getGlobalInfoSyncer()
+ if err != nil {
+ return err
+ }
+ return is.resourceGroupManager.DeleteResourceGroup(ctx, name)
+}
+
// PutRuleBundlesWithDefaultRetry will retry for default times
func PutRuleBundlesWithDefaultRetry(ctx context.Context, bundles []*placement.Bundle) (err error) {
return PutRuleBundlesWithRetry(ctx, bundles, SyncBundlesMaxRetry, RequestRetryInterval)
@@ -694,8 +746,6 @@ func (is *InfoSyncer) ReportMinStartTS(store kv.Storage) {
if sm == nil {
return
}
- pl := sm.ShowProcessList()
- innerSessionStartTSList := sm.GetInternalSessionStartTSList()
// Calculate the lower limit of the start timestamp to avoid extremely old transaction delaying GC.
currentVer, err := store.CurrentVersion(kv.GlobalTxnScope)
@@ -709,18 +759,8 @@ func (is *InfoSyncer) ReportMinStartTS(store kv.Storage) {
minStartTS := oracle.GoTimeToTS(now)
logutil.BgLogger().Debug("ReportMinStartTS", zap.Uint64("initial minStartTS", minStartTS),
zap.Uint64("StartTSLowerLimit", startTSLowerLimit))
- for _, info := range pl {
- if info.CurTxnStartTS > startTSLowerLimit && info.CurTxnStartTS < minStartTS {
- minStartTS = info.CurTxnStartTS
- }
- }
-
- for _, innerTS := range innerSessionStartTSList {
- logutil.BgLogger().Debug("ReportMinStartTS", zap.Uint64("Internal Session Transaction StartTS", innerTS))
- kv.PrintLongTimeInternalTxn(now, innerTS, false)
- if innerTS > startTSLowerLimit && innerTS < minStartTS {
- minStartTS = innerTS
- }
+ if ts := sm.GetMinStartTS(startTSLowerLimit); ts > startTSLowerLimit && ts < minStartTS {
+ minStartTS = ts
}
is.minStartTS = kv.GetMinInnerTxnStartTS(now, startTSLowerLimit, minStartTS)
diff --git a/domain/infosync/resource_group_manager.go b/domain/infosync/resource_group_manager.go
new file mode 100644
index 0000000000000..93c751fc04968
--- /dev/null
+++ b/domain/infosync/resource_group_manager.go
@@ -0,0 +1,144 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package infosync
+
+import (
+ "context"
+ "sync"
+
+ rmpb "github.com/pingcap/kvproto/pkg/resource_manager"
+ "github.com/pingcap/log"
+ clientv3 "go.etcd.io/etcd/client/v3"
+ "go.uber.org/zap"
+)
+
+// ResourceGroupManager manages resource group settings
+type ResourceGroupManager interface {
+ // GetResourceGroup is used to get one specific rule bundle from ResourceGroup Manager.
+ GetResourceGroup(ctx context.Context, name string) (*rmpb.ResourceGroup, error)
+ // GetAllResourceGroups is used to get all rule bundles from ResourceGroup Manager.
+ GetAllResourceGroups(ctx context.Context) ([]*rmpb.ResourceGroup, error)
+ // PutResourceGroup is used to post specific rule bundles to ResourceGroup Manager.
+ CreateResourceGroup(ctx context.Context, group *rmpb.ResourceGroup) error
+ // ModifyResourceGroup is used to modify specific rule bundles to ResourceGroup Manager.
+ ModifyResourceGroup(ctx context.Context, group *rmpb.ResourceGroup) error
+ // DeleteResourceGroup is used to delete specific rule bundles to ResourceGroup Manager.
+ DeleteResourceGroup(ctx context.Context, name string) error
+}
+
+// externalResourceGroupManager manages placement with resource manager.
+// TODO: replace with resource manager client.
+type externalResourceGroupManager struct {
+ etcdCli *clientv3.Client
+}
+
+// NewResourceManager is used to create a new resource manager in client side.
+func NewResourceManager(etcdCli *clientv3.Client) ResourceGroupManager {
+ return &externalResourceGroupManager{etcdCli: etcdCli}
+}
+
+// GetResourceGroupClient is used to get resource group client.
+func (m *externalResourceGroupManager) GetResourceGroupClient() rmpb.ResourceManagerClient {
+ conn := m.etcdCli.ActiveConnection()
+ return rmpb.NewResourceManagerClient(conn)
+}
+
+// GetResourceGroup is used to get one specific rule bundle from ResourceGroup Manager.
+func (m *externalResourceGroupManager) GetResourceGroup(ctx context.Context, name string) (*rmpb.ResourceGroup, error) {
+ group := &rmpb.GetResourceGroupRequest{ResourceGroupName: name}
+ resp, err := m.GetResourceGroupClient().GetResourceGroup(ctx, group)
+ if err != nil {
+ return nil, err
+ }
+ return resp.GetGroup(), nil
+}
+
+// GetAllResourceGroups is used to get all resource group from ResourceGroup Manager. It is used to load full resource groups from PD while fullload infoschema.
+func (m *externalResourceGroupManager) GetAllResourceGroups(ctx context.Context) ([]*rmpb.ResourceGroup, error) {
+ req := &rmpb.ListResourceGroupsRequest{}
+ resp, err := m.GetResourceGroupClient().ListResourceGroups(ctx, req)
+ if err != nil {
+ return nil, err
+ }
+ return resp.GetGroups(), nil
+}
+
+// CreateResourceGroup is used to post specific resource group to ResourceGroup Manager.
+func (m *externalResourceGroupManager) CreateResourceGroup(ctx context.Context, group *rmpb.ResourceGroup) error {
+ req := &rmpb.PutResourceGroupRequest{Group: group}
+ _, err := m.GetResourceGroupClient().AddResourceGroup(ctx, req)
+ return err
+}
+
+// ModifyResourceGroup is used to modify specific resource group to ResourceGroup Manager.
+func (m *externalResourceGroupManager) ModifyResourceGroup(ctx context.Context, group *rmpb.ResourceGroup) error {
+ req := &rmpb.PutResourceGroupRequest{Group: group}
+ _, err := m.GetResourceGroupClient().ModifyResourceGroup(ctx, req)
+ return err
+}
+
+// DeleteResourceGroup is used to delete specific resource group to ResourceGroup Manager.
+func (m *externalResourceGroupManager) DeleteResourceGroup(ctx context.Context, name string) error {
+ req := &rmpb.DeleteResourceGroupRequest{ResourceGroupName: name}
+ log.Info("delete resource group", zap.String("name", name))
+ _, err := m.GetResourceGroupClient().DeleteResourceGroup(ctx, req)
+ return err
+}
+
+type mockResourceGroupManager struct {
+ sync.Mutex
+ groups map[string]*rmpb.ResourceGroup
+}
+
+func (m *mockResourceGroupManager) GetResourceGroup(ctx context.Context, name string) (*rmpb.ResourceGroup, error) {
+ m.Lock()
+ defer m.Unlock()
+ group, ok := m.groups[name]
+ if !ok {
+ return nil, nil
+ }
+ return group, nil
+}
+
+func (m *mockResourceGroupManager) GetAllResourceGroups(ctx context.Context) ([]*rmpb.ResourceGroup, error) {
+ m.Lock()
+ defer m.Unlock()
+ groups := make([]*rmpb.ResourceGroup, 0, len(m.groups))
+ for _, group := range m.groups {
+ groups = append(groups, group)
+ }
+ return groups, nil
+}
+
+func (m *mockResourceGroupManager) CreateResourceGroup(ctx context.Context, group *rmpb.ResourceGroup) error {
+ m.Lock()
+ defer m.Unlock()
+ m.groups[group.Name] = group
+ return nil
+}
+
+func (m *mockResourceGroupManager) ModifyResourceGroup(ctx context.Context, group *rmpb.ResourceGroup) error {
+ m.Lock()
+ defer m.Unlock()
+ m.groups[group.Name] = group
+ return nil
+}
+
+func (m *mockResourceGroupManager) DeleteResourceGroup(ctx context.Context, name string) error {
+ m.Lock()
+ defer m.Unlock()
+ delete(m.groups, name)
+ return nil
+}
diff --git a/domain/plan_replayer.go b/domain/plan_replayer.go
index efc2e8ad21429..2bbb15772d56c 100644
--- a/domain/plan_replayer.go
+++ b/domain/plan_replayer.go
@@ -27,16 +27,18 @@ import (
"github.com/pingcap/errors"
"github.com/pingcap/tidb/bindinfo"
- "github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/domain/infosync"
"github.com/pingcap/tidb/kv"
+ "github.com/pingcap/tidb/metrics"
+ "github.com/pingcap/tidb/parser"
"github.com/pingcap/tidb/parser/ast"
"github.com/pingcap/tidb/parser/terror"
"github.com/pingcap/tidb/sessionctx"
+ "github.com/pingcap/tidb/sessionctx/stmtctx"
"github.com/pingcap/tidb/sessionctx/variable"
- "github.com/pingcap/tidb/statistics/handle"
"github.com/pingcap/tidb/util/chunk"
"github.com/pingcap/tidb/util/logutil"
+ "github.com/pingcap/tidb/util/replayer"
"github.com/pingcap/tidb/util/sqlexec"
"go.uber.org/zap"
)
@@ -45,16 +47,10 @@ import (
// For now it is used by `plan replayer` and `trace plan` statement
type dumpFileGcChecker struct {
sync.Mutex
- gcLease time.Duration
- paths []string
- sctx sessionctx.Context
-}
-
-// GetPlanReplayerDirName returns plan replayer directory path.
-// The path is related to the process id.
-func GetPlanReplayerDirName() string {
- tidbLogDir := filepath.Dir(config.GetGlobalConfig().Log.File.Filename)
- return filepath.Join(tidbLogDir, "replayer")
+ gcLease time.Duration
+ paths []string
+ sctx sessionctx.Context
+ planReplayerTaskStatus *planReplayerDumpTaskStatus
}
func parseType(s string) string {
@@ -105,7 +101,7 @@ func (p *dumpFileGcChecker) gcDumpFilesByPath(path string, t time.Duration) {
logutil.BgLogger().Error("[dumpFileGcChecker] parseTime failed", zap.Error(err), zap.String("filename", fileName))
continue
}
- isPlanReplayer := parseType(fileName) == "replayer"
+ isPlanReplayer := strings.Contains(fileName, "replayer")
if !createTime.After(gcTime) {
err := os.Remove(filepath.Join(path, f.Name()))
if err != nil {
@@ -115,23 +111,12 @@ func (p *dumpFileGcChecker) gcDumpFilesByPath(path string, t time.Duration) {
logutil.BgLogger().Info("dumpFileGcChecker successful", zap.String("filename", fileName))
if isPlanReplayer && p.sctx != nil {
deletePlanReplayerStatus(context.Background(), p.sctx, fileName)
+ p.planReplayerTaskStatus.clearFinishedTask()
}
}
}
}
-type planReplayerHandle struct {
- *planReplayerTaskCollectorHandle
-}
-
-type planReplayerTaskCollectorHandle struct {
- taskMu struct {
- sync.RWMutex
- tasks map[PlanReplayerTaskKey]struct{}
- }
- sctx sessionctx.Context
-}
-
func deletePlanReplayerStatus(ctx context.Context, sctx sessionctx.Context, token string) {
ctx1 := kv.WithInternalSourceType(ctx, kv.InternalTxnStats)
exec := sctx.(sqlexec.SQLExecutor)
@@ -153,62 +138,105 @@ func insertPlanReplayerStatus(ctx context.Context, sctx sessionctx.Context, reco
instance = fmt.Sprintf("%s:%d", serverInfo.IP, serverInfo.Port)
}
for _, record := range records {
- if !record.Internal {
- if len(record.FailedReason) > 0 {
- insertExternalPlanReplayerErrorStatusRecord(ctx1, sctx, instance, record)
- } else {
- insertExternalPlanReplayerSuccessStatusRecord(ctx1, sctx, instance, record)
- }
+ if len(record.FailedReason) > 0 {
+ insertPlanReplayerErrorStatusRecord(ctx1, sctx, instance, record)
+ } else {
+ insertPlanReplayerSuccessStatusRecord(ctx1, sctx, instance, record)
}
}
}
-func insertExternalPlanReplayerErrorStatusRecord(ctx context.Context, sctx sessionctx.Context, instance string, record PlanReplayerStatusRecord) {
+func insertPlanReplayerErrorStatusRecord(ctx context.Context, sctx sessionctx.Context, instance string, record PlanReplayerStatusRecord) {
exec := sctx.(sqlexec.SQLExecutor)
_, err := exec.ExecuteInternal(ctx, fmt.Sprintf(
- "insert into mysql.plan_replayer_status (origin_sql, fail_reason, instance) values ('%s','%s','%s')",
- record.OriginSQL, record.FailedReason, instance))
+ "insert into mysql.plan_replayer_status (sql_digest, plan_digest, origin_sql, fail_reason, instance) values ('%s','%s','%s','%s','%s')",
+ record.SQLDigest, record.PlanDigest, record.OriginSQL, record.FailedReason, instance))
if err != nil {
logutil.BgLogger().Warn("insert mysql.plan_replayer_status record failed",
zap.Error(err))
}
}
-func insertExternalPlanReplayerSuccessStatusRecord(ctx context.Context, sctx sessionctx.Context, instance string, record PlanReplayerStatusRecord) {
+func insertPlanReplayerSuccessStatusRecord(ctx context.Context, sctx sessionctx.Context, instance string, record PlanReplayerStatusRecord) {
exec := sctx.(sqlexec.SQLExecutor)
_, err := exec.ExecuteInternal(ctx, fmt.Sprintf(
- "insert into mysql.plan_replayer_status (origin_sql, token, instance) values ('%s','%s','%s')",
- record.OriginSQL, record.Token, instance))
+ "insert into mysql.plan_replayer_status (sql_digest, plan_digest, origin_sql, token, instance) values ('%s','%s','%s','%s','%s')",
+ record.SQLDigest, record.PlanDigest, record.OriginSQL, record.Token, instance))
if err != nil {
logutil.BgLogger().Warn("insert mysql.plan_replayer_status record failed",
zap.Error(err))
}
}
+var (
+ planReplayerCaptureTaskSendCounter = metrics.PlanReplayerTaskCounter.WithLabelValues("capture", "send")
+ planReplayerCaptureTaskDiscardCounter = metrics.PlanReplayerTaskCounter.WithLabelValues("capture", "discard")
+
+ planReplayerRegisterTaskGauge = metrics.PlanReplayerRegisterTaskGauge
+)
+
+type planReplayerHandle struct {
+ *planReplayerTaskCollectorHandle
+ *planReplayerTaskDumpHandle
+}
+
+// SendTask send dumpTask in background task handler
+func (h *planReplayerHandle) SendTask(task *PlanReplayerDumpTask) bool {
+ select {
+ case h.planReplayerTaskDumpHandle.taskCH <- task:
+ // we directly remove the task key if we put task in channel successfully, if the task was failed to dump,
+ // the task handle will re-add the task in next loop
+ if !task.IsContinuesCapture {
+ h.planReplayerTaskCollectorHandle.removeTask(task.PlanReplayerTaskKey)
+ }
+ planReplayerCaptureTaskSendCounter.Inc()
+ return true
+ default:
+ planReplayerCaptureTaskDiscardCounter.Inc()
+ // directly discard the task if the task channel is full in order not to block the query process
+ logutil.BgLogger().Warn("discard one plan replayer dump task",
+ zap.String("sql-digest", task.SQLDigest), zap.String("plan-digest", task.PlanDigest))
+ return false
+ }
+}
+
+type planReplayerTaskCollectorHandle struct {
+ taskMu struct {
+ sync.RWMutex
+ tasks map[replayer.PlanReplayerTaskKey]struct{}
+ }
+ ctx context.Context
+ sctx sessionctx.Context
+}
+
// CollectPlanReplayerTask collects all unhandled plan replayer task
-func (h *planReplayerTaskCollectorHandle) CollectPlanReplayerTask(ctx context.Context) error {
- ctx1 := kv.WithInternalSourceType(ctx, kv.InternalTxnStats)
- allKeys, err := h.collectAllPlanReplayerTask(ctx1)
+func (h *planReplayerTaskCollectorHandle) CollectPlanReplayerTask() error {
+ allKeys, err := h.collectAllPlanReplayerTask(h.ctx)
if err != nil {
return err
}
- tasks := make([]PlanReplayerTaskKey, 0)
+ tasks := make([]replayer.PlanReplayerTaskKey, 0)
for _, key := range allKeys {
- unhandled, err := checkUnHandledReplayerTask(ctx1, h.sctx, key)
+ unhandled, err := checkUnHandledReplayerTask(h.ctx, h.sctx, key)
if err != nil {
+ logutil.BgLogger().Warn("[plan-replayer-task] collect plan replayer task failed", zap.Error(err))
return err
}
if unhandled {
+ logutil.BgLogger().Debug("[plan-replayer-task] collect plan replayer task success",
+ zap.String("sql-digest", key.SQLDigest),
+ zap.String("plan-digest", key.PlanDigest))
tasks = append(tasks, key)
}
}
h.setupTasks(tasks)
+ planReplayerRegisterTaskGauge.Set(float64(len(tasks)))
return nil
}
// GetTasks get all tasks
-func (h *planReplayerTaskCollectorHandle) GetTasks() []PlanReplayerTaskKey {
- tasks := make([]PlanReplayerTaskKey, 0)
+func (h *planReplayerTaskCollectorHandle) GetTasks() []replayer.PlanReplayerTaskKey {
+ tasks := make([]replayer.PlanReplayerTaskKey, 0)
h.taskMu.RLock()
defer h.taskMu.RUnlock()
for taskKey := range h.taskMu.tasks {
@@ -217,8 +245,8 @@ func (h *planReplayerTaskCollectorHandle) GetTasks() []PlanReplayerTaskKey {
return tasks
}
-func (h *planReplayerTaskCollectorHandle) setupTasks(tasks []PlanReplayerTaskKey) {
- r := make(map[PlanReplayerTaskKey]struct{})
+func (h *planReplayerTaskCollectorHandle) setupTasks(tasks []replayer.PlanReplayerTaskKey) {
+ r := make(map[replayer.PlanReplayerTaskKey]struct{})
for _, task := range tasks {
r[task] = struct{}{}
}
@@ -227,7 +255,13 @@ func (h *planReplayerTaskCollectorHandle) setupTasks(tasks []PlanReplayerTaskKey
h.taskMu.tasks = r
}
-func (h *planReplayerTaskCollectorHandle) collectAllPlanReplayerTask(ctx context.Context) ([]PlanReplayerTaskKey, error) {
+func (h *planReplayerTaskCollectorHandle) removeTask(taskKey replayer.PlanReplayerTaskKey) {
+ h.taskMu.Lock()
+ defer h.taskMu.Unlock()
+ delete(h.taskMu.tasks, taskKey)
+}
+
+func (h *planReplayerTaskCollectorHandle) collectAllPlanReplayerTask(ctx context.Context) ([]replayer.PlanReplayerTaskKey, error) {
exec := h.sctx.(sqlexec.SQLExecutor)
rs, err := exec.ExecuteInternal(ctx, "select sql_digest, plan_digest from mysql.plan_replayer_task")
if err != nil {
@@ -241,20 +275,214 @@ func (h *planReplayerTaskCollectorHandle) collectAllPlanReplayerTask(ctx context
if rows, err = sqlexec.DrainRecordSet(ctx, rs, 8); err != nil {
return nil, errors.Trace(err)
}
- allKeys := make([]PlanReplayerTaskKey, 0, len(rows))
+ allKeys := make([]replayer.PlanReplayerTaskKey, 0, len(rows))
for _, row := range rows {
sqlDigest, planDigest := row.GetString(0), row.GetString(1)
- allKeys = append(allKeys, PlanReplayerTaskKey{
- sqlDigest: sqlDigest,
- planDigest: planDigest,
+ allKeys = append(allKeys, replayer.PlanReplayerTaskKey{
+ SQLDigest: sqlDigest,
+ PlanDigest: planDigest,
})
}
return allKeys, nil
}
-func checkUnHandledReplayerTask(ctx context.Context, sctx sessionctx.Context, task PlanReplayerTaskKey) (bool, error) {
+type planReplayerDumpTaskStatus struct {
+ // running task records the task running by all workers in order to avoid multi workers running the same task key
+ runningTaskMu struct {
+ sync.RWMutex
+ runningTasks map[replayer.PlanReplayerTaskKey]struct{}
+ }
+
+ // finished task records the finished task in order to avoid running finished task key
+ finishedTaskMu struct {
+ sync.RWMutex
+ finishedTask map[replayer.PlanReplayerTaskKey]struct{}
+ }
+}
+
+// GetRunningTaskStatusLen used for unit test
+func (r *planReplayerDumpTaskStatus) GetRunningTaskStatusLen() int {
+ r.runningTaskMu.RLock()
+ defer r.runningTaskMu.RUnlock()
+ return len(r.runningTaskMu.runningTasks)
+}
+
+// CleanFinishedTaskStatus clean then finished tasks, only used for unit test
+func (r *planReplayerDumpTaskStatus) CleanFinishedTaskStatus() {
+ r.finishedTaskMu.Lock()
+ defer r.finishedTaskMu.Unlock()
+ r.finishedTaskMu.finishedTask = map[replayer.PlanReplayerTaskKey]struct{}{}
+}
+
+// GetFinishedTaskStatusLen used for unit test
+func (r *planReplayerDumpTaskStatus) GetFinishedTaskStatusLen() int {
+ r.finishedTaskMu.RLock()
+ defer r.finishedTaskMu.RUnlock()
+ return len(r.finishedTaskMu.finishedTask)
+}
+
+func (r *planReplayerDumpTaskStatus) occupyRunningTaskKey(task *PlanReplayerDumpTask) bool {
+ r.runningTaskMu.Lock()
+ defer r.runningTaskMu.Unlock()
+ _, ok := r.runningTaskMu.runningTasks[task.PlanReplayerTaskKey]
+ if ok {
+ return false
+ }
+ r.runningTaskMu.runningTasks[task.PlanReplayerTaskKey] = struct{}{}
+ return true
+}
+
+func (r *planReplayerDumpTaskStatus) releaseRunningTaskKey(task *PlanReplayerDumpTask) {
+ r.runningTaskMu.Lock()
+ defer r.runningTaskMu.Unlock()
+ delete(r.runningTaskMu.runningTasks, task.PlanReplayerTaskKey)
+}
+
+func (r *planReplayerDumpTaskStatus) checkTaskKeyFinishedBefore(task *PlanReplayerDumpTask) bool {
+ r.finishedTaskMu.RLock()
+ defer r.finishedTaskMu.RUnlock()
+ _, ok := r.finishedTaskMu.finishedTask[task.PlanReplayerTaskKey]
+ return ok
+}
+
+func (r *planReplayerDumpTaskStatus) setTaskFinished(task *PlanReplayerDumpTask) {
+ r.finishedTaskMu.Lock()
+ defer r.finishedTaskMu.Unlock()
+ r.finishedTaskMu.finishedTask[task.PlanReplayerTaskKey] = struct{}{}
+}
+
+func (r *planReplayerDumpTaskStatus) clearFinishedTask() {
+ r.finishedTaskMu.Lock()
+ defer r.finishedTaskMu.Unlock()
+ r.finishedTaskMu.finishedTask = map[replayer.PlanReplayerTaskKey]struct{}{}
+}
+
+type planReplayerTaskDumpWorker struct {
+ ctx context.Context
+ sctx sessionctx.Context
+ taskCH <-chan *PlanReplayerDumpTask
+ status *planReplayerDumpTaskStatus
+}
+
+func (w *planReplayerTaskDumpWorker) run() {
+ for task := range w.taskCH {
+ w.handleTask(task)
+ }
+}
+
+func (w *planReplayerTaskDumpWorker) handleTask(task *PlanReplayerDumpTask) {
+ sqlDigest := task.SQLDigest
+ planDigest := task.PlanDigest
+ check := true
+ occupy := true
+ handleTask := true
+ defer func() {
+ logutil.BgLogger().Debug("[plan-replayer-capture] handle task",
+ zap.String("sql-digest", sqlDigest),
+ zap.String("plan-digest", planDigest),
+ zap.Bool("check", check),
+ zap.Bool("occupy", occupy),
+ zap.Bool("handle", handleTask))
+ }()
+ if task.IsContinuesCapture {
+ if w.status.checkTaskKeyFinishedBefore(task) {
+ check = false
+ return
+ }
+ }
+ occupy = w.status.occupyRunningTaskKey(task)
+ if !occupy {
+ return
+ }
+ handleTask = w.HandleTask(task)
+ w.status.releaseRunningTaskKey(task)
+}
+
+// HandleTask handled task
+func (w *planReplayerTaskDumpWorker) HandleTask(task *PlanReplayerDumpTask) (success bool) {
+ defer func() {
+ if success && task.IsContinuesCapture {
+ w.status.setTaskFinished(task)
+ }
+ }()
+ taskKey := task.PlanReplayerTaskKey
+ unhandled, err := checkUnHandledReplayerTask(w.ctx, w.sctx, taskKey)
+ if err != nil {
+ logutil.BgLogger().Warn("[plan-replayer-capture] check task failed",
+ zap.String("sqlDigest", taskKey.SQLDigest),
+ zap.String("planDigest", taskKey.PlanDigest),
+ zap.Error(err))
+ return false
+ }
+ // the task is processed, thus we directly skip it.
+ if !unhandled {
+ return true
+ }
+
+ file, fileName, err := replayer.GeneratePlanReplayerFile(task.IsCapture)
+ if err != nil {
+ logutil.BgLogger().Warn("[plan-replayer-capture] generate task file failed",
+ zap.String("sqlDigest", taskKey.SQLDigest),
+ zap.String("planDigest", taskKey.PlanDigest),
+ zap.Error(err))
+ return false
+ }
+ task.Zf = file
+ task.FileName = fileName
+ task.EncodedPlan, _ = task.EncodePlan(task.SessionVars.StmtCtx, false)
+ if task.InExecute && len(task.NormalizedSQL) > 0 {
+ p := parser.New()
+ stmts, _, err := p.ParseSQL(task.NormalizedSQL)
+ if err != nil {
+ logutil.BgLogger().Warn("[plan-replayer-capture] parse normalized sql failed",
+ zap.String("sql", task.NormalizedSQL),
+ zap.String("sqlDigest", taskKey.SQLDigest),
+ zap.String("planDigest", taskKey.PlanDigest),
+ zap.Error(err))
+ return false
+ }
+ task.ExecStmts = stmts
+ }
+ err = DumpPlanReplayerInfo(w.ctx, w.sctx, task)
+ if err != nil {
+ logutil.BgLogger().Warn("[plan-replayer-capture] dump task result failed",
+ zap.String("sqlDigest", taskKey.SQLDigest),
+ zap.String("planDigest", taskKey.PlanDigest),
+ zap.Error(err))
+ return false
+ }
+ return true
+}
+
+type planReplayerTaskDumpHandle struct {
+ taskCH chan *PlanReplayerDumpTask
+ status *planReplayerDumpTaskStatus
+ workers []*planReplayerTaskDumpWorker
+}
+
+// GetTaskStatus used for test
+func (h *planReplayerTaskDumpHandle) GetTaskStatus() *planReplayerDumpTaskStatus {
+ return h.status
+}
+
+// GetWorker used for test
+func (h *planReplayerTaskDumpHandle) GetWorker() *planReplayerTaskDumpWorker {
+ return h.workers[0]
+}
+
+// Close make finished flag ture
+func (h *planReplayerTaskDumpHandle) Close() {
+ close(h.taskCH)
+}
+
+// DrainTask drain a task for unit test
+func (h *planReplayerTaskDumpHandle) DrainTask() *PlanReplayerDumpTask {
+ return <-h.taskCH
+}
+
+func checkUnHandledReplayerTask(ctx context.Context, sctx sessionctx.Context, task replayer.PlanReplayerTaskKey) (bool, error) {
exec := sctx.(sqlexec.SQLExecutor)
- rs, err := exec.ExecuteInternal(ctx, fmt.Sprintf("select * from mysql.plan_replayer_status where sql_digest = '%v' and plan_digest = '%v' and fail_reason is null", task.sqlDigest, task.planDigest))
+ rs, err := exec.ExecuteInternal(ctx, fmt.Sprintf("select * from mysql.plan_replayer_status where sql_digest = '%v' and plan_digest = '%v' and fail_reason is null", task.SQLDigest, task.PlanDigest))
if err != nil {
return false, err
}
@@ -272,28 +500,60 @@ func checkUnHandledReplayerTask(ctx context.Context, sctx sessionctx.Context, ta
return true, nil
}
+// CheckPlanReplayerTaskExists checks whether plan replayer capture task exists already
+func CheckPlanReplayerTaskExists(ctx context.Context, sctx sessionctx.Context, sqlDigest, planDigest string) (bool, error) {
+ exec := sctx.(sqlexec.SQLExecutor)
+ rs, err := exec.ExecuteInternal(ctx, fmt.Sprintf("select * from mysql.plan_replayer_task where sql_digest = '%v' and plan_digest = '%v'",
+ sqlDigest, planDigest))
+ if err != nil {
+ return false, err
+ }
+ if rs == nil {
+ return false, nil
+ }
+ var rows []chunk.Row
+ defer terror.Call(rs.Close)
+ if rows, err = sqlexec.DrainRecordSet(ctx, rs, 8); err != nil {
+ return false, errors.Trace(err)
+ }
+ if len(rows) > 0 {
+ return true, nil
+ }
+ return false, nil
+}
+
// PlanReplayerStatusRecord indicates record in mysql.plan_replayer_status
type PlanReplayerStatusRecord struct {
- Internal bool
+ SQLDigest string
+ PlanDigest string
OriginSQL string
Token string
FailedReason string
}
-// PlanReplayerTaskKey indicates key of a plan replayer task
-type PlanReplayerTaskKey struct {
- sqlDigest string
- planDigest string
-}
-
// PlanReplayerDumpTask wrap the params for plan replayer dump
type PlanReplayerDumpTask struct {
+ replayer.PlanReplayerTaskKey
+
+ // tmp variables stored during the query
+ EncodePlan func(*stmtctx.StatementContext, bool) (string, string)
+ TblStats map[int64]interface{}
+ InExecute bool
+ NormalizedSQL string
+
+ // variables used to dump the plan
+ StartTS uint64
SessionBindings []*bindinfo.BindRecord
EncodedPlan string
- FileName string
- Zf *os.File
SessionVars *variable.SessionVars
- TblStats map[int64]*handle.JSONTable
ExecStmts []ast.StmtNode
Analyze bool
+
+ FileName string
+ Zf *os.File
+
+ // IsCapture indicates whether the task is from capture
+ IsCapture bool
+ // IsContinuesCapture indicates whether the task is from continues capture
+ IsContinuesCapture bool
}
diff --git a/domain/plan_replayer_dump.go b/domain/plan_replayer_dump.go
index 93d0278a4ba3d..a0bb07581a6d7 100644
--- a/domain/plan_replayer_dump.go
+++ b/domain/plan_replayer_dump.go
@@ -28,6 +28,7 @@ import (
"github.com/pingcap/tidb/bindinfo"
"github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/infoschema"
+ "github.com/pingcap/tidb/metrics"
"github.com/pingcap/tidb/parser/ast"
"github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/sessionctx"
@@ -41,6 +42,8 @@ import (
)
const (
+ // PlanReplayerSQLMetaFile indicates sql meta path for plan replayer
+ PlanReplayerSQLMetaFile = "sql_meta.toml"
// PlanReplayerConfigFile indicates config file path for plan replayer
PlanReplayerConfigFile = "config.toml"
// PlanReplayerMetaFile meta file path for plan replayer
@@ -53,6 +56,21 @@ const (
PlanReplayerSessionBindingFile = "session_bindings.sql"
// PlanReplayerGlobalBindingFile indicates global binding file path for plan replayer
PlanReplayerGlobalBindingFile = "global_bindings.sql"
+ // PlanReplayerSchemaMetaFile indicates the schema meta
+ PlanReplayerSchemaMetaFile = "schema_meta.txt"
+)
+
+const (
+ // PlanReplayerSQLMetaStartTS indicates the startTS in plan replayer sql meta
+ PlanReplayerSQLMetaStartTS = "startTS"
+ // PlanReplayerTaskMetaIsCapture indicates whether this task is capture task
+ PlanReplayerTaskMetaIsCapture = "isCapture"
+ // PlanReplayerTaskMetaIsContinues indicates whether this task is continues task
+ PlanReplayerTaskMetaIsContinues = "isContinues"
+ // PlanReplayerTaskMetaSQLDigest indicates the sql digest of this task
+ PlanReplayerTaskMetaSQLDigest = "sqlDigest"
+ // PlanReplayerTaskMetaPlanDigest indicates the plan digest of this task
+ PlanReplayerTaskMetaPlanDigest = "planDigest"
)
type tableNamePair struct {
@@ -128,11 +146,18 @@ func (tne *tableNameExtractor) handleIsView(t *ast.TableName) (bool, error) {
return true, nil
}
+var (
+ planReplayerDumpTaskSuccess = metrics.PlanReplayerTaskCounter.WithLabelValues("dump", "success")
+ planReplayerDumpTaskFailed = metrics.PlanReplayerTaskCounter.WithLabelValues("dump", "fail")
+)
+
// DumpPlanReplayerInfo will dump the information about sqls.
// The files will be organized into the following format:
/*
+ |-sql_meta.toml
|-meta.txt
|-schema
+ | |-schema_meta.txt
| |-db1.table1.schema.txt
| |-db2.table2.schema.txt
| |-....
@@ -144,6 +169,10 @@ func (tne *tableNameExtractor) handleIsView(t *ast.TableName) (bool, error) {
| |-stats1.json
| |-stats2.json
| |-....
+ |-statsMem
+ | |-stats1.txt
+ | |-stats2.txt
+ | |-....
|-config.toml
|-table_tiflash_replica.txt
|-variables.toml
@@ -164,22 +193,62 @@ func DumpPlanReplayerInfo(ctx context.Context, sctx sessionctx.Context,
sessionVars := task.SessionVars
execStmts := task.ExecStmts
zw := zip.NewWriter(zf)
- records := generateRecords(task)
+ var records []PlanReplayerStatusRecord
+ sqls := make([]string, 0)
+ for _, execStmt := range task.ExecStmts {
+ sqls = append(sqls, execStmt.Text())
+ }
+ if task.IsCapture {
+ logutil.BgLogger().Info("[plan-replayer-dump] start to dump plan replayer result",
+ zap.String("sql-digest", task.SQLDigest),
+ zap.String("plan-digest", task.PlanDigest),
+ zap.Strings("sql", sqls),
+ zap.Bool("isContinues", task.IsContinuesCapture))
+ } else {
+ logutil.BgLogger().Info("[plan-replayer-dump] start to dump plan replayer result",
+ zap.Strings("sqls", sqls))
+ }
defer func() {
- err = zw.Close()
+ errMsg := ""
if err != nil {
- logutil.BgLogger().Error("Closing zip writer failed", zap.Error(err), zap.String("filename", fileName))
+ if task.IsCapture {
+ logutil.BgLogger().Info("[plan-replayer-dump] dump file failed",
+ zap.String("sql-digest", task.SQLDigest),
+ zap.String("plan-digest", task.PlanDigest),
+ zap.Strings("sql", sqls),
+ zap.Bool("isContinues", task.IsContinuesCapture))
+ } else {
+ logutil.BgLogger().Info("[plan-replayer-dump] start to dump plan replayer result",
+ zap.Strings("sqls", sqls))
+ }
+ errMsg = err.Error()
+ planReplayerDumpTaskFailed.Inc()
+ } else {
+ planReplayerDumpTaskSuccess.Inc()
}
- err = zf.Close()
- if err != nil {
- logutil.BgLogger().Error("Closing zip file failed", zap.Error(err), zap.String("filename", fileName))
+ err1 := zw.Close()
+ if err1 != nil {
+ logutil.BgLogger().Error("[plan-replayer-dump] Closing zip writer failed", zap.Error(err), zap.String("filename", fileName))
+ errMsg = errMsg + "," + err1.Error()
+ }
+ err2 := zf.Close()
+ if err2 != nil {
+ logutil.BgLogger().Error("[plan-replayer-dump] Closing zip file failed", zap.Error(err), zap.String("filename", fileName))
+ errMsg = errMsg + "," + err2.Error()
+ }
+ if len(errMsg) > 0 {
for i, record := range records {
- record.FailedReason = err.Error()
+ record.FailedReason = errMsg
records[i] = record
}
}
insertPlanReplayerStatus(ctx, sctx, records)
}()
+ // Dump SQLMeta
+ if err = dumpSQLMeta(zw, task); err != nil {
+ return err
+ }
+
// Dump config
if err = dumpConfig(zw); err != nil {
return err
@@ -209,8 +278,15 @@ func DumpPlanReplayerInfo(ctx context.Context, sctx sessionctx.Context,
return err
}
- // Dump stats
- if err = dumpStats(zw, pairs, task.TblStats, do); err != nil {
+ // For capture task, we don't dump stats
+ if !task.IsCapture {
+ // Dump stats
+ if err = dumpStats(zw, pairs, do); err != nil {
+ return err
+ }
+ }
+
+ if err = dumpStatsMemStatus(zw, pairs, do); err != nil {
return err
}
@@ -241,10 +317,11 @@ func DumpPlanReplayerInfo(ctx context.Context, sctx sessionctx.Context,
}
if len(task.EncodedPlan) > 0 {
+ records = generateRecords(task)
return dumpEncodedPlan(sctx, zw, task.EncodedPlan)
}
// Dump explain
- return dumpExplain(sctx, zw, execStmts, task.Analyze)
+ return dumpExplain(sctx, zw, task, &records)
}
func generateRecords(task *PlanReplayerDumpTask) []PlanReplayerStatusRecord {
@@ -252,15 +329,33 @@ func generateRecords(task *PlanReplayerDumpTask) []PlanReplayerStatusRecord {
if len(task.ExecStmts) > 0 {
for _, execStmt := range task.ExecStmts {
records = append(records, PlanReplayerStatusRecord{
- OriginSQL: execStmt.Text(),
- Token: task.FileName,
- Internal: false,
+ SQLDigest: task.SQLDigest,
+ PlanDigest: task.PlanDigest,
+ OriginSQL: execStmt.Text(),
+ Token: task.FileName,
})
}
}
return records
}
+func dumpSQLMeta(zw *zip.Writer, task *PlanReplayerDumpTask) error {
+ cf, err := zw.Create(PlanReplayerSQLMetaFile)
+ if err != nil {
+ return errors.AddStack(err)
+ }
+ varMap := make(map[string]string)
+ varMap[PlanReplayerSQLMetaStartTS] = strconv.FormatUint(task.StartTS, 10)
+ varMap[PlanReplayerTaskMetaIsCapture] = strconv.FormatBool(task.IsCapture)
+ varMap[PlanReplayerTaskMetaIsContinues] = strconv.FormatBool(task.IsContinuesCapture)
+ varMap[PlanReplayerTaskMetaSQLDigest] = task.SQLDigest
+ varMap[PlanReplayerTaskMetaPlanDigest] = task.PlanDigest
+ if err := toml.NewEncoder(cf).Encode(varMap); err != nil {
+ return errors.AddStack(err)
+ }
+ return nil
+}
+
func dumpConfig(zw *zip.Writer) error {
cf, err := zw.Create(PlanReplayerConfigFile)
if err != nil {
@@ -310,21 +405,70 @@ func dumpTiFlashReplica(ctx sessionctx.Context, zw *zip.Writer, pairs map[tableN
}
func dumpSchemas(ctx sessionctx.Context, zw *zip.Writer, pairs map[tableNamePair]struct{}) error {
+ tables := make(map[tableNamePair]struct{})
for pair := range pairs {
err := getShowCreateTable(pair, zw, ctx)
if err != nil {
return err
}
+ if !pair.IsView {
+ tables[pair] = struct{}{}
+ }
+ }
+ return dumpSchemaMeta(zw, tables)
+}
+
+func dumpSchemaMeta(zw *zip.Writer, tables map[tableNamePair]struct{}) error {
+ zf, err := zw.Create(fmt.Sprintf("schema/%v", PlanReplayerSchemaMetaFile))
+ if err != nil {
+ return err
+ }
+ for table := range tables {
+ _, err := fmt.Fprintf(zf, "%s;%s", table.DBName, table.TableName)
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func dumpStatsMemStatus(zw *zip.Writer, pairs map[tableNamePair]struct{}, do *Domain) error {
+ statsHandle := do.StatsHandle()
+ is := do.InfoSchema()
+ for pair := range pairs {
+ if pair.IsView {
+ continue
+ }
+ tbl, err := is.TableByName(model.NewCIStr(pair.DBName), model.NewCIStr(pair.TableName))
+ if err != nil {
+ return err
+ }
+ tblStats := statsHandle.GetTableStats(tbl.Meta())
+ if tblStats == nil {
+ continue
+ }
+ statsMemFw, err := zw.Create(fmt.Sprintf("statsMem/%v.%v.txt", pair.DBName, pair.TableName))
+ if err != nil {
+ return errors.AddStack(err)
+ }
+ fmt.Fprintf(statsMemFw, "[INDEX]\n")
+ for _, indice := range tblStats.Indices {
+ fmt.Fprintf(statsMemFw, "%s\n", fmt.Sprintf("%s=%s", indice.Info.Name.String(), indice.StatusToString()))
+ }
+ fmt.Fprintf(statsMemFw, "[COLUMN]\n")
+ for _, col := range tblStats.Columns {
+ fmt.Fprintf(statsMemFw, "%s\n", fmt.Sprintf("%s=%s", col.Info.Name.String(), col.StatusToString()))
+ }
}
return nil
}
-func dumpStats(zw *zip.Writer, pairs map[tableNamePair]struct{}, tblJSONStats map[int64]*handle.JSONTable, do *Domain) error {
+func dumpStats(zw *zip.Writer, pairs map[tableNamePair]struct{}, do *Domain) error {
for pair := range pairs {
if pair.IsView {
continue
}
- jsonTbl, err := getStatsForTable(do, tblJSONStats, pair)
+ jsonTbl, err := getStatsForTable(do, pair)
if err != nil {
return err
}
@@ -484,12 +628,12 @@ func dumpEncodedPlan(ctx sessionctx.Context, zw *zip.Writer, encodedPlan string)
return nil
}
-func dumpExplain(ctx sessionctx.Context, zw *zip.Writer, execStmts []ast.StmtNode, isAnalyze bool) error {
- for i, stmtExec := range execStmts {
+func dumpExplain(ctx sessionctx.Context, zw *zip.Writer, task *PlanReplayerDumpTask, records *[]PlanReplayerStatusRecord) error {
+ for i, stmtExec := range task.ExecStmts {
sql := stmtExec.Text()
var recordSets []sqlexec.RecordSet
var err error
- if isAnalyze {
+ if task.Analyze {
// Explain analyze
recordSets, err = ctx.(sqlexec.SQLExecutor).Execute(context.Background(), fmt.Sprintf("explain analyze %s", sql))
if err != nil {
@@ -518,6 +662,10 @@ func dumpExplain(ctx sessionctx.Context, zw *zip.Writer, execStmts []ast.StmtNod
return err
}
}
+ *records = append(*records, PlanReplayerStatusRecord{
+ OriginSQL: sql,
+ Token: task.FileName,
+ })
}
return nil
}
@@ -553,19 +701,14 @@ func extractTableNames(ctx context.Context, sctx sessionctx.Context,
return r, nil
}
-func getStatsForTable(do *Domain, tblJSONStats map[int64]*handle.JSONTable, pair tableNamePair) (*handle.JSONTable, error) {
+func getStatsForTable(do *Domain, pair tableNamePair) (*handle.JSONTable, error) {
is := do.InfoSchema()
h := do.StatsHandle()
tbl, err := is.TableByName(model.NewCIStr(pair.DBName), model.NewCIStr(pair.TableName))
if err != nil {
return nil, err
}
- js, ok := tblJSONStats[tbl.Meta().ID]
- if ok && js != nil {
- return js, nil
- }
- js, err = h.DumpStatsToJSON(pair.DBName, tbl.Meta(), nil, true)
- return js, err
+ return h.DumpStatsToJSON(pair.DBName, tbl.Meta(), nil, true)
}
func getShowCreateTable(pair tableNamePair, zw *zip.Writer, ctx sessionctx.Context) error {
diff --git a/domain/plan_replayer_handle_test.go b/domain/plan_replayer_handle_test.go
index 2c25f56e15045..cb5d0bd5126bb 100644
--- a/domain/plan_replayer_handle_test.go
+++ b/domain/plan_replayer_handle_test.go
@@ -15,7 +15,7 @@
package domain_test
import (
- "context"
+ "fmt"
"testing"
"github.com/pingcap/tidb/testkit"
@@ -31,14 +31,14 @@ func TestPlanReplayerHandleCollectTask(t *testing.T) {
tk.MustExec("delete from mysql.plan_replayer_task")
tk.MustExec("delete from mysql.plan_replayer_status")
tk.MustExec("insert into mysql.plan_replayer_task (sql_digest, plan_digest) values ('123','123');")
- err := prHandle.CollectPlanReplayerTask(context.Background())
+ err := prHandle.CollectPlanReplayerTask()
require.NoError(t, err)
require.Len(t, prHandle.GetTasks(), 1)
// assert no task
tk.MustExec("delete from mysql.plan_replayer_task")
tk.MustExec("delete from mysql.plan_replayer_status")
- err = prHandle.CollectPlanReplayerTask(context.Background())
+ err = prHandle.CollectPlanReplayerTask()
require.NoError(t, err)
require.Len(t, prHandle.GetTasks(), 0)
@@ -48,7 +48,7 @@ func TestPlanReplayerHandleCollectTask(t *testing.T) {
tk.MustExec("insert into mysql.plan_replayer_task (sql_digest, plan_digest) values ('123','123');")
tk.MustExec("insert into mysql.plan_replayer_task (sql_digest, plan_digest) values ('345','345');")
tk.MustExec("insert into mysql.plan_replayer_status(sql_digest, plan_digest, token, instance) values ('123','123','123','123')")
- err = prHandle.CollectPlanReplayerTask(context.Background())
+ err = prHandle.CollectPlanReplayerTask()
require.NoError(t, err)
require.Len(t, prHandle.GetTasks(), 1)
@@ -58,7 +58,64 @@ func TestPlanReplayerHandleCollectTask(t *testing.T) {
tk.MustExec("insert into mysql.plan_replayer_task (sql_digest, plan_digest) values ('123','123');")
tk.MustExec("insert into mysql.plan_replayer_task (sql_digest, plan_digest) values ('345','345');")
tk.MustExec("insert into mysql.plan_replayer_status(sql_digest, plan_digest, fail_reason, instance) values ('123','123','123','123')")
- err = prHandle.CollectPlanReplayerTask(context.Background())
+ err = prHandle.CollectPlanReplayerTask()
require.NoError(t, err)
require.Len(t, prHandle.GetTasks(), 2)
}
+
+func TestPlanReplayerHandleDumpTask(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ prHandle := dom.GetPlanReplayerHandle()
+ tk.MustExec("use test")
+ tk.MustExec("create table t(a int)")
+ tk.MustQuery("select * from t;")
+ _, d := tk.Session().GetSessionVars().StmtCtx.SQLDigest()
+ _, pd := tk.Session().GetSessionVars().StmtCtx.GetPlanDigest()
+ sqlDigest := d.String()
+ planDigest := pd.String()
+
+ // register task
+ tk.MustExec("delete from mysql.plan_replayer_task")
+ tk.MustExec("delete from mysql.plan_replayer_status")
+ tk.MustExec(fmt.Sprintf("insert into mysql.plan_replayer_task (sql_digest, plan_digest) values ('%v','%v');", sqlDigest, planDigest))
+ err := prHandle.CollectPlanReplayerTask()
+ require.NoError(t, err)
+ require.Len(t, prHandle.GetTasks(), 1)
+
+ tk.MustExec("SET @@tidb_enable_plan_replayer_capture = ON;")
+
+ // capture task and dump
+ tk.MustQuery("select * from t;")
+ task := prHandle.DrainTask()
+ require.NotNil(t, task)
+ worker := prHandle.GetWorker()
+ success := worker.HandleTask(task)
+ require.True(t, success)
+ require.Equal(t, prHandle.GetTaskStatus().GetRunningTaskStatusLen(), 0)
+ // assert memory task consumed
+ require.Len(t, prHandle.GetTasks(), 0)
+
+ // assert collect task again and no more memory task
+ err = prHandle.CollectPlanReplayerTask()
+ require.NoError(t, err)
+ require.Len(t, prHandle.GetTasks(), 0)
+
+ // clean the task and register task
+ prHandle.GetTaskStatus().CleanFinishedTaskStatus()
+ tk.MustExec("delete from mysql.plan_replayer_task")
+ tk.MustExec("delete from mysql.plan_replayer_status")
+ tk.MustExec(fmt.Sprintf("insert into mysql.plan_replayer_task (sql_digest, plan_digest) values ('%v','%v');", sqlDigest, "*"))
+ err = prHandle.CollectPlanReplayerTask()
+ require.NoError(t, err)
+ require.Len(t, prHandle.GetTasks(), 1)
+ tk.MustQuery("select * from t;")
+ task = prHandle.DrainTask()
+ require.NotNil(t, task)
+ worker = prHandle.GetWorker()
+ success = worker.HandleTask(task)
+ require.True(t, success)
+ require.Equal(t, prHandle.GetTaskStatus().GetRunningTaskStatusLen(), 0)
+ // assert capture * task still remained
+ require.Len(t, prHandle.GetTasks(), 1)
+}
diff --git a/domain/plan_replayer_test.go b/domain/plan_replayer_test.go
index 7b44db9b8d239..5e0912b86e66c 100644
--- a/domain/plan_replayer_test.go
+++ b/domain/plan_replayer_test.go
@@ -21,6 +21,7 @@ import (
"testing"
"time"
+ "github.com/pingcap/tidb/util/replayer"
"github.com/stretchr/testify/require"
)
@@ -28,15 +29,15 @@ func TestPlanReplayerGC(t *testing.T) {
startTime := time.Now()
time := startTime.UnixNano()
fileName := fmt.Sprintf("replayer_single_xxxxxx_%v.zip", time)
- err := os.MkdirAll(GetPlanReplayerDirName(), os.ModePerm)
+ err := os.MkdirAll(replayer.GetPlanReplayerDirName(), os.ModePerm)
require.NoError(t, err)
- path := filepath.Join(GetPlanReplayerDirName(), fileName)
+ path := filepath.Join(replayer.GetPlanReplayerDirName(), fileName)
zf, err := os.Create(path)
require.NoError(t, err)
zf.Close()
handler := &dumpFileGcChecker{
- paths: []string{GetPlanReplayerDirName()},
+ paths: []string{replayer.GetPlanReplayerDirName()},
}
handler.gcDumpFiles(0)
diff --git a/domain/schema_validator.go b/domain/schema_validator.go
index 6f028fdca2e70..592f558f0b27c 100644
--- a/domain/schema_validator.go
+++ b/domain/schema_validator.go
@@ -149,11 +149,10 @@ func (s *schemaValidator) Update(leaseGrantTS uint64, oldVer, currVer int64, cha
actionTypes = change.ActionTypes
}
for idx, ac := range actionTypes {
- // NOTE: ac is not an action type, it is (1 << action type).
- if ac == 1<= 64, the value of left shift equals 0, and it will not impact amend txn
+ changedTblMap[tblID] |= 1 << item.relatedActions[i]
affected = true
}
}
@@ -198,22 +197,15 @@ func (s *schemaValidator) isRelatedTablesChanged(currVer int64, tableIDs []int64
}
if len(changedTblMap) > 0 {
tblIds := make([]int64, 0, len(changedTblMap))
- actionTypes := make([]uint64, 0, len(changedTblMap))
for id := range changedTblMap {
tblIds = append(tblIds, id)
}
slices.Sort(tblIds)
- for _, tblID := range tblIds {
- actionTypes = append(actionTypes, changedTblMap[tblID])
- }
- res.PhyTblIDS = tblIds
- res.ActionTypes = actionTypes
- res.Amendable = true
logutil.BgLogger().Info("schema of tables in the transaction are changed", zap.Int64s("conflicted table IDs", tblIds),
zap.Int64("transaction schema", currVer), zap.Int64s("schema versions that changed the tables", changedSchemaVers))
- return res, true
+ return true
}
- return res, false
+ return false
}
func (s *schemaValidator) findNewerDeltas(currVer int64) []deltaSchemaInfo {
@@ -251,12 +243,8 @@ func (s *schemaValidator) Check(txnTS uint64, schemaVer int64, relatedPhysicalTa
// When disabling MDL -> enabling MDL, the old transaction's needCheckSchema is true, we need to check it.
// When enabling MDL -> disabling MDL, the old transaction's needCheckSchema is false, so still need to check it, and variable EnableMDL is false now.
if needCheckSchema || !variable.EnableMDL.Load() {
- relatedChanges, changed := s.isRelatedTablesChanged(schemaVer, relatedPhysicalTableIDs)
+ changed := s.isRelatedTablesChanged(schemaVer, relatedPhysicalTableIDs)
if changed {
- if relatedChanges.Amendable {
- relatedChanges.LatestInfoSchema = s.latestInfoSchema
- return &relatedChanges, ResultFail
- }
return nil, ResultFail
}
}
diff --git a/domain/schema_validator_test.go b/domain/schema_validator_test.go
index a18fbcb4a435a..ddcc57634ab60 100644
--- a/domain/schema_validator_test.go
+++ b/domain/schema_validator_test.go
@@ -61,7 +61,7 @@ func subTestSchemaValidatorGeneral(t *testing.T) {
// Stop the validator, validator's items value is nil.
validator.Stop()
require.False(t, validator.IsStarted())
- _, isTablesChanged := validator.isRelatedTablesChanged(item.schemaVer, []int64{10})
+ isTablesChanged := validator.isRelatedTablesChanged(item.schemaVer, []int64{10})
require.True(t, isTablesChanged)
_, valid = validator.Check(item.leaseGrantTS, item.schemaVer, []int64{10}, true)
require.Equal(t, ResultUnknown, valid)
@@ -91,12 +91,12 @@ func subTestSchemaValidatorGeneral(t *testing.T) {
validator.Update(ts, currVer, newItem.schemaVer, &transaction.RelatedSchemaChange{PhyTblIDS: []int64{1, 2, 3}, ActionTypes: []uint64{1, 2, 3}})
// Make sure the updated table IDs don't be covered with the same schema version.
validator.Update(ts, newItem.schemaVer, newItem.schemaVer, nil)
- _, isTablesChanged = validator.isRelatedTablesChanged(currVer, nil)
+ isTablesChanged = validator.isRelatedTablesChanged(currVer, nil)
require.False(t, isTablesChanged)
- _, isTablesChanged = validator.isRelatedTablesChanged(currVer, []int64{2})
+ isTablesChanged = validator.isRelatedTablesChanged(currVer, []int64{2})
require.Truef(t, isTablesChanged, "currVer %d, newItem %v", currVer, newItem)
// The current schema version is older than the oldest schema version.
- _, isTablesChanged = validator.isRelatedTablesChanged(-1, nil)
+ isTablesChanged = validator.isRelatedTablesChanged(-1, nil)
require.Truef(t, isTablesChanged, "currVer %d, newItem %v", currVer, newItem)
// All schema versions is expired.
@@ -214,10 +214,8 @@ func subTestEnqueueActionType(t *testing.T) {
// Check the flag set by schema diff, note tableID = 3 has been set flag 0x3 in schema version 9, and flag 0x4
// in schema version 10, so the resActions for tableID = 3 should be 0x3 & 0x4 = 0x7.
- relatedChanges, isTablesChanged := validator.isRelatedTablesChanged(5, []int64{1, 2, 3, 4})
+ isTablesChanged := validator.isRelatedTablesChanged(5, []int64{1, 2, 3, 4})
require.True(t, isTablesChanged)
- require.Equal(t, []int64{1, 2, 3, 4}, relatedChanges.PhyTblIDS)
- require.Equal(t, []uint64{15, 2, 7, 4}, relatedChanges.ActionTypes)
}
type leaseGrantItem struct {
diff --git a/domain/sysvar_cache.go b/domain/sysvar_cache.go
index 370260a67c02a..1611231d42ad5 100644
--- a/domain/sysvar_cache.go
+++ b/domain/sysvar_cache.go
@@ -17,13 +17,13 @@ package domain
import (
"context"
"fmt"
- "sync"
"github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/sessionctx"
"github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/util/logutil"
"github.com/pingcap/tidb/util/sqlexec"
+ "github.com/pingcap/tidb/util/syncutil"
"go.uber.org/zap"
"golang.org/x/exp/maps"
)
@@ -36,10 +36,10 @@ import (
// sysVarCache represents the cache of system variables broken up into session and global scope.
type sysVarCache struct {
- sync.RWMutex // protects global and session maps
- global map[string]string
- session map[string]string
- rebuildLock sync.Mutex // protects concurrent rebuild
+ syncutil.RWMutex // protects global and session maps
+ global map[string]string
+ session map[string]string
+ rebuildLock syncutil.Mutex // protects concurrent rebuild
}
func (do *Domain) rebuildSysVarCacheIfNeeded() (err error) {
diff --git a/domain/test_helper.go b/domain/test_helper.go
index e63e8dee7389b..e8c106c29d23b 100644
--- a/domain/test_helper.go
+++ b/domain/test_helper.go
@@ -26,7 +26,7 @@ import (
// MockInfoCacheAndLoadInfoSchema only used in unit tests.
func (do *Domain) MockInfoCacheAndLoadInfoSchema(is infoschema.InfoSchema) {
- do.infoCache = infoschema.NewCache(16)
+ do.infoCache.Reset(16)
do.infoCache.Insert(is, 0)
}
diff --git a/dumpling/export/BUILD.bazel b/dumpling/export/BUILD.bazel
index 08cc7fe2e664e..cf4d938de6042 100644
--- a/dumpling/export/BUILD.bazel
+++ b/dumpling/export/BUILD.bazel
@@ -103,6 +103,7 @@ go_test(
"//util/filter",
"//util/promutil",
"//util/table-filter",
+ "@com_github_coreos_go_semver//semver",
"@com_github_data_dog_go_sqlmock//:go-sqlmock",
"@com_github_go_sql_driver_mysql//:mysql",
"@com_github_pingcap_errors//:errors",
diff --git a/dumpling/export/config.go b/dumpling/export/config.go
index 57504e4e20882..36af37b30e924 100644
--- a/dumpling/export/config.go
+++ b/dumpling/export/config.go
@@ -4,6 +4,7 @@ package export
import (
"context"
+ "crypto/tls"
"encoding/json"
"fmt"
"net"
@@ -15,7 +16,6 @@ import (
"github.com/coreos/go-semver/semver"
"github.com/docker/go-units"
"github.com/go-sql-driver/mysql"
- "github.com/google/uuid"
"github.com/pingcap/errors"
"github.com/pingcap/failpoint"
"github.com/pingcap/tidb/br/pkg/storage"
@@ -25,6 +25,7 @@ import (
filter "github.com/pingcap/tidb/util/table-filter"
"github.com/prometheus/client_golang/prometheus"
"github.com/spf13/pflag"
+ "go.uber.org/atomic"
"go.uber.org/zap"
)
@@ -103,7 +104,7 @@ type Config struct {
User string
Password string `json:"-"`
Security struct {
- DriveTLSName string `json:"-"`
+ TLS *tls.Config `json:"-"`
CAPath string
CertPath string
KeyPath string
@@ -144,6 +145,9 @@ type Config struct {
PromFactory promutil.Factory `json:"-"`
PromRegistry promutil.Registry `json:"-"`
ExtStorage storage.ExternalStorage `json:"-"`
+
+ IOTotalBytes *atomic.Uint64
+ Net string
}
// ServerInfoUnknown is the unknown database type to dumpling
@@ -212,6 +216,9 @@ func (conf *Config) GetDriverConfig(db string) *mysql.Config {
driverCfg.User = conf.User
driverCfg.Passwd = conf.Password
driverCfg.Net = "tcp"
+ if conf.Net != "" {
+ driverCfg.Net = conf.Net
+ }
driverCfg.Addr = hostPort
driverCfg.DBName = db
driverCfg.Collation = "utf8mb4_general_ci"
@@ -219,8 +226,17 @@ func (conf *Config) GetDriverConfig(db string) *mysql.Config {
driverCfg.WriteTimeout = 30 * time.Second
driverCfg.InterpolateParams = true
driverCfg.MaxAllowedPacket = 0
- if conf.Security.DriveTLSName != "" {
- driverCfg.TLSConfig = conf.Security.DriveTLSName
+ if conf.Security.TLS != nil {
+ driverCfg.TLS = conf.Security.TLS
+ } else {
+ // Use TLS first.
+ driverCfg.AllowFallbackToPlaintext = true
+ /* #nosec G402 */
+ driverCfg.TLS = &tls.Config{
+ InsecureSkipVerify: true,
+ MinVersion: tls.VersionTLS10,
+ NextProtos: []string{"h2", "http/1.1"}, // specify `h2` to let Go use HTTP/2.
+ }
}
if conf.AllowCleartextPasswords {
driverCfg.AllowCleartextPasswords = true
@@ -653,7 +669,7 @@ func adjustConfig(conf *Config, fns ...func(*Config) error) error {
return nil
}
-func registerTLSConfig(conf *Config) error {
+func buildTLSConfig(conf *Config) error {
tlsConfig, err := util.NewTLSConfig(
util.WithCAPath(conf.Security.CAPath),
util.WithCertAndKeyPath(conf.Security.CertPath, conf.Security.KeyPath),
@@ -663,14 +679,8 @@ func registerTLSConfig(conf *Config) error {
if err != nil {
return errors.Trace(err)
}
-
- if tlsConfig == nil {
- return nil
- }
-
- conf.Security.DriveTLSName = "dumpling" + uuid.NewString()
- err = mysql.RegisterTLSConfig(conf.Security.DriveTLSName, tlsConfig)
- return errors.Trace(err)
+ conf.Security.TLS = tlsConfig
+ return nil
}
func validateSpecifiedSQL(conf *Config) error {
diff --git a/dumpling/export/dump.go b/dumpling/export/dump.go
index 7e5a81e0f3ce1..b8e46f595c4e9 100644
--- a/dumpling/export/dump.go
+++ b/dumpling/export/dump.go
@@ -10,13 +10,16 @@ import (
"encoding/hex"
"fmt"
"math/big"
+ "net"
"strconv"
"strings"
"sync/atomic"
"time"
+ "github.com/coreos/go-semver/semver"
// import mysql driver
"github.com/go-sql-driver/mysql"
+ "github.com/google/uuid"
"github.com/pingcap/errors"
"github.com/pingcap/failpoint"
pclog "github.com/pingcap/log"
@@ -31,8 +34,10 @@ import (
"github.com/pingcap/tidb/parser/format"
"github.com/pingcap/tidb/store/helper"
"github.com/pingcap/tidb/tablecodec"
+ "github.com/pingcap/tidb/util"
"github.com/pingcap/tidb/util/codec"
pd "github.com/tikv/pd/client"
+ gatomic "go.uber.org/atomic"
"go.uber.org/zap"
"golang.org/x/exp/slices"
"golang.org/x/sync/errgroup"
@@ -42,6 +47,10 @@ var openDBFunc = openDB
var errEmptyHandleVals = errors.New("empty handleVals for TiDB table")
+// After TiDB v6.2.0 we always enable tidb_enable_paging by default.
+// see https://docs.pingcap.com/zh/tidb/dev/system-variables#tidb_enable_paging-%E4%BB%8E-v540-%E7%89%88%E6%9C%AC%E5%BC%80%E5%A7%8B%E5%BC%95%E5%85%A5
+var enablePagingVersion = semver.New("6.2.0")
+
// Dumper is the dump progress structure
type Dumper struct {
tctx *tcontext.Context
@@ -95,12 +104,23 @@ func NewDumper(ctx context.Context, conf *Config) (*Dumper, error) {
}()
err = adjustConfig(conf,
- registerTLSConfig,
+ buildTLSConfig,
validateSpecifiedSQL,
adjustFileFormat)
if err != nil {
return nil, err
}
+ failpoint.Inject("SetIOTotalBytes", func(_ failpoint.Value) {
+ d.conf.IOTotalBytes = gatomic.NewUint64(0)
+ d.conf.Net = uuid.New().String()
+ go func() {
+ for {
+ time.Sleep(10 * time.Millisecond)
+ d.tctx.L().Logger.Info("IOTotalBytes", zap.Uint64("IOTotalBytes", d.conf.IOTotalBytes.Load()))
+ }
+ }()
+ })
+
err = runSteps(d,
initLogger,
createExternalStore,
@@ -1199,9 +1219,7 @@ func dumpTableMeta(tctx *tcontext.Context, conf *Config, conn *BaseConn, db stri
selectedField: selectField,
selectedLen: selectLen,
hasImplicitRowID: hasImplicitRowID,
- specCmts: []string{
- "/*!40101 SET NAMES binary*/;",
- },
+ specCmts: getSpecialComments(conf.ServerInfo.ServerType),
}
if conf.NoSchemas {
@@ -1264,9 +1282,6 @@ func (d *Dumper) Close() error {
if d.dbHandle != nil {
return d.dbHandle.Close()
}
- if d.conf.Security.DriveTLSName != "" {
- mysql.DeregisterTLSConfig(d.conf.Security.DriveTLSName)
- }
return nil
}
@@ -1333,6 +1348,22 @@ func startHTTPService(d *Dumper) error {
// openSQLDB is an initialization step of Dumper.
func openSQLDB(d *Dumper) error {
+ if d.conf.IOTotalBytes != nil {
+ mysql.RegisterDialContext(d.conf.Net, func(ctx context.Context, addr string) (net.Conn, error) {
+ dial := &net.Dialer{}
+ conn, err := dial.DialContext(ctx, "tcp", addr)
+ if err != nil {
+ return nil, err
+ }
+ tcpConn := conn.(*net.TCPConn)
+ // try https://github.com/go-sql-driver/mysql/blob/bcc459a906419e2890a50fc2c99ea6dd927a88f2/connector.go#L56-L64
+ err = tcpConn.SetKeepAlive(true)
+ if err != nil {
+ d.tctx.L().Logger.Warn("fail to keep alive", zap.Error(err))
+ }
+ return util.NewTCPConnWithIOCounter(tcpConn, d.conf.IOTotalBytes), nil
+ })
+ }
conf := d.conf
c, err := mysql.NewConnector(conf.GetDriverConfig(""))
if err != nil {
@@ -1511,6 +1542,19 @@ func updateServiceSafePoint(tctx *tcontext.Context, pdClient pd.Client, ttl int6
}
}
+// setDefaultSessionParams is a step to set default params for session params.
+func setDefaultSessionParams(si version.ServerInfo, sessionParams map[string]interface{}) {
+ defaultSessionParams := map[string]interface{}{}
+ if si.ServerType == version.ServerTypeTiDB && si.HasTiKV && si.ServerVersion.Compare(*enablePagingVersion) >= 0 {
+ defaultSessionParams["tidb_enable_paging"] = "ON"
+ }
+ for k, v := range defaultSessionParams {
+ if _, ok := sessionParams[k]; !ok {
+ sessionParams[k] = v
+ }
+ }
+}
+
// setSessionParam is an initialization step of Dumper.
func setSessionParam(d *Dumper) error {
conf, pool := d.conf, d.dbHandle
diff --git a/dumpling/export/dump_test.go b/dumpling/export/dump_test.go
index c9a40bba28d6f..7d621857f3a85 100644
--- a/dumpling/export/dump_test.go
+++ b/dumpling/export/dump_test.go
@@ -9,6 +9,7 @@ import (
"time"
"github.com/DATA-DOG/go-sqlmock"
+ "github.com/coreos/go-semver/semver"
"github.com/pingcap/errors"
"github.com/pingcap/tidb/br/pkg/version"
tcontext "github.com/pingcap/tidb/dumpling/context"
@@ -224,3 +225,67 @@ func TestUnregisterMetrics(t *testing.T) {
// should not panic
require.Error(t, err)
}
+
+func TestSetDefaultSessionParams(t *testing.T) {
+ testCases := []struct {
+ si version.ServerInfo
+ sessionParams map[string]interface{}
+ expectedParams map[string]interface{}
+ }{
+ {
+ si: version.ServerInfo{
+ ServerType: version.ServerTypeTiDB,
+ HasTiKV: true,
+ ServerVersion: semver.New("6.1.0"),
+ },
+ sessionParams: map[string]interface{}{
+ "tidb_snapshot": "2020-01-01 00:00:00",
+ },
+ expectedParams: map[string]interface{}{
+ "tidb_snapshot": "2020-01-01 00:00:00",
+ },
+ },
+ {
+ si: version.ServerInfo{
+ ServerType: version.ServerTypeTiDB,
+ HasTiKV: true,
+ ServerVersion: semver.New("6.2.0"),
+ },
+ sessionParams: map[string]interface{}{
+ "tidb_snapshot": "2020-01-01 00:00:00",
+ },
+ expectedParams: map[string]interface{}{
+ "tidb_enable_paging": "ON",
+ "tidb_snapshot": "2020-01-01 00:00:00",
+ },
+ },
+ {
+ si: version.ServerInfo{
+ ServerType: version.ServerTypeTiDB,
+ HasTiKV: true,
+ ServerVersion: semver.New("6.2.0"),
+ },
+ sessionParams: map[string]interface{}{
+ "tidb_enable_paging": "OFF",
+ "tidb_snapshot": "2020-01-01 00:00:00",
+ },
+ expectedParams: map[string]interface{}{
+ "tidb_enable_paging": "OFF",
+ "tidb_snapshot": "2020-01-01 00:00:00",
+ },
+ },
+ {
+ si: version.ServerInfo{
+ ServerType: version.ServerTypeMySQL,
+ ServerVersion: semver.New("8.0.32"),
+ },
+ sessionParams: map[string]interface{}{},
+ expectedParams: map[string]interface{}{},
+ },
+ }
+
+ for _, testCase := range testCases {
+ setDefaultSessionParams(testCase.si, testCase.sessionParams)
+ require.Equal(t, testCase.expectedParams, testCase.sessionParams)
+ }
+}
diff --git a/dumpling/export/ir.go b/dumpling/export/ir.go
index 4b98019605e9c..aa1b2070591ab 100644
--- a/dumpling/export/ir.go
+++ b/dumpling/export/ir.go
@@ -8,6 +8,7 @@ import (
"strings"
"github.com/pingcap/errors"
+ "github.com/pingcap/tidb/br/pkg/version"
tcontext "github.com/pingcap/tidb/dumpling/context"
)
@@ -85,7 +86,7 @@ type MetaIR interface {
MetaSQL() string
}
-func setTableMetaFromRows(rows *sql.Rows) (TableMeta, error) {
+func setTableMetaFromRows(serverType version.ServerType, rows *sql.Rows) (TableMeta, error) {
tps, err := rows.ColumnTypes()
if err != nil {
return nil, errors.Trace(err)
@@ -101,6 +102,6 @@ func setTableMetaFromRows(rows *sql.Rows) (TableMeta, error) {
colTypes: tps,
selectedField: strings.Join(nms, ","),
selectedLen: len(nms),
- specCmts: []string{"/*!40101 SET NAMES binary*/;"},
+ specCmts: getSpecialComments(serverType),
}, nil
}
diff --git a/dumpling/export/ir_impl.go b/dumpling/export/ir_impl.go
index bca821f612623..d1efa75db3365 100644
--- a/dumpling/export/ir_impl.go
+++ b/dumpling/export/ir_impl.go
@@ -7,6 +7,7 @@ import (
"strings"
"github.com/pingcap/errors"
+ "github.com/pingcap/tidb/br/pkg/version"
tcontext "github.com/pingcap/tidb/dumpling/context"
"go.uber.org/zap"
)
@@ -370,3 +371,22 @@ func (td *multiQueriesChunk) Close() error {
func (*multiQueriesChunk) RawRows() *sql.Rows {
return nil
}
+
+var serverSpecialComments = map[version.ServerType][]string{
+ version.ServerTypeMySQL: {
+ "/*!40014 SET FOREIGN_KEY_CHECKS=0*/;",
+ "/*!40101 SET NAMES binary*/;",
+ },
+ version.ServerTypeTiDB: {
+ "/*!40014 SET FOREIGN_KEY_CHECKS=0*/;",
+ "/*!40101 SET NAMES binary*/;",
+ },
+ version.ServerTypeMariaDB: {
+ "/*!40101 SET NAMES binary*/;",
+ "SET FOREIGN_KEY_CHECKS=0;",
+ },
+}
+
+func getSpecialComments(serverType version.ServerType) []string {
+ return serverSpecialComments[serverType]
+}
diff --git a/dumpling/export/sql_test.go b/dumpling/export/sql_test.go
index 04615637be8f1..5ae4c7278efa4 100644
--- a/dumpling/export/sql_test.go
+++ b/dumpling/export/sql_test.go
@@ -1308,6 +1308,8 @@ func buildMockNewRows(mock sqlmock.Sqlmock, columns []string, driverValues [][]d
}
func readRegionCsvDriverValues(t *testing.T) [][]driver.Value {
+ t.Helper()
+
csvFilename := "region_results.csv"
file, err := os.Open(csvFilename)
require.NoError(t, err)
diff --git a/dumpling/export/status_test.go b/dumpling/export/status_test.go
index 14c08c7c36ba7..7c340b06dcf83 100644
--- a/dumpling/export/status_test.go
+++ b/dumpling/export/status_test.go
@@ -48,7 +48,7 @@ func TestSpeedRecorder(t *testing.T) {
for _, tc := range testCases {
time.Sleep(time.Duration(tc.spentTime) * time.Second)
recentSpeed := speedRecorder.GetSpeed(tc.finished)
- if math.Abs(tc.expected-recentSpeed) > 1 {
+ if math.Abs(tc.expected-recentSpeed)/tc.expected > 0.1 {
require.FailNow(t, "speed is unexpected", "expected: %5.2f, recent: %5.2f", tc.expected, recentSpeed)
}
}
diff --git a/dumpling/export/writer.go b/dumpling/export/writer.go
index e64c067c807b7..ae037041596ae 100644
--- a/dumpling/export/writer.go
+++ b/dumpling/export/writer.go
@@ -133,7 +133,7 @@ func (w *Writer) WritePolicyMeta(policy, createSQL string) error {
if err != nil {
return err
}
- return writeMetaToFile(tctx, "placement-policy", createSQL, w.extStorage, fileName+".sql", conf.CompressType)
+ return w.writeMetaToFile(tctx, "placement-policy", createSQL, fileName+".sql")
}
// WriteDatabaseMeta writes database meta to a file
@@ -143,7 +143,7 @@ func (w *Writer) WriteDatabaseMeta(db, createSQL string) error {
if err != nil {
return err
}
- return writeMetaToFile(tctx, db, createSQL, w.extStorage, fileName+".sql", conf.CompressType)
+ return w.writeMetaToFile(tctx, db, createSQL, fileName+".sql")
}
// WriteTableMeta writes table meta to a file
@@ -153,7 +153,7 @@ func (w *Writer) WriteTableMeta(db, table, createSQL string) error {
if err != nil {
return err
}
- return writeMetaToFile(tctx, db, createSQL, w.extStorage, fileName+".sql", conf.CompressType)
+ return w.writeMetaToFile(tctx, db, createSQL, fileName+".sql")
}
// WriteViewMeta writes view meta to a file
@@ -167,11 +167,11 @@ func (w *Writer) WriteViewMeta(db, view, createTableSQL, createViewSQL string) e
if err != nil {
return err
}
- err = writeMetaToFile(tctx, db, createTableSQL, w.extStorage, fileNameTable+".sql", conf.CompressType)
+ err = w.writeMetaToFile(tctx, db, createTableSQL, fileNameTable+".sql")
if err != nil {
return err
}
- return writeMetaToFile(tctx, db, createViewSQL, w.extStorage, fileNameView+".sql", conf.CompressType)
+ return w.writeMetaToFile(tctx, db, createViewSQL, fileNameView+".sql")
}
// WriteSequenceMeta writes sequence meta to a file
@@ -181,7 +181,7 @@ func (w *Writer) WriteSequenceMeta(db, sequence, createSQL string) error {
if err != nil {
return err
}
- return writeMetaToFile(tctx, db, createSQL, w.extStorage, fileName+".sql", conf.CompressType)
+ return w.writeMetaToFile(tctx, db, createSQL, fileName+".sql")
}
// WriteTableData writes table data to a file with retry
@@ -213,10 +213,14 @@ func (w *Writer) WriteTableData(meta TableMeta, ir TableDataIR, currentChunk int
return
}
if conf.SQL != "" {
- meta, err = setTableMetaFromRows(ir.RawRows())
+ rows := ir.RawRows()
+ meta, err = setTableMetaFromRows(w.conf.ServerInfo.ServerType, rows)
if err != nil {
return err
}
+ if err = rows.Err(); err != nil {
+ return errors.Trace(err)
+ }
}
defer func() {
_ = ir.Close()
@@ -270,19 +274,17 @@ func (w *Writer) tryToWriteTableData(tctx *tcontext.Context, meta TableMeta, ir
return nil
}
-func writeMetaToFile(tctx *tcontext.Context, target, metaSQL string, s storage.ExternalStorage, path string, compressType storage.CompressType) error {
- fileWriter, tearDown, err := buildFileWriter(tctx, s, path, compressType)
+func (w *Writer) writeMetaToFile(tctx *tcontext.Context, target, metaSQL string, path string) error {
+ fileWriter, tearDown, err := buildFileWriter(tctx, w.extStorage, path, w.conf.CompressType)
if err != nil {
return errors.Trace(err)
}
defer tearDown(tctx)
return WriteMeta(tctx, &metaData{
- target: target,
- metaSQL: metaSQL,
- specCmts: []string{
- "/*!40101 SET NAMES binary*/;",
- },
+ target: target,
+ metaSQL: metaSQL,
+ specCmts: getSpecialComments(w.conf.ServerInfo.ServerType),
}, fileWriter)
}
diff --git a/dumpling/export/writer_test.go b/dumpling/export/writer_test.go
index b5f54f3debcb9..4f07d25b7b224 100644
--- a/dumpling/export/writer_test.go
+++ b/dumpling/export/writer_test.go
@@ -5,13 +5,13 @@ package export
import (
"context"
"database/sql/driver"
- "io/ioutil"
"os"
"path"
"sync"
"testing"
"github.com/DATA-DOG/go-sqlmock"
+ "github.com/pingcap/tidb/br/pkg/version"
tcontext "github.com/pingcap/tidb/dumpling/context"
"github.com/pingcap/tidb/util/promutil"
"github.com/stretchr/testify/require"
@@ -31,9 +31,9 @@ func TestWriteDatabaseMeta(t *testing.T) {
_, err = os.Stat(p)
require.NoError(t, err)
- bytes, err := ioutil.ReadFile(p)
+ bytes, err := os.ReadFile(p)
require.NoError(t, err)
- require.Equal(t, "/*!40101 SET NAMES binary*/;\nCREATE DATABASE `test`;\n", string(bytes))
+ require.Equal(t, "/*!40014 SET FOREIGN_KEY_CHECKS=0*/;\n/*!40101 SET NAMES binary*/;\nCREATE DATABASE `test`;\n", string(bytes))
}
func TestWritePolicyMeta(t *testing.T) {
@@ -50,9 +50,9 @@ func TestWritePolicyMeta(t *testing.T) {
_, err = os.Stat(p)
require.NoError(t, err)
- bytes, err := ioutil.ReadFile(p)
+ bytes, err := os.ReadFile(p)
require.NoError(t, err)
- require.Equal(t, "/*!40101 SET NAMES binary*/;\ncreate placement policy `y` followers=2;\n", string(bytes))
+ require.Equal(t, "/*!40014 SET FOREIGN_KEY_CHECKS=0*/;\n/*!40101 SET NAMES binary*/;\ncreate placement policy `y` followers=2;\n", string(bytes))
}
func TestWriteTableMeta(t *testing.T) {
@@ -68,9 +68,9 @@ func TestWriteTableMeta(t *testing.T) {
p := path.Join(dir, "test.t-schema.sql")
_, err = os.Stat(p)
require.NoError(t, err)
- bytes, err := ioutil.ReadFile(p)
+ bytes, err := os.ReadFile(p)
require.NoError(t, err)
- require.Equal(t, "/*!40101 SET NAMES binary*/;\nCREATE TABLE t (a INT);\n", string(bytes))
+ require.Equal(t, "/*!40014 SET FOREIGN_KEY_CHECKS=0*/;\n/*!40101 SET NAMES binary*/;\nCREATE TABLE t (a INT);\n", string(bytes))
}
func TestWriteViewMeta(t *testing.T) {
@@ -80,7 +80,7 @@ func TestWriteViewMeta(t *testing.T) {
writer := createTestWriter(config, t)
- specCmt := "/*!40101 SET NAMES binary*/;\n"
+ specCmt := "/*!40014 SET FOREIGN_KEY_CHECKS=0*/;\n/*!40101 SET NAMES binary*/;\n"
createTableSQL := "CREATE TABLE `v`(\n`a` int\n)ENGINE=MyISAM;\n"
createViewSQL := "DROP TABLE IF EXISTS `v`;\nDROP VIEW IF EXISTS `v`;\nSET @PREV_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT;\nSET @PREV_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS;\nSET @PREV_COLLATION_CONNECTION=@@COLLATION_CONNECTION;\nSET character_set_client = utf8;\nSET character_set_results = utf8;\nSET collation_connection = utf8_general_ci;\nCREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` (`a`) AS SELECT `t`.`a` AS `a` FROM `test`.`t`;\nSET character_set_client = @PREV_CHARACTER_SET_CLIENT;\nSET character_set_results = @PREV_CHARACTER_SET_RESULTS;\nSET collation_connection = @PREV_COLLATION_CONNECTION;\n"
err := writer.WriteViewMeta("test", "v", createTableSQL, createViewSQL)
@@ -89,14 +89,14 @@ func TestWriteViewMeta(t *testing.T) {
p := path.Join(dir, "test.v-schema.sql")
_, err = os.Stat(p)
require.NoError(t, err)
- bytes, err := ioutil.ReadFile(p)
+ bytes, err := os.ReadFile(p)
require.NoError(t, err)
require.Equal(t, specCmt+createTableSQL, string(bytes))
p = path.Join(dir, "test.v-schema-view.sql")
_, err = os.Stat(p)
require.NoError(t, err)
- bytes, err = ioutil.ReadFile(p)
+ bytes, err = os.ReadFile(p)
require.NoError(t, err)
require.Equal(t, specCmt+createViewSQL, string(bytes))
}
@@ -126,7 +126,7 @@ func TestWriteTableData(t *testing.T) {
p := path.Join(dir, "test.employee.000000000.sql")
_, err = os.Stat(p)
require.NoError(t, err)
- bytes, err := ioutil.ReadFile(p)
+ bytes, err := os.ReadFile(p)
require.NoError(t, err)
expected := "/*!40101 SET NAMES binary*/;\n" +
@@ -182,7 +182,7 @@ func TestWriteTableDataWithFileSize(t *testing.T) {
p = path.Join(dir, p)
_, err := os.Stat(p)
require.NoError(t, err)
- bytes, err := ioutil.ReadFile(p)
+ bytes, err := os.ReadFile(p)
require.NoError(t, err)
require.Equal(t, expected, string(bytes))
}
@@ -232,7 +232,7 @@ func TestWriteTableDataWithFileSizeAndRows(t *testing.T) {
p = path.Join(dir, p)
_, err = os.Stat(p)
require.NoError(t, err)
- bytes, err := ioutil.ReadFile(p)
+ bytes, err := os.ReadFile(p)
require.NoError(t, err)
require.Equal(t, expected, string(bytes))
}
@@ -281,7 +281,7 @@ func TestWriteTableDataWithStatementSize(t *testing.T) {
p = path.Join(config.OutputDirPath, p)
_, err = os.Stat(p)
require.NoError(t, err)
- bytes, err1 := ioutil.ReadFile(p)
+ bytes, err1 := os.ReadFile(p)
require.NoError(t, err1)
require.Equal(t, expected, string(bytes))
}
@@ -297,7 +297,7 @@ func TestWriteTableDataWithStatementSize(t *testing.T) {
require.NoError(t, err)
err = os.RemoveAll(config.OutputDirPath)
require.NoError(t, err)
- config.OutputDirPath, err = ioutil.TempDir("", "dumpling")
+ config.OutputDirPath, err = os.MkdirTemp("", "dumpling")
writer = createTestWriter(config, t)
@@ -322,7 +322,7 @@ func TestWriteTableDataWithStatementSize(t *testing.T) {
p = path.Join(config.OutputDirPath, p)
_, err = os.Stat(p)
require.NoError(t, err)
- bytes, err := ioutil.ReadFile(p)
+ bytes, err := os.ReadFile(p)
require.NoError(t, err)
require.Equal(t, expected, string(bytes))
}
@@ -331,6 +331,9 @@ func TestWriteTableDataWithStatementSize(t *testing.T) {
var mu sync.Mutex
func createTestWriter(conf *Config, t *testing.T) *Writer {
+ t.Helper()
+ conf.ServerInfo.ServerType = version.ServerTypeMySQL
+
mu.Lock()
extStore, err := conf.createExternalStorage(context.Background())
mu.Unlock()
diff --git a/dumpling/tests/basic/run.sh b/dumpling/tests/basic/run.sh
index 11a738805275b..5b549cf857e79 100644
--- a/dumpling/tests/basic/run.sh
+++ b/dumpling/tests/basic/run.sh
@@ -114,8 +114,8 @@ echo "expected panic 0, actual ${actual}"
[ "$actual" = 0 ]
# check stdout, should contain mysql error log
-actual=$(grep -w "Error 1064: You have an error in your SQL syntax" ${DUMPLING_OUTPUT_DIR}/dumpling.log|wc -l)
-echo "expect contain Error 1064, actual ${actual}"
+actual=$(grep -w "You have an error in your SQL syntax" ${DUMPLING_OUTPUT_DIR}/dumpling.log|wc -l)
+echo "expect contain error in SQL syntax, actual ${actual}"
[ "$actual" -ge 1 ]
# Test for consistency lock with empty database.
@@ -128,3 +128,14 @@ run_dumpling --consistency lock -B "$DB_NAME" -L ${DUMPLING_OUTPUT_DIR}/dumpling
cnt=$(grep -w "$DB_NAME" ${DUMPLING_OUTPUT_DIR}/${DB_NAME}-schema-create.sql|wc -l)
echo "records count is ${cnt}"
[ "$cnt" = 1 ]
+
+# Test for recording network usage
+run_sql "drop database if exists test_db;"
+run_sql "create database test_db;"
+run_sql "create table test_db.test_table (a int primary key);"
+run_sql "insert into test_db.test_table values (1),(2),(3),(4),(5),(6),(7),(8);"
+
+export GO_FAILPOINTS="github.com/pingcap/tidb/dumpling/export/SetIOTotalBytes=return(1)"
+run_dumpling -B "test_db" -L ${DUMPLING_OUTPUT_DIR}/dumpling.log
+cnt=$(grep "IOTotalBytes=" ${DUMPLING_OUTPUT_DIR}/dumpling.log | grep -v "IOTotalBytes=0" | wc -l)
+[ "$cnt" -ge 1 ]
\ No newline at end of file
diff --git a/dumpling/tests/e2e/run.sh b/dumpling/tests/e2e/run.sh
index f5da32acc33e0..73b580ca594d9 100644
--- a/dumpling/tests/e2e/run.sh
+++ b/dumpling/tests/e2e/run.sh
@@ -37,4 +37,24 @@ run_lightning $cur/conf/lightning.toml
# check mysql and tidb data
check_sync_diff $cur/conf/diff_config.toml
+# test e2e with compress option again
+
+# drop database on tidb
+export DUMPLING_TEST_PORT=4000
+run_sql "drop database if exists $DB_NAME;"
+
+export DUMPLING_TEST_PORT=3306
+
+# dumping
+export DUMPLING_TEST_DATABASE=$DB_NAME
+rm -rf $DUMPLING_OUTPUT_DIR
+run_dumpling --compress "snappy"
+
+cat "$cur/conf/lightning.toml"
+# use lightning import data to tidb
+run_lightning $cur/conf/lightning.toml
+
+# check mysql and tidb data
+check_sync_diff $cur/conf/diff_config.toml
+
diff --git a/dumpling/tests/e2e_csv/run.sh b/dumpling/tests/e2e_csv/run.sh
index d80e321d9294a..9c5afaca469d7 100644
--- a/dumpling/tests/e2e_csv/run.sh
+++ b/dumpling/tests/e2e_csv/run.sh
@@ -24,6 +24,7 @@ run_sql_file "$DUMPLING_TEST_DIR/data/e2e_csv.t.sql"
run() {
echo "*** running subtest case ***"
+ echo "compress is $compress"
echo "escape_backslash is $escape_backslash"
echo "csv_delimiter is $csv_delimiter"
echo "csv_separator is $csv_separator"
@@ -36,7 +37,11 @@ run() {
# dumping
export DUMPLING_TEST_PORT=3306
export DUMPLING_TEST_DATABASE=$DB_NAME
- run_dumpling --filetype="csv" --escape-backslash=$escape_backslash --csv-delimiter="$csv_delimiter" --csv-separator="$csv_separator"
+ rm -rf "$DUMPLING_OUTPUT_DIR"
+ if [ $compress = "space" ]; then
+ compress=""
+ fi
+ run_dumpling --filetype="csv" --escape-backslash=$escape_backslash --csv-delimiter="$csv_delimiter" --csv-separator="$csv_separator" --compress="$compress"
# construct lightning configuration
mkdir -p $DUMPLING_TEST_DIR/conf
@@ -67,18 +72,22 @@ run() {
escape_backslash_arr="true false"
csv_delimiter_arr="\" '"
csv_separator_arr=', a aa |*|'
+compress_arr='space gzip snappy zstd'
-for escape_backslash in $escape_backslash_arr
+for compress in $compress_arr
do
- for csv_separator in $csv_separator_arr
+ for escape_backslash in $escape_backslash_arr
do
- for csv_delimiter in $csv_delimiter_arr
+ for csv_separator in $csv_separator_arr
do
- run
+ for csv_delimiter in $csv_delimiter_arr
+ do
+ run
+ done
+ if [ "$escape_backslash" = "true" ]; then
+ csv_delimiter=""
+ run
+ fi
done
- if [ "$escape_backslash" = "true" ]; then
- csv_delimiter=""
- run
- fi
done
done
diff --git a/dumpling/tests/e2e_foreign_key/conf/diff_config.toml b/dumpling/tests/e2e_foreign_key/conf/diff_config.toml
new file mode 100644
index 0000000000000..634c8416891eb
--- /dev/null
+++ b/dumpling/tests/e2e_foreign_key/conf/diff_config.toml
@@ -0,0 +1,29 @@
+# diff Configuration.
+
+check-thread-count = 4
+
+export-fix-sql = true
+
+check-struct-only = false
+
+[task]
+ output-dir = "./output"
+
+ source-instances = ["mysql1"]
+
+ target-instance = "tidb0"
+
+ target-check-tables = ["e2e_foreign_key.parent", "e2e_foreign_key.child"]
+
+[data-sources]
+[data-sources.mysql1]
+host = "127.0.0.1"
+port = 3306
+user = "root"
+password = ""
+
+[data-sources.tidb0]
+host = "127.0.0.1"
+port = 4000
+user = "root"
+password = ""
diff --git a/dumpling/tests/e2e_foreign_key/conf/lightning.toml b/dumpling/tests/e2e_foreign_key/conf/lightning.toml
new file mode 100644
index 0000000000000..e96fdaaf0daeb
--- /dev/null
+++ b/dumpling/tests/e2e_foreign_key/conf/lightning.toml
@@ -0,0 +1,20 @@
+### tidb-lightning config
+
+[lightning]
+server-mode = false
+level = "error"
+check-requirements = false
+
+[tikv-importer]
+backend = "tidb"
+on-duplicate = "error"
+
+[mydumper]
+data-source-dir = "/tmp/dumpling_test_result/sql_res.e2e_foreign_key"
+
+[tidb]
+host = "127.0.0.1"
+port = 4000
+user = "root"
+password = ""
+status-port = 10080
diff --git a/dumpling/tests/e2e_foreign_key/data/e2e_foreign_key.sql b/dumpling/tests/e2e_foreign_key/data/e2e_foreign_key.sql
new file mode 100644
index 0000000000000..4b8ff0b1df203
--- /dev/null
+++ b/dumpling/tests/e2e_foreign_key/data/e2e_foreign_key.sql
@@ -0,0 +1,8 @@
+create database e2e_foreign_key DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
+use e2e_foreign_key;
+create table parent (id int key);
+create table child (id int key, pid int, constraint fk_1 foreign key (pid) references parent(id));
+insert into parent values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+insert into child values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10);
+set foreign_key_checks=0;
+insert into child values (100,100);
diff --git a/dumpling/tests/e2e_foreign_key/run.sh b/dumpling/tests/e2e_foreign_key/run.sh
new file mode 100644
index 0000000000000..99285d627fdf7
--- /dev/null
+++ b/dumpling/tests/e2e_foreign_key/run.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+#
+# Copyright 2020 PingCAP, Inc. Licensed under Apache-2.0.
+
+set -eu
+cur=$(cd `dirname $0`; pwd)
+
+DB_NAME="e2e_foreign_key"
+
+# drop database on tidb
+export DUMPLING_TEST_PORT=4000
+run_sql "drop database if exists $DB_NAME;"
+
+# drop database on mysql
+export DUMPLING_TEST_PORT=3306
+run_sql "drop database if exists $DB_NAME;"
+
+# build data on mysql
+run_sql_file "$DUMPLING_BASE_NAME/data/e2e_foreign_key.sql"
+
+# dumping
+export DUMPLING_TEST_DATABASE=$DB_NAME
+run_dumpling
+
+cat "$cur/conf/lightning.toml"
+# use lightning import data to tidb
+run_lightning $cur/conf/lightning.toml
+
+# check mysql and tidb data
+check_sync_diff $cur/conf/diff_config.toml
diff --git a/dumpling/tests/file_size/run.sh b/dumpling/tests/file_size/run.sh
index 6b0577dc2e514..174b1e0def008 100644
--- a/dumpling/tests/file_size/run.sh
+++ b/dumpling/tests/file_size/run.sh
@@ -14,8 +14,8 @@ chars_20="1111_0000_1111_0000_"
# insert 100 records, each occupies 20 bytes
run_sql "insert into t values $(seq -s, 100 | sed 's/,*$//g' | sed "s/[0-9]*/('$chars_20')/g");"
-# dumping with file size = 311 bytes, actually 10 rows
-run_dumpling -F 311B
+# dumping with file size = 348 bytes, actually 10 rows
+run_dumpling -F 348B
# the dumping result is expected to be:
# 10 files for insertion(each conatins 10 records / 200 bytes)
diff --git a/dumpling/tests/naughty_strings/data/naughty_strings.escape.sql b/dumpling/tests/naughty_strings/data/naughty_strings.escape.sql
index 1fa1d0d223013..d73ee94aee1a7 100644
--- a/dumpling/tests/naughty_strings/data/naughty_strings.escape.sql
+++ b/dumpling/tests/naughty_strings/data/naughty_strings.escape.sql
@@ -1,3 +1,4 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
INSERT INTO `escape` VALUES
('''', '"'),
diff --git a/dumpling/tests/naughty_strings/data/naughty_strings.t.sql b/dumpling/tests/naughty_strings/data/naughty_strings.t.sql
index fa5d74f15f934..88128d75dfd4c 100644
--- a/dumpling/tests/naughty_strings/data/naughty_strings.t.sql
+++ b/dumpling/tests/naughty_strings/data/naughty_strings.t.sql
@@ -1,3 +1,4 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
INSERT INTO `t` VALUES
(''),
diff --git a/dumpling/tests/naughty_strings/expect/naughty_strings.escape.sql b/dumpling/tests/naughty_strings/expect/naughty_strings.escape.sql
index bc578c659f4c4..607aa53e0acef 100644
--- a/dumpling/tests/naughty_strings/expect/naughty_strings.escape.sql
+++ b/dumpling/tests/naughty_strings/expect/naughty_strings.escape.sql
@@ -1,3 +1,4 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
INSERT INTO `escape` VALUES
('\'','\"'),
diff --git a/dumpling/tests/naughty_strings/expect/naughty_strings.t.sql b/dumpling/tests/naughty_strings/expect/naughty_strings.t.sql
index 1dd0c5ae209a3..5f3468aeb108c 100644
--- a/dumpling/tests/naughty_strings/expect/naughty_strings.t.sql
+++ b/dumpling/tests/naughty_strings/expect/naughty_strings.t.sql
@@ -1,3 +1,4 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
INSERT INTO `t` VALUES
(''),
diff --git a/dumpling/tests/non_exist_tables/run.sh b/dumpling/tests/non_exist_tables/run.sh
index 78003069cce9d..180db04407f3a 100644
--- a/dumpling/tests/non_exist_tables/run.sh
+++ b/dumpling/tests/non_exist_tables/run.sh
@@ -21,6 +21,6 @@ rm -rf "$DUMPLING_OUTPUT_DIR"
run_dumpling --consistency=lock --tables-list "$DB_NAME.$TABLE_NAME2" -L ${DUMPLING_OUTPUT_DIR}/dumpling.log
set -e
-actual=$(grep -w "Error 1146: Table 'non_exist_tables.t2' doesn't exist" ${DUMPLING_OUTPUT_DIR}/dumpling.log|wc -l)
+actual=$(grep -w "Table 'non_exist_tables.t2' doesn't exist" ${DUMPLING_OUTPUT_DIR}/dumpling.log|wc -l)
echo "expected 1 return error when specifying --tables-list with non-existing tables, actual ${actual}"
[ $actual = 1 ]
diff --git a/dumpling/tests/placement_policy/result/x-placement-policy-create.sql b/dumpling/tests/placement_policy/result/x-placement-policy-create.sql
index 8a41e6c2a3522..9a7dac22244b0 100644
--- a/dumpling/tests/placement_policy/result/x-placement-policy-create.sql
+++ b/dumpling/tests/placement_policy/result/x-placement-policy-create.sql
@@ -1,2 +1,3 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
/*T![placement] CREATE PLACEMENT POLICY `x` PRIMARY_REGION="cn-east-1" REGIONS="cn-east-1,cn-east" */;
diff --git a/dumpling/tests/placement_policy/result/x1-placement-policy-create.sql b/dumpling/tests/placement_policy/result/x1-placement-policy-create.sql
index d5e7f8ad8dda5..ebed679154ef5 100644
--- a/dumpling/tests/placement_policy/result/x1-placement-policy-create.sql
+++ b/dumpling/tests/placement_policy/result/x1-placement-policy-create.sql
@@ -1,2 +1,3 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
/*T![placement] CREATE PLACEMENT POLICY `x1` FOLLOWERS=4 */;
diff --git a/dumpling/tests/primary_key/result/pk_case_0.sql b/dumpling/tests/primary_key/result/pk_case_0.sql
index 6c8c7fb9e6538..0168395142ef6 100644
--- a/dumpling/tests/primary_key/result/pk_case_0.sql
+++ b/dumpling/tests/primary_key/result/pk_case_0.sql
@@ -1,3 +1,4 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
INSERT INTO `pk_case_0` VALUES
(0,10),
diff --git a/dumpling/tests/primary_key/result/pk_case_1.sql b/dumpling/tests/primary_key/result/pk_case_1.sql
index 4a671cc64f247..741c36cd64e4a 100644
--- a/dumpling/tests/primary_key/result/pk_case_1.sql
+++ b/dumpling/tests/primary_key/result/pk_case_1.sql
@@ -1,3 +1,4 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
INSERT INTO `pk_case_1` VALUES
(0,10),
diff --git a/dumpling/tests/primary_key/result/pk_case_2.sql b/dumpling/tests/primary_key/result/pk_case_2.sql
index af9494d00645d..0605e11e5572c 100644
--- a/dumpling/tests/primary_key/result/pk_case_2.sql
+++ b/dumpling/tests/primary_key/result/pk_case_2.sql
@@ -1,3 +1,4 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
INSERT INTO `pk_case_2` VALUES
(0,10),
diff --git a/dumpling/tests/primary_key/result/pk_case_3.sql b/dumpling/tests/primary_key/result/pk_case_3.sql
index a29e568dd1340..2da84a1a1b91c 100644
--- a/dumpling/tests/primary_key/result/pk_case_3.sql
+++ b/dumpling/tests/primary_key/result/pk_case_3.sql
@@ -1,3 +1,4 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
INSERT INTO `pk_case_3` VALUES
(6,4,x'000000000101000000000000000000f03f000000000000f03f'),
diff --git a/dumpling/tests/quote/data/quote-database-schema-create-mysql57.sql b/dumpling/tests/quote/data/quote-database-schema-create-mysql57.sql
index a5df1c26b6c8b..8cc30bc18ca25 100755
--- a/dumpling/tests/quote/data/quote-database-schema-create-mysql57.sql
+++ b/dumpling/tests/quote/data/quote-database-schema-create-mysql57.sql
@@ -1,2 +1,3 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
CREATE DATABASE `quo``te/database` /*!40100 DEFAULT CHARACTER SET latin1 */;
diff --git a/dumpling/tests/quote/data/quote-database-schema-create.sql b/dumpling/tests/quote/data/quote-database-schema-create.sql
index d895b4678b912..4a5bfe7c297fc 100755
--- a/dumpling/tests/quote/data/quote-database-schema-create.sql
+++ b/dumpling/tests/quote/data/quote-database-schema-create.sql
@@ -1,2 +1,3 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
CREATE DATABASE `quo``te/database` /*!40100 DEFAULT CHARACTER SET latin1 */ /*!80016 DEFAULT ENCRYPTION='N' */;
diff --git a/dumpling/tests/quote/data/quote-database.quote-table-schema-mysql57.sql b/dumpling/tests/quote/data/quote-database.quote-table-schema-mysql57.sql
index b3c55dee26330..4b0c6e85c30eb 100755
--- a/dumpling/tests/quote/data/quote-database.quote-table-schema-mysql57.sql
+++ b/dumpling/tests/quote/data/quote-database.quote-table-schema-mysql57.sql
@@ -1,3 +1,4 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
CREATE TABLE `quo``te/table` (
`quo``te/col` int(11) NOT NULL,
diff --git a/dumpling/tests/quote/data/quote-database.quote-table-schema.sql b/dumpling/tests/quote/data/quote-database.quote-table-schema.sql
index 61bfcc50d113f..cf357c7603836 100755
--- a/dumpling/tests/quote/data/quote-database.quote-table-schema.sql
+++ b/dumpling/tests/quote/data/quote-database.quote-table-schema.sql
@@ -1,3 +1,4 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
CREATE TABLE `quo``te/table` (
`quo``te/col` int NOT NULL,
diff --git a/dumpling/tests/quote/data/quote-database.quote-table.000000000-mysql57.sql b/dumpling/tests/quote/data/quote-database.quote-table.000000000-mysql57.sql
index 5cee6b7b4a67d..3f36d8fc8a099 100755
--- a/dumpling/tests/quote/data/quote-database.quote-table.000000000-mysql57.sql
+++ b/dumpling/tests/quote/data/quote-database.quote-table.000000000-mysql57.sql
@@ -1,3 +1,4 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
INSERT INTO `quo``te/table` (`quo``te/col`,`a`) VALUES
(0,10),
diff --git a/dumpling/tests/quote/data/quote-database.quote-table.000000000.sql b/dumpling/tests/quote/data/quote-database.quote-table.000000000.sql
index 5cee6b7b4a67d..3f36d8fc8a099 100755
--- a/dumpling/tests/quote/data/quote-database.quote-table.000000000.sql
+++ b/dumpling/tests/quote/data/quote-database.quote-table.000000000.sql
@@ -1,3 +1,4 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
INSERT INTO `quo``te/table` (`quo``te/col`,`a`) VALUES
(0,10),
diff --git a/dumpling/tests/rows/run.sh b/dumpling/tests/rows/run.sh
index 84175b025b9b2..41124fd267a0d 100644
--- a/dumpling/tests/rows/run.sh
+++ b/dumpling/tests/rows/run.sh
@@ -46,7 +46,7 @@ check_sync_diff $cur/conf/diff_config.toml
# test dumpling with both rows and filesize
rm -rf "$DUMPLING_OUTPUT_DIR"
-run_dumpling --rows 10 --filesize 100B --loglevel debug
+run_dumpling --rows 10 --filesize 140B --loglevel debug
# the dumping result is expected to be:
# 50 files for insertion
file_num=$(find "$DUMPLING_OUTPUT_DIR" -maxdepth 1 -iname "$DB_NAME.$TABLE_NAME.*.sql" | wc -l)
diff --git a/dumpling/tests/sequences/data/sequences.s-schema-sequence-expect.sql b/dumpling/tests/sequences/data/sequences.s-schema-sequence-expect.sql
index 0fb6daa6fc5ad..0f33902517ff1 100644
--- a/dumpling/tests/sequences/data/sequences.s-schema-sequence-expect.sql
+++ b/dumpling/tests/sequences/data/sequences.s-schema-sequence-expect.sql
@@ -1,3 +1,4 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
CREATE SEQUENCE `s` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=InnoDB;
SELECT SETVAL(`s`,1001);
diff --git a/dumpling/tests/views/data/views-schema-create.sql b/dumpling/tests/views/data/views-schema-create.sql
index af5ca6d166d0e..88ce12d5c3ccd 100644
--- a/dumpling/tests/views/data/views-schema-create.sql
+++ b/dumpling/tests/views/data/views-schema-create.sql
@@ -1,2 +1,3 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
CREATE DATABASE `views` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin */ /*!80016 DEFAULT ENCRYPTION='N' */;
diff --git a/dumpling/tests/views/data/views.v-schema-view.sql b/dumpling/tests/views/data/views.v-schema-view.sql
index 06d73e73fe664..3063ec02815cd 100644
--- a/dumpling/tests/views/data/views.v-schema-view.sql
+++ b/dumpling/tests/views/data/views.v-schema-view.sql
@@ -1,3 +1,4 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
DROP TABLE IF EXISTS `v`;
DROP VIEW IF EXISTS `v`;
diff --git a/dumpling/tests/views/data/views.v-schema.sql b/dumpling/tests/views/data/views.v-schema.sql
index 8e6bf5d441640..0d2bddbdffc13 100644
--- a/dumpling/tests/views/data/views.v-schema.sql
+++ b/dumpling/tests/views/data/views.v-schema.sql
@@ -1,3 +1,4 @@
+/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40101 SET NAMES binary*/;
CREATE TABLE `v`(
`a` int,
diff --git a/errno/errcode.go b/errno/errcode.go
index 60257be0b76c9..56461a884a150 100644
--- a/errno/errcode.go
+++ b/errno/errcode.go
@@ -825,6 +825,7 @@ const (
ErrMaxExecTimeExceeded = 1907
ErrForeignKeyCascadeDepthExceeded = 3008
ErrInvalidFieldSize = 3013
+ ErrPasswordExpireAnonymousUser = 3016
ErrInvalidArgumentForLogarithm = 3020
ErrAggregateOrderNonAggQuery = 3029
ErrUserLockWrongName = 3057
@@ -892,6 +893,7 @@ const (
ErrIllegalPrivilegeLevel = 3619
ErrCTEMaxRecursionDepth = 3636
ErrNotHintUpdatable = 3637
+ ErrExistsInHistoryPassword = 3638
ErrForeignKeyCannotDropParent = 3730
ErrForeignKeyCannotUseVirtualColumn = 3733
ErrForeignKeyNoColumnInParent = 3734
@@ -913,11 +915,13 @@ const (
ErrFunctionalIndexRowValueIsNotAllowed = 3800
ErrDependentByFunctionalIndex = 3837
ErrCannotConvertString = 3854
+ ErrDependentByPartitionFunctional = 3855
ErrInvalidJSONValueForFuncIndex = 3903
ErrJSONValueOutOfRangeForFuncIndex = 3904
ErrFunctionalIndexDataIsTooLong = 3907
ErrFunctionalIndexNotApplicable = 3909
ErrDynamicPrivilegeNotRegistered = 3929
+ ErUserAccessDeniedForUserAccountBlockedByPasswordLock = 3955
ErrTableWithoutPrimaryKey = 3750
// MariaDB errors.
ErrOnlyOneDefaultPartionAllowed = 4030
@@ -1034,6 +1038,11 @@ const (
ErrGettingNoopVariable = 8145
ErrCannotMigrateSession = 8146
ErrLazyUniquenessCheckFailure = 8147
+ ErrUnsupportedColumnInTTLConfig = 8148
+ ErrTTLColumnCannotDrop = 8149
+ ErrSetTTLOptionForNonTTLTable = 8150
+ ErrTempTableNotAllowedWithTTL = 8151
+ ErrUnsupportedTTLReferencedByFK = 8152
// Error codes used by TiDB ddl package
ErrUnsupportedDDLOperation = 8200
@@ -1082,6 +1091,9 @@ const (
ErrPartitionColumnStatsMissing = 8244
ErrColumnInChange = 8245
ErrDDLSetting = 8246
+ ErrIngestFailed = 8247
+ ErrResourceGroupExists = 8248
+ ErrResourceGroupNotExists = 8249
// TiKV/PD/TiFlash errors.
ErrPDServerTimeout = 9001
diff --git a/errno/errname.go b/errno/errname.go
index 8f5fd8542bd1a..0ba641ad51a55 100644
--- a/errno/errname.go
+++ b/errno/errname.go
@@ -783,7 +783,7 @@ var MySQLErrName = map[uint16]*mysql.ErrMessage{
ErrInnodbIndexCorrupt: mysql.Message("Index corrupt: %s", nil),
ErrInvalidYearColumnLength: mysql.Message("Supports only YEAR or YEAR(4) column", nil),
ErrNotValidPassword: mysql.Message("Your password does not satisfy the current policy requirements", nil),
- ErrMustChangePassword: mysql.Message("You must SET PASSWORD before executing this statement", nil),
+ ErrMustChangePassword: mysql.Message("You must reset your password using ALTER USER statement before executing this statement", nil),
ErrFkNoIndexChild: mysql.Message("Failed to add the foreign key constraint. Missing index for constraint '%s' in the foreign table '%s'", nil),
ErrForeignKeyNoIndexInParent: mysql.Message("Failed to add the foreign key constraint. Missing index for constraint '%s' in the referenced table '%s'", nil),
ErrFkFailAddSystem: mysql.Message("Failed to add the foreign key constraint '%s' to system tables", nil),
@@ -836,10 +836,12 @@ var MySQLErrName = map[uint16]*mysql.ErrMessage{
ErrDependentByGeneratedColumn: mysql.Message("Column '%s' has a generated column dependency.", nil),
ErrGeneratedColumnRefAutoInc: mysql.Message("Generated column '%s' cannot refer to auto-increment column.", nil),
ErrAccountHasBeenLocked: mysql.Message("Access denied for user '%s'@'%s'. Account is locked.", nil),
+ ErUserAccessDeniedForUserAccountBlockedByPasswordLock: mysql.Message("Access denied for user '%s'@'%s'. Account is blocked for %s day(s) (%s day(s) remaining) due to %d consecutive failed logins.", nil),
ErrWarnConflictingHint: mysql.Message("Hint %s is ignored as conflicting/duplicated.", nil),
ErrUnresolvedHintName: mysql.Message("Unresolved name '%s' for %s hint", nil),
ErrForeignKeyCascadeDepthExceeded: mysql.Message("Foreign key cascade delete/update exceeds max depth of %v.", nil),
ErrInvalidFieldSize: mysql.Message("Invalid size for column '%s'.", nil),
+ ErrPasswordExpireAnonymousUser: mysql.Message("The password for anonymous user cannot be expired.", nil),
ErrInvalidArgumentForLogarithm: mysql.Message("Invalid argument for logarithm", nil),
ErrAggregateOrderNonAggQuery: mysql.Message("Expression #%d of ORDER BY contains aggregate function and applies to the result of a non-aggregated query", nil),
ErrIncorrectType: mysql.Message("Incorrect type for argument %s in function %s.", nil),
@@ -887,6 +889,7 @@ var MySQLErrName = map[uint16]*mysql.ErrMessage{
ErrMaxExecTimeExceeded: mysql.Message("Query execution was interrupted, max_execution_time exceeded.", nil),
ErrLockAcquireFailAndNoWaitSet: mysql.Message("Statement aborted because lock(s) could not be acquired immediately and NOWAIT is set.", nil),
ErrNotHintUpdatable: mysql.Message("Variable '%s' cannot be set using SET_VAR hint.", nil),
+ ErrExistsInHistoryPassword: mysql.Message("Cannot use these credentials for '%s@%s' because they contradict the password history policy.", nil),
ErrForeignKeyCannotDropParent: mysql.Message("Cannot drop table '%s' referenced by a foreign key constraint '%s' on table '%s'.", nil),
ErrForeignKeyCannotUseVirtualColumn: mysql.Message("Foreign key '%s' uses virtual column '%s' which is not supported.", nil),
ErrForeignKeyNoColumnInParent: mysql.Message("Failed to add the foreign key constraint. Missing column '%s' for constraint '%s' in the referenced table '%s'", nil),
@@ -905,6 +908,7 @@ var MySQLErrName = map[uint16]*mysql.ErrMessage{
ErrFKIncompatibleColumns: mysql.Message("Referencing column '%s' and referenced column '%s' in foreign key constraint '%s' are incompatible.", nil),
ErrFunctionalIndexRowValueIsNotAllowed: mysql.Message("Expression of expression index '%s' cannot refer to a row value", nil),
ErrDependentByFunctionalIndex: mysql.Message("Column '%s' has an expression index dependency and cannot be dropped or renamed", nil),
+ ErrDependentByPartitionFunctional: mysql.Message("Column '%s' has a partitioning function dependency and cannot be dropped or renamed", nil),
ErrCannotConvertString: mysql.Message("Cannot convert string '%.64s' from %s to %s", nil),
ErrInvalidJSONValueForFuncIndex: mysql.Message("Invalid JSON value for CAST for expression index '%s'", nil),
ErrJSONValueOutOfRangeForFuncIndex: mysql.Message("Out of range JSON value for CAST for expression index '%s'", nil),
@@ -1029,6 +1033,11 @@ var MySQLErrName = map[uint16]*mysql.ErrMessage{
ErrGettingNoopVariable: mysql.Message("variable %s has no effect in TiDB", nil),
ErrCannotMigrateSession: mysql.Message("cannot migrate the current session: %s", nil),
ErrLazyUniquenessCheckFailure: mysql.Message("transaction aborted because lazy uniqueness check is enabled and an error occurred: %s", nil),
+ ErrUnsupportedColumnInTTLConfig: mysql.Message("Field '%-.192s' is of a not supported type for TTL config, expect DATETIME, DATE or TIMESTAMP", nil),
+ ErrTTLColumnCannotDrop: mysql.Message("Cannot drop column '%-.192s': needed in TTL config", nil),
+ ErrSetTTLOptionForNonTTLTable: mysql.Message("Cannot set %s on a table without TTL config", nil),
+ ErrTempTableNotAllowedWithTTL: mysql.Message("Set TTL for temporary table is not allowed", nil),
+ ErrUnsupportedTTLReferencedByFK: mysql.Message("Set TTL for a table referenced by foreign key is not allowed", nil),
ErrWarnOptimizerHintInvalidInteger: mysql.Message("integer value is out of range in '%s'", nil),
ErrWarnOptimizerHintUnsupportedHint: mysql.Message("Optimizer hint %s is not supported by TiDB and is ignored", nil),
@@ -1072,9 +1081,10 @@ var MySQLErrName = map[uint16]*mysql.ErrMessage{
ErrInvalidTableSample: mysql.Message("Invalid TABLESAMPLE: %s", nil),
ErrJSONObjectKeyTooLong: mysql.Message("TiDB does not yet support JSON objects with the key length >= 65536", nil),
- ErrPartitionStatsMissing: mysql.Message("Build table: %s global-level stats failed due to missing partition-level stats", nil),
- ErrPartitionColumnStatsMissing: mysql.Message("Build table: %s global-level stats failed due to missing partition-level column stats, please run analyze table to refresh columns of all partitions", nil),
+ ErrPartitionStatsMissing: mysql.Message("Build global-level stats failed due to missing partition-level stats: %s", nil),
+ ErrPartitionColumnStatsMissing: mysql.Message("Build global-level stats failed due to missing partition-level column stats: %s, please run analyze table to refresh columns of all partitions", nil),
ErrDDLSetting: mysql.Message("Error happened when enable/disable DDL: %s", nil),
+ ErrIngestFailed: mysql.Message("Ingest failed: %s", nil),
ErrNotSupportedWithSem: mysql.Message("Feature '%s' is not supported when security enhanced mode is enabled", nil),
ErrPlacementPolicyCheck: mysql.Message("Placement policy didn't meet the constraint, reason: %s", nil),
@@ -1087,6 +1097,8 @@ var MySQLErrName = map[uint16]*mysql.ErrMessage{
ErrPlacementPolicyWithDirectOption: mysql.Message("Placement policy '%s' can't co-exist with direct placement options", nil),
ErrPlacementPolicyInUse: mysql.Message("Placement policy '%-.192s' is still in use", nil),
ErrOptOnCacheTable: mysql.Message("'%s' is unsupported on cache tables.", nil),
+ ErrResourceGroupExists: mysql.Message("Resource group '%-.192s' already exists", nil),
+ ErrResourceGroupNotExists: mysql.Message("Unknown resource group '%-.192s'", nil),
ErrColumnInChange: mysql.Message("column %s id %d does not exist, this column may have been updated by other DDL ran in parallel", nil),
// TiKV/PD errors.
diff --git a/errors.toml b/errors.toml
index 31a56ef6b1d17..fc782b7dd0b08 100644
--- a/errors.toml
+++ b/errors.toml
@@ -66,6 +66,11 @@ error = '''
restore met a invalid peer
'''
+["BR:EBS:ErrRestoreRegionWithoutPeer"]
+error = '''
+restore met a region without any peer
+'''
+
["BR:EBS:ErrRestoreTotalKVMismatch"]
error = '''
restore total tikvs mismatch
@@ -456,6 +461,11 @@ error = '''
update pd error
'''
+["Lightning:PreCheck:ErrCheckCDCPiTR"]
+error = '''
+check TiCDC/PiTR task error
+'''
+
["Lightning:PreCheck:ErrCheckCSVHeader"]
error = '''
check csv header error
@@ -756,6 +766,11 @@ error = '''
Incorrect usage of %s and %s
'''
+["ddl:1235"]
+error = '''
+This version of TiDB doesn't yet support '%s'
+'''
+
["ddl:1246"]
error = '''
Converting column '%s' from %s to %s
@@ -1161,6 +1176,11 @@ error = '''
Column '%s' has an expression index dependency and cannot be dropped or renamed
'''
+["ddl:3855"]
+error = '''
+Column '%s' has a partitioning function dependency and cannot be dropped or renamed
+'''
+
["ddl:4135"]
error = '''
Sequence '%-.64s.%-.64s' has run out
@@ -1191,6 +1211,31 @@ error = '''
`%s` is unsupported on temporary tables.
'''
+["ddl:8148"]
+error = '''
+Field '%-.192s' is of a not supported type for TTL config, expect DATETIME, DATE or TIMESTAMP
+'''
+
+["ddl:8149"]
+error = '''
+Cannot drop column '%-.192s': needed in TTL config
+'''
+
+["ddl:8150"]
+error = '''
+Cannot set %s on a table without TTL config
+'''
+
+["ddl:8151"]
+error = '''
+Set TTL for temporary table is not allowed
+'''
+
+["ddl:8152"]
+error = '''
+Set TTL for a table referenced by foreign key is not allowed
+'''
+
["ddl:8200"]
error = '''
Unsupported shard_row_id_bits for table with primary key as row id
@@ -1336,6 +1381,11 @@ error = '''
Error happened when enable/disable DDL: %s
'''
+["ddl:8247"]
+error = '''
+Ingest failed: %s
+'''
+
["domain:8027"]
error = '''
Information schema is out of date: schema failed to update in 1 lease, please make sure TiDB can connect to TiKV
@@ -1451,6 +1501,11 @@ error = '''
SET PASSWORD has no significance for user '%-.48s'@'%-.255s' as authentication plugin does not support it.
'''
+["executor:1819"]
+error = '''
+Your password does not satisfy the current policy requirements
+'''
+
["executor:1827"]
error = '''
The password hash doesn't have the expected format. Check if the correct password algorithm is being used with the PASSWORD() function.
@@ -1461,6 +1516,11 @@ error = '''
Foreign key cascade delete/update exceeds max depth of %v.
'''
+["executor:3016"]
+error = '''
+The password for anonymous user cannot be expired.
+'''
+
["executor:3523"]
error = '''
Unknown authorization ID %.256s
@@ -1476,6 +1536,11 @@ error = '''
Recursive query aborted after %d iterations. Try increasing @@cte_max_recursion_depth to a larger value
'''
+["executor:3638"]
+error = '''
+Cannot use these credentials for '%s@%s' because they contradict the password history policy.
+'''
+
["executor:3929"]
error = '''
Dynamic privilege '%s' is not registered with the server.
@@ -1636,6 +1701,21 @@ error = '''
Invalid data type for JSON data in argument %d to function %s; a JSON string or JSON type is required.
'''
+["expression:3752"]
+error = '''
+Value is out of range for expression index '%s' at row %d
+'''
+
+["expression:3903"]
+error = '''
+Invalid JSON value for CAST for expression index '%s'
+'''
+
+["expression:3907"]
+error = '''
+Data too long for expression index '%s'
+'''
+
["expression:8128"]
error = '''
Invalid TABLESAMPLE: %s
@@ -1781,6 +1861,16 @@ error = '''
Unknown placement policy '%-.192s'
'''
+["meta:8248"]
+error = '''
+Resource group '%-.192s' already exists
+'''
+
+["meta:8249"]
+error = '''
+Unknown resource group '%-.192s'
+'''
+
["planner:1044"]
error = '''
Access denied for user '%-.48s'@'%-.255s' to database '%-.192s'
@@ -2231,6 +2321,11 @@ error = '''
There is no such grant defined for user '%-.48s' on host '%-.255s'
'''
+["privilege:1862"]
+error = '''
+Your password has expired. To log in you must change it using a client that supports expired passwords.
+'''
+
["privilege:3530"]
error = '''
%s is not granted to %s
@@ -2346,6 +2441,11 @@ error = '''
Changing schema from '%-.192s' to '%-.192s' is not allowed.
'''
+["schema:1506"]
+error = '''
+Foreign key clause is not yet supported in conjunction with partitioning
+'''
+
["schema:1822"]
error = '''
Failed to add the foreign key constraint. Missing index for constraint '%s' in the referenced table '%s'
@@ -2416,6 +2516,16 @@ error = '''
Unknown placement policy '%-.192s'
'''
+["schema:8248"]
+error = '''
+Resource group '%-.192s' already exists
+'''
+
+["schema:8249"]
+error = '''
+Unknown resource group '%-.192s'
+'''
+
["session:8002"]
error = '''
[%d] can not retry select for update statement
@@ -2726,6 +2836,11 @@ error = '''
Datetime function: %-.32s field overflow
'''
+["types:1525"]
+error = '''
+Incorrect %-.32s value: '%-.128s'
+'''
+
["types:1690"]
error = '''
%s value is out of range in '%s'
@@ -2773,12 +2888,12 @@ TiDB does not yet support JSON objects with the key length >= 65536
["types:8131"]
error = '''
-Build table: %s global-level stats failed due to missing partition-level stats
+Build global-level stats failed due to missing partition-level stats: %s
'''
["types:8244"]
error = '''
-Build table: %s global-level stats failed due to missing partition-level column stats, please run analyze table to refresh columns of all partitions
+Build global-level stats failed due to missing partition-level column stats: %s, please run analyze table to refresh columns of all partitions
'''
["variable:1193"]
diff --git a/executor/BUILD.bazel b/executor/BUILD.bazel
index 6a300dbeaf654..35703034b1214 100644
--- a/executor/BUILD.bazel
+++ b/executor/BUILD.bazel
@@ -121,9 +121,11 @@ go_library(
"//parser/ast",
"//parser/auth",
"//parser/charset",
+ "//parser/format",
"//parser/model",
"//parser/mysql",
"//parser/terror",
+ "//parser/tidb",
"//parser/types",
"//planner",
"//planner/core",
@@ -177,10 +179,12 @@ go_library(
"//util/mathutil",
"//util/memory",
"//util/mvmap",
+ "//util/password-validation",
"//util/pdapi",
"//util/plancodec",
"//util/printer",
"//util/ranger",
+ "//util/replayer",
"//util/resourcegrouptag",
"//util/rowDecoder",
"//util/rowcodec",
@@ -188,6 +192,7 @@ go_library(
"//util/servermemorylimit",
"//util/set",
"//util/size",
+ "//util/slice",
"//util/sqlexec",
"//util/stmtsummary",
"//util/stringutil",
@@ -245,7 +250,7 @@ go_library(
go_test(
name = "executor_test",
- timeout = "moderate",
+ timeout = "short",
srcs = [
"adapter_test.go",
"admin_test.go",
@@ -267,7 +272,6 @@ go_test(
"delete_test.go",
"distsql_test.go",
"executor_failpoint_test.go",
- "executor_issue_test.go",
"executor_pkg_test.go",
"executor_required_rows_test.go",
"executor_test.go",
@@ -277,6 +281,7 @@ go_test(
"explainfor_test.go",
"grant_test.go",
"hash_table_test.go",
+ "historical_stats_test.go",
"hot_regions_history_table_test.go",
"index_advise_test.go",
"index_lookup_join_test.go",
@@ -328,7 +333,6 @@ go_test(
"utils_test.go",
"window_test.go",
"write_concurrent_test.go",
- "write_test.go",
],
data = glob(["testdata/**"]),
embed = [":executor"],
@@ -356,7 +360,6 @@ go_test(
"//parser",
"//parser/ast",
"//parser/auth",
- "//parser/charset",
"//parser/model",
"//parser/mysql",
"//parser/terror",
@@ -370,6 +373,7 @@ go_test(
"//sessionctx/binloginfo",
"//sessionctx/stmtctx",
"//sessionctx/variable",
+ "//sessionctx/variable/featuretag/distributereorg",
"//sessiontxn",
"//sessiontxn/staleread",
"//statistics",
@@ -409,6 +413,7 @@ go_test(
"//util/pdapi",
"//util/plancodec",
"//util/ranger",
+ "//util/replayer",
"//util/rowcodec",
"//util/set",
"//util/sqlexec",
diff --git a/executor/adapter.go b/executor/adapter.go
index db9fbbaa929e0..444c358f96c97 100644
--- a/executor/adapter.go
+++ b/executor/adapter.go
@@ -18,6 +18,7 @@ import (
"bytes"
"context"
"fmt"
+ "math"
"runtime/trace"
"strconv"
"strings"
@@ -28,6 +29,7 @@ import (
"github.com/pingcap/errors"
"github.com/pingcap/failpoint"
"github.com/pingcap/log"
+ "github.com/pingcap/tidb/bindinfo"
"github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/ddl/placement"
"github.com/pingcap/tidb/domain"
@@ -57,6 +59,7 @@ import (
"github.com/pingcap/tidb/util/mathutil"
"github.com/pingcap/tidb/util/memory"
"github.com/pingcap/tidb/util/plancodec"
+ "github.com/pingcap/tidb/util/replayer"
"github.com/pingcap/tidb/util/sqlexec"
"github.com/pingcap/tidb/util/stmtsummary"
"github.com/pingcap/tidb/util/stringutil"
@@ -198,6 +201,7 @@ type TelemetryInfo struct {
UseFlashbackToCluster bool
PartitionTelemetry *PartitionTelemetryInfo
AccountLockTelemetry *AccountLockTelemetryInfo
+ UseIndexMerge bool
}
// PartitionTelemetryInfo records table partition telemetry information during execution.
@@ -215,6 +219,7 @@ type PartitionTelemetryInfo struct {
UseCreateIntervalPartition bool
UseAddIntervalPartition bool
UseDropIntervalPartition bool
+ UseCompactTablePartition bool
}
// AccountLockTelemetryInfo records account lock/unlock information during execution
@@ -293,8 +298,12 @@ func (a *ExecStmt) PointGet(ctx context.Context) (*recordSet, error) {
}
a.Ctx.GetSessionVars().StmtCtx.Priority = kv.PriorityHigh
+ var pointExecutor *PointGetExecutor
+ useMaxTS := startTs == math.MaxUint64
+
// try to reuse point get executor
- if a.PsStmt.Executor != nil {
+ // We should only use the cached the executor when the startTS is MaxUint64
+ if a.PsStmt.Executor != nil && useMaxTS {
exec, ok := a.PsStmt.Executor.(*PointGetExecutor)
if !ok {
logutil.Logger(ctx).Error("invalid executor type, not PointGetExecutor for point get path")
@@ -304,17 +313,21 @@ func (a *ExecStmt) PointGet(ctx context.Context) (*recordSet, error) {
pointGetPlan := a.PsStmt.PreparedAst.CachedPlan.(*plannercore.PointGetPlan)
exec.Init(pointGetPlan)
a.PsStmt.Executor = exec
+ pointExecutor = exec
}
}
- if a.PsStmt.Executor == nil {
+
+ if pointExecutor == nil {
b := newExecutorBuilder(a.Ctx, a.InfoSchema, a.Ti)
- newExecutor := b.build(a.Plan)
+ pointExecutor = b.build(a.Plan).(*PointGetExecutor)
if b.err != nil {
return nil, b.err
}
- a.PsStmt.Executor = newExecutor
+
+ if useMaxTS {
+ a.PsStmt.Executor = pointExecutor
+ }
}
- pointExecutor := a.PsStmt.Executor.(*PointGetExecutor)
if err = pointExecutor.Open(ctx); err != nil {
terror.Call(pointExecutor.Close)
@@ -467,8 +480,20 @@ func (a *ExecStmt) Exec(ctx context.Context) (_ sqlexec.RecordSet, err error) {
if !ok {
oriIso = "REPEATABLE-READ"
}
- terror.Log(sctx.GetSessionVars().SetSystemVar(variable.TiDBBuildStatsConcurrency, "1"))
- sctx.GetSessionVars().SetDistSQLScanConcurrency(1)
+ autoConcurrency, err1 := sctx.GetSessionVars().GetSessionOrGlobalSystemVar(ctx, variable.TiDBAutoBuildStatsConcurrency)
+ terror.Log(err1)
+ if err1 == nil {
+ terror.Log(sctx.GetSessionVars().SetSystemVar(variable.TiDBBuildStatsConcurrency, autoConcurrency))
+ }
+ sVal, err2 := sctx.GetSessionVars().GetSessionOrGlobalSystemVar(ctx, variable.TiDBSysProcScanConcurrency)
+ terror.Log(err2)
+ if err2 == nil {
+ concurrency, err3 := strconv.ParseInt(sVal, 10, 64)
+ terror.Log(err3)
+ if err3 == nil {
+ sctx.GetSessionVars().SetDistSQLScanConcurrency(int(concurrency))
+ }
+ }
sctx.GetSessionVars().SetIndexSerialScanConcurrency(1)
terror.Log(sctx.GetSessionVars().SetSystemVar(variable.TxnIsolation, ast.ReadCommitted))
defer func() {
@@ -591,10 +616,6 @@ func (a *ExecStmt) handleForeignKeyTrigger(ctx context.Context, e Executor, dept
if !ok {
return nil
}
- a.Ctx.GetSessionVars().StmtCtx.InHandleForeignKeyTrigger = true
- defer func() {
- a.Ctx.GetSessionVars().StmtCtx.InHandleForeignKeyTrigger = false
- }()
fkChecks := exec.GetFKChecks()
for _, fkCheck := range fkChecks {
err := fkCheck.doCheck(ctx)
@@ -624,12 +645,26 @@ func (a *ExecStmt) handleForeignKeyTrigger(ctx context.Context, e Executor, dept
// 4. `StmtCommit` to commit the kv change to transaction mem-buffer.
// 5. If the foreign key cascade behaviour has more fk value need to be cascaded, go to step 1.
func (a *ExecStmt) handleForeignKeyCascade(ctx context.Context, fkc *FKCascadeExec, depth int) error {
+ if a.Ctx.GetSessionVars().StmtCtx.RuntimeStatsColl != nil {
+ fkc.stats = &FKCascadeRuntimeStats{}
+ defer a.Ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(fkc.plan.ID(), fkc.stats)
+ }
if len(fkc.fkValues) == 0 && len(fkc.fkUpdatedValuesMap) == 0 {
return nil
}
if depth > maxForeignKeyCascadeDepth {
return ErrForeignKeyCascadeDepthExceeded.GenWithStackByArgs(maxForeignKeyCascadeDepth)
}
+ a.Ctx.GetSessionVars().StmtCtx.InHandleForeignKeyTrigger = true
+ defer func() {
+ a.Ctx.GetSessionVars().StmtCtx.InHandleForeignKeyTrigger = false
+ }()
+ if fkc.stats != nil {
+ start := time.Now()
+ defer func() {
+ fkc.stats.Total += time.Since(start)
+ }()
+ }
for {
e, err := fkc.buildExecutor(ctx)
if err != nil || e == nil {
@@ -1332,6 +1367,18 @@ func (a *ExecStmt) observePhaseDurations(internal bool, commitDetails *util.Comm
// 4. update the `PrevStmt` in session variable.
// 5. reset `DurationParse` in session variable.
func (a *ExecStmt) FinishExecuteStmt(txnTS uint64, err error, hasMoreResults bool) {
+ se := a.Ctx
+ if !se.GetSessionVars().InRestrictedSQL && se.GetSessionVars().IsPlanReplayerCaptureEnabled() {
+ stmtNode := a.GetStmtNode()
+ if se.GetSessionVars().EnablePlanReplayedContinuesCapture {
+ if checkPlanReplayerContinuesCaptureValidStmt(stmtNode) {
+ checkPlanReplayerContinuesCapture(se, stmtNode, txnTS)
+ }
+ } else {
+ checkPlanReplayerCaptureTask(se, stmtNode, txnTS)
+ }
+ }
+
sessVars := a.Ctx.GetSessionVars()
execDetail := sessVars.StmtCtx.GetExecDetails()
// Attach commit/lockKeys runtime stats to executor runtime stats.
@@ -1383,6 +1430,10 @@ func (a *ExecStmt) FinishExecuteStmt(txnTS uint64, err error, hasMoreResults boo
sessVars.DurationParse = 0
// Clean the stale read flag when statement execution finish
sessVars.StmtCtx.IsStaleness = false
+ // Clean the MPP query info
+ sessVars.StmtCtx.MPPQueryInfo.QueryID.Store(0)
+ sessVars.StmtCtx.MPPQueryInfo.QueryTS.Store(0)
+ sessVars.StmtCtx.MPPQueryInfo.AllocatedMPPTaskID.Store(0)
if sessVars.StmtCtx.ReadFromTableCache {
metrics.ReadFromTableCacheCounter.Inc()
@@ -1503,6 +1554,7 @@ func (a *ExecStmt) LogSlowQuery(txnTS uint64, succ bool, hasMoreResults bool) {
IsWriteCacheTable: stmtCtx.WaitLockLeaseTime > 0,
StatsLoadStatus: convertStatusIntoString(a.Ctx, stmtCtx.StatsLoadStatus),
IsSyncStatsFailed: stmtCtx.IsSyncStatsFailed,
+ Warnings: collectWarningsForSlowLog(stmtCtx),
}
failpoint.Inject("assertSyncStatsFailed", func(val failpoint.Value) {
if val.(bool) {
@@ -1514,7 +1566,7 @@ func (a *ExecStmt) LogSlowQuery(txnTS uint64, succ bool, hasMoreResults bool) {
if a.retryCount > 0 {
slowItems.ExecRetryTime = costTime - sessVars.DurationParse - sessVars.DurationCompile - time.Since(a.retryStartTime)
}
- if _, ok := a.StmtNode.(*ast.CommitStmt); ok {
+ if _, ok := a.StmtNode.(*ast.CommitStmt); ok && sessVars.PrevStmt != nil {
slowItems.PrevStmt = sessVars.PrevStmt.String()
}
slowLog := sessVars.SlowLogFormat(slowItems)
@@ -1558,6 +1610,33 @@ func (a *ExecStmt) LogSlowQuery(txnTS uint64, succ bool, hasMoreResults bool) {
}
}
+func extractMsgFromSQLWarn(SQLWarn *stmtctx.SQLWarn) string {
+ // Currently, this function is only used in collectWarningsForSlowLog.
+ // collectWarningsForSlowLog can make sure SQLWarn is not nil so no need to add a nil check here.
+ warn := errors.Cause(SQLWarn.Err)
+ if x, ok := warn.(*terror.Error); ok && x != nil {
+ sqlErr := terror.ToSQLError(x)
+ return sqlErr.Message
+ }
+ return warn.Error()
+}
+
+func collectWarningsForSlowLog(stmtCtx *stmtctx.StatementContext) []variable.JSONSQLWarnForSlowLog {
+ warnings := stmtCtx.GetWarnings()
+ extraWarnings := stmtCtx.GetExtraWarnings()
+ res := make([]variable.JSONSQLWarnForSlowLog, len(warnings)+len(extraWarnings))
+ for i := range warnings {
+ res[i].Level = warnings[i].Level
+ res[i].Message = extractMsgFromSQLWarn(&warnings[i])
+ }
+ for i := range extraWarnings {
+ res[len(warnings)+i].Level = extraWarnings[i].Level
+ res[len(warnings)+i].Message = extractMsgFromSQLWarn(&extraWarnings[i])
+ res[len(warnings)+i].IsExtra = true
+ }
+ return res
+}
+
// GetResultRowsCount gets the count of the statement result rows.
func GetResultRowsCount(stmtCtx *stmtctx.StatementContext, p plannercore.Plan) int64 {
runtimeStatsColl := stmtCtx.RuntimeStatsColl
@@ -1629,6 +1708,11 @@ func getPlanDigest(stmtCtx *stmtctx.StatementContext) (string, *parser.Digest) {
return normalized, planDigest
}
+// GetEncodedPlan returned same as getEncodedPlan
+func GetEncodedPlan(stmtCtx *stmtctx.StatementContext, genHint bool) (encodedPlan, hintStr string) {
+ return getEncodedPlan(stmtCtx, genHint)
+}
+
// getEncodedPlan gets the encoded plan, and generates the hint string if indicated.
func getEncodedPlan(stmtCtx *stmtctx.StatementContext, genHint bool) (encodedPlan, hintStr string) {
var hintSet bool
@@ -1911,3 +1995,86 @@ func convertStatusIntoString(sctx sessionctx.Context, statsLoadStatus map[model.
}
return r
}
+
+// only allow select/delete/update/insert/execute stmt captured by continues capture
+func checkPlanReplayerContinuesCaptureValidStmt(stmtNode ast.StmtNode) bool {
+ switch stmtNode.(type) {
+ case *ast.SelectStmt, *ast.DeleteStmt, *ast.UpdateStmt, *ast.InsertStmt, *ast.ExecuteStmt:
+ return true
+ default:
+ return false
+ }
+}
+
+func checkPlanReplayerCaptureTask(sctx sessionctx.Context, stmtNode ast.StmtNode, startTS uint64) {
+ dom := domain.GetDomain(sctx)
+ if dom == nil {
+ return
+ }
+ handle := dom.GetPlanReplayerHandle()
+ if handle == nil {
+ return
+ }
+ tasks := handle.GetTasks()
+ _, sqlDigest := sctx.GetSessionVars().StmtCtx.SQLDigest()
+ _, planDigest := sctx.GetSessionVars().StmtCtx.GetPlanDigest()
+ key := replayer.PlanReplayerTaskKey{
+ SQLDigest: sqlDigest.String(),
+ PlanDigest: planDigest.String(),
+ }
+ for _, task := range tasks {
+ if task.SQLDigest == sqlDigest.String() {
+ if task.PlanDigest == "*" || task.PlanDigest == planDigest.String() {
+ sendPlanReplayerDumpTask(key, sctx, stmtNode, startTS, false)
+ return
+ }
+ }
+ }
+}
+
+func checkPlanReplayerContinuesCapture(sctx sessionctx.Context, stmtNode ast.StmtNode, startTS uint64) {
+ dom := domain.GetDomain(sctx)
+ if dom == nil {
+ return
+ }
+ handle := dom.GetPlanReplayerHandle()
+ if handle == nil {
+ return
+ }
+ _, sqlDigest := sctx.GetSessionVars().StmtCtx.SQLDigest()
+ _, planDigest := sctx.GetSessionVars().StmtCtx.GetPlanDigest()
+ key := replayer.PlanReplayerTaskKey{
+ SQLDigest: sqlDigest.String(),
+ PlanDigest: planDigest.String(),
+ }
+ existed := sctx.GetSessionVars().CheckPlanReplayerFinishedTaskKey(key)
+ if existed {
+ return
+ }
+ sendPlanReplayerDumpTask(key, sctx, stmtNode, startTS, true)
+ sctx.GetSessionVars().AddPlanReplayerFinishedTaskKey(key)
+}
+
+func sendPlanReplayerDumpTask(key replayer.PlanReplayerTaskKey, sctx sessionctx.Context, stmtNode ast.StmtNode,
+ startTS uint64, isContinuesCapture bool) {
+ stmtCtx := sctx.GetSessionVars().StmtCtx
+ handle := sctx.Value(bindinfo.SessionBindInfoKeyType).(*bindinfo.SessionHandle)
+ dumpTask := &domain.PlanReplayerDumpTask{
+ PlanReplayerTaskKey: key,
+ StartTS: startTS,
+ EncodePlan: GetEncodedPlan,
+ TblStats: stmtCtx.TableStats,
+ SessionBindings: handle.GetAllBindRecord(),
+ SessionVars: sctx.GetSessionVars(),
+ ExecStmts: []ast.StmtNode{stmtNode},
+ Analyze: false,
+ IsCapture: true,
+ IsContinuesCapture: isContinuesCapture,
+ }
+ if _, ok := stmtNode.(*ast.ExecuteStmt); ok {
+ nsql, _ := sctx.GetSessionVars().StmtCtx.SQLDigest()
+ dumpTask.InExecute = true
+ dumpTask.NormalizedSQL = nsql
+ }
+ domain.GetDomain(sctx).GetPlanReplayerHandle().SendTask(dumpTask)
+}
diff --git a/executor/admin.go b/executor/admin.go
index 6e549e246da42..21378b21b1677 100644
--- a/executor/admin.go
+++ b/executor/admin.go
@@ -151,7 +151,7 @@ func (e *CheckIndexRangeExec) buildDAGPB() (*tipb.DAGRequest, error) {
execPB := e.constructIndexScanPB()
dagReq.Executors = append(dagReq.Executors, execPB)
- err := plannercore.SetPBColumnsDefaultValue(e.ctx, dagReq.Executors[0].IdxScan.Columns, e.cols)
+ err := tables.SetPBColumnsDefaultValue(e.ctx, dagReq.Executors[0].IdxScan.Columns, e.cols)
if err != nil {
return nil, err
}
@@ -163,7 +163,7 @@ func (e *CheckIndexRangeExec) constructIndexScanPB() *tipb.Executor {
idxExec := &tipb.IndexScan{
TableId: e.table.ID,
IndexId: e.index.ID,
- Columns: util.ColumnsToProto(e.cols, e.table.PKIsHandle),
+ Columns: util.ColumnsToProto(e.cols, e.table.PKIsHandle, true),
}
return &tipb.Executor{Tp: tipb.ExecType_TypeIndexScan, IdxScan: idxExec}
}
@@ -227,7 +227,7 @@ func (e *RecoverIndexExec) Open(ctx context.Context) error {
func (e *RecoverIndexExec) constructTableScanPB(tblInfo *model.TableInfo, colInfos []*model.ColumnInfo) (*tipb.Executor, error) {
tblScan := tables.BuildTableScanFromInfos(tblInfo, colInfos)
tblScan.TableId = e.physicalID
- err := plannercore.SetPBColumnsDefaultValue(e.ctx, tblScan.Columns, colInfos)
+ err := tables.SetPBColumnsDefaultValue(e.ctx, tblScan.Columns, colInfos)
return &tipb.Executor{Tp: tipb.ExecType_TypeTableScan, TblScan: tblScan}, err
}
@@ -265,10 +265,11 @@ func (e *RecoverIndexExec) buildTableScan(ctx context.Context, txn kv.Transactio
return nil, err
}
var builder distsql.RequestBuilder
- builder.KeyRanges, err = buildRecoverIndexKeyRanges(e.ctx.GetSessionVars().StmtCtx, e.physicalID, startHandle)
+ keyRanges, err := buildRecoverIndexKeyRanges(e.ctx.GetSessionVars().StmtCtx, e.physicalID, startHandle)
if err != nil {
return nil, err
}
+ builder.KeyRanges = kv.NewNonParitionedKeyRanges(keyRanges)
kvReq, err := builder.
SetDAGRequest(dagPB).
SetStartTS(txn.StartTS()).
@@ -380,7 +381,7 @@ func (e *RecoverIndexExec) fetchRecoverRows(ctx context.Context, srcResult dists
}
idxVals := extractIdxVals(row, e.idxValsBufs[result.scanRowCount], e.colFieldTypes, idxValLen)
e.idxValsBufs[result.scanRowCount] = idxVals
- rsData := tables.TryGetHandleRestoredDataWrapper(e.table, plannercore.GetCommonHandleDatum(e.handleCols, row), nil, e.index.Meta())
+ rsData := tables.TryGetHandleRestoredDataWrapper(e.table.Meta(), plannercore.GetCommonHandleDatum(e.handleCols, row), nil, e.index.Meta())
e.recoverRows = append(e.recoverRows, recoverRows{handle: handle, idxVals: idxVals, rsData: rsData, skip: false})
result.scanRowCount++
result.currentHandle = handle
@@ -737,7 +738,16 @@ func (e *CleanupIndexExec) buildIndexScan(ctx context.Context, txn kv.Transactio
sc := e.ctx.GetSessionVars().StmtCtx
var builder distsql.RequestBuilder
ranges := ranger.FullRange()
- kvReq, err := builder.SetIndexRanges(sc, e.physicalID, e.index.Meta().ID, ranges).
+ keyRanges, err := distsql.IndexRangesToKVRanges(sc, e.physicalID, e.index.Meta().ID, ranges, nil)
+ if err != nil {
+ return nil, err
+ }
+ err = keyRanges.SetToNonPartitioned()
+ if err != nil {
+ return nil, err
+ }
+ keyRanges.FirstPartitionRange()[0].StartKey = kv.Key(e.lastIdxKey).PrefixNext()
+ kvReq, err := builder.SetWrappedKeyRanges(keyRanges).
SetDAGRequest(dagPB).
SetStartTS(txn.StartTS()).
SetKeepOrder(true).
@@ -748,7 +758,6 @@ func (e *CleanupIndexExec) buildIndexScan(ctx context.Context, txn kv.Transactio
return nil, err
}
- kvReq.KeyRanges[0].StartKey = kv.Key(e.lastIdxKey).PrefixNext()
kvReq.Concurrency = 1
result, err := distsql.Select(ctx, e.ctx, kvReq, e.getIdxColTypes(), statistics.NewQueryFeedback(0, nil, 0, false))
if err != nil {
@@ -790,7 +799,7 @@ func (e *CleanupIndexExec) buildIdxDAGPB(txn kv.Transaction) (*tipb.DAGRequest,
execPB := e.constructIndexScanPB()
dagReq.Executors = append(dagReq.Executors, execPB)
- err := plannercore.SetPBColumnsDefaultValue(e.ctx, dagReq.Executors[0].IdxScan.Columns, e.columns)
+ err := tables.SetPBColumnsDefaultValue(e.ctx, dagReq.Executors[0].IdxScan.Columns, e.columns)
if err != nil {
return nil, err
}
@@ -805,7 +814,7 @@ func (e *CleanupIndexExec) constructIndexScanPB() *tipb.Executor {
idxExec := &tipb.IndexScan{
TableId: e.physicalID,
IndexId: e.index.Meta().ID,
- Columns: util.ColumnsToProto(e.columns, e.table.Meta().PKIsHandle),
+ Columns: util.ColumnsToProto(e.columns, e.table.Meta().PKIsHandle, true),
PrimaryColumnIds: tables.TryGetCommonPkColumnIds(e.table.Meta()),
}
return &tipb.Executor{Tp: tipb.ExecType_TypeIndexScan, IdxScan: idxExec}
diff --git a/executor/admin_test.go b/executor/admin_test.go
index 23b57e9c316b6..cd5c0664d031a 100644
--- a/executor/admin_test.go
+++ b/executor/admin_test.go
@@ -133,7 +133,7 @@ func TestAdminCheckIndexInLocalTemporaryMode(t *testing.T) {
tk.MustExec("drop table if exists local_temporary_admin_test;")
tk.MustExec("create temporary table local_temporary_admin_test (c1 int, c2 int, c3 int default 1, primary key (c1), index (c1), unique key(c2))")
tk.MustExec("insert local_temporary_admin_test (c1, c2) values (1,1), (2,2), (3,3);")
- _, err := tk.Exec("admin check table local_temporary_admin_test;")
+ err := tk.ExecToErr("admin check table local_temporary_admin_test;")
require.EqualError(t, err, core.ErrOptOnTemporaryTable.GenWithStackByArgs("admin check table").Error())
tk.MustExec("drop table if exists temporary_admin_test;")
@@ -843,6 +843,65 @@ func TestClusteredAdminCleanupIndex(t *testing.T) {
tk.MustExec("admin check table admin_test")
}
+func TestAdminCheckTableWithMultiValuedIndex(t *testing.T) {
+ store, domain := testkit.CreateMockStoreAndDomain(t)
+
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(pk int primary key, a json, index idx((cast(a as signed array))))")
+ tk.MustExec("insert into t values (0, '[0,1,2]')")
+ tk.MustExec("insert into t values (1, '[1,2,3]')")
+ tk.MustExec("insert into t values (2, '[2,3,4]')")
+ tk.MustExec("insert into t values (3, '[3,4,5]')")
+ tk.MustExec("insert into t values (4, '[4,5,6]')")
+ tk.MustExec("admin check table t")
+
+ // Make some corrupted index. Build the index information.
+ ctx := mock.NewContext()
+ ctx.Store = store
+ is := domain.InfoSchema()
+ dbName := model.NewCIStr("test")
+ tblName := model.NewCIStr("t")
+ tbl, err := is.TableByName(dbName, tblName)
+ require.NoError(t, err)
+ tblInfo := tbl.Meta()
+ idxInfo := tblInfo.Indices[0]
+ sc := ctx.GetSessionVars().StmtCtx
+ tk.Session().GetSessionVars().IndexLookupSize = 3
+ tk.Session().GetSessionVars().MaxChunkSize = 3
+
+ cpIdx := idxInfo.Clone()
+ cpIdx.MVIndex = false
+ indexOpr := tables.NewIndex(tblInfo.ID, tblInfo, cpIdx)
+ txn, err := store.Begin()
+ require.NoError(t, err)
+ err = indexOpr.Delete(sc, txn, types.MakeDatums(0), kv.IntHandle(0))
+ require.NoError(t, err)
+ err = txn.Commit(context.Background())
+ require.NoError(t, err)
+ err = tk.ExecToErr("admin check table t")
+ require.Error(t, err)
+ require.True(t, consistency.ErrAdminCheckInconsistent.Equal(err))
+
+ txn, err = store.Begin()
+ require.NoError(t, err)
+ _, err = indexOpr.Create(ctx, txn, types.MakeDatums(0), kv.IntHandle(0), nil)
+ require.NoError(t, err)
+ err = txn.Commit(context.Background())
+ require.NoError(t, err)
+ tk.MustExec("admin check table t")
+
+ txn, err = store.Begin()
+ require.NoError(t, err)
+ _, err = indexOpr.Create(ctx, txn, types.MakeDatums(9), kv.IntHandle(9), nil)
+ require.NoError(t, err)
+ err = txn.Commit(context.Background())
+ require.NoError(t, err)
+ err = tk.ExecToErr("admin check table t")
+ require.Error(t, err)
+}
+
func TestAdminCheckPartitionTableFailed(t *testing.T) {
store, domain := testkit.CreateMockStoreAndDomain(t)
@@ -1095,9 +1154,7 @@ func TestCheckFailReport(t *testing.T) {
require.NoError(t, txn.Commit(tk.ctx))
ctx, hook := withLogHook(tk.ctx, t, "inconsistency")
- _, err = tk.Exec(ctx, "admin check table admin_test")
- require.Error(t, err)
- require.Equal(t, "[admin:8223]data inconsistency in table: admin_test, index: uk1, handle: 1, index-values:\"\" != record-values:\"handle: 1, values: [KindInt64 1]\"", err.Error())
+ tk.MustGetErrMsg(ctx, "admin check table admin_test", "[admin:8223]data inconsistency in table: admin_test, index: uk1, handle: 1, index-values:\"\" != record-values:\"handle: 1, values: [KindInt64 1]\"")
hook.checkLogCount(t, 1)
hook.logs[0].checkMsg(t, "admin check found data inconsistency")
hook.logs[0].checkField(t,
@@ -1119,9 +1176,7 @@ func TestCheckFailReport(t *testing.T) {
require.NoError(t, txn.Commit(tk.ctx))
ctx, hook := withLogHook(tk.ctx, t, "inconsistency")
- _, err = tk.Exec(ctx, "admin check table admin_test")
- require.Error(t, err)
- require.Equal(t, "[admin:8223]data inconsistency in table: admin_test, index: k2, handle: 1, index-values:\"\" != record-values:\"handle: 1, values: [KindString 10]\"", err.Error())
+ tk.MustGetErrMsg(ctx, "admin check table admin_test", "[admin:8223]data inconsistency in table: admin_test, index: k2, handle: 1, index-values:\"\" != record-values:\"handle: 1, values: [KindString 10]\"")
hook.checkLogCount(t, 1)
hook.logs[0].checkMsg(t, "admin check found data inconsistency")
hook.logs[0].checkField(t,
@@ -1143,9 +1198,8 @@ func TestCheckFailReport(t *testing.T) {
require.NoError(t, txn.Commit(tk.ctx))
ctx, hook := withLogHook(tk.ctx, t, "inconsistency")
- _, err = tk.Exec(ctx, "admin check table admin_test")
- require.Error(t, err)
- require.Equal(t, "[admin:8223]data inconsistency in table: admin_test, index: k2, handle: 1, index-values:\"handle: 1, values: [KindString 100 KindInt64 1]\" != record-values:\"\"", err.Error())
+ tk.MustGetErrMsg(ctx, "admin check table admin_test",
+ "[admin:8223]data inconsistency in table: admin_test, index: k2, handle: 1, index-values:\"handle: 1, values: [KindString 100 KindInt64 1]\" != record-values:\"\"")
hook.checkLogCount(t, 1)
logEntry := hook.logs[0]
logEntry.checkMsg(t, "admin check found data inconsistency")
@@ -1188,9 +1242,8 @@ func TestCheckFailReport(t *testing.T) {
require.NoError(t, txn.Commit(tk.ctx))
ctx, hook := withLogHook(tk.ctx, t, "inconsistency")
- _, err = tk.Exec(ctx, "admin check table admin_test")
- require.Error(t, err)
- require.Equal(t, "[admin:8223]data inconsistency in table: admin_test, index: uk1, handle: 1, index-values:\"handle: 1, values: [KindInt64 10 KindInt64 1]\" != record-values:\"\"", err.Error())
+ tk.MustGetErrMsg(ctx, "admin check table admin_test",
+ "[admin:8223]data inconsistency in table: admin_test, index: uk1, handle: 1, index-values:\"handle: 1, values: [KindInt64 10 KindInt64 1]\" != record-values:\"\"")
hook.checkLogCount(t, 1)
logEntry := hook.logs[0]
logEntry.checkMsg(t, "admin check found data inconsistency")
@@ -1233,9 +1286,8 @@ func TestCheckFailReport(t *testing.T) {
require.NoError(t, err)
require.NoError(t, txn.Commit(tk.ctx))
ctx, hook := withLogHook(tk.ctx, t, "inconsistency")
- _, err = tk.Exec(ctx, "admin check table admin_test")
- require.Error(t, err)
- require.Equal(t, "[executor:8134]data inconsistency in table: admin_test, index: uk1, col: c2, handle: \"1\", index-values:\"KindInt64 20\" != record-values:\"KindInt64 10\", compare err:", err.Error())
+ tk.MustGetErrMsg(ctx, "admin check table admin_test",
+ "[executor:8134]data inconsistency in table: admin_test, index: uk1, col: c2, handle: \"1\", index-values:\"KindInt64 20\" != record-values:\"KindInt64 10\", compare err:")
hook.checkLogCount(t, 1)
logEntry := hook.logs[0]
logEntry.checkMsg(t, "admin check found data inconsistency")
@@ -1261,9 +1313,8 @@ func TestCheckFailReport(t *testing.T) {
require.NoError(t, err)
require.NoError(t, txn.Commit(tk.ctx))
ctx, hook := withLogHook(tk.ctx, t, "inconsistency")
- _, err = tk.Exec(ctx, "admin check table admin_test")
- require.Error(t, err)
- require.Equal(t, "[executor:8134]data inconsistency in table: admin_test, index: k2, col: c3, handle: \"1\", index-values:\"KindString 200\" != record-values:\"KindString 100\", compare err:", err.Error())
+ tk.MustGetErrMsg(ctx, "admin check table admin_test",
+ "[executor:8134]data inconsistency in table: admin_test, index: k2, col: c3, handle: \"1\", index-values:\"KindString 200\" != record-values:\"KindString 100\", compare err:")
hook.checkLogCount(t, 1)
logEntry := hook.logs[0]
logEntry.checkMsg(t, "admin check found data inconsistency")
@@ -1301,12 +1352,10 @@ func TestCheckFailReport(t *testing.T) {
// TODO(tiancaiamao): admin check doesn't support the chunk protocol.
// Remove this after https://github.com/pingcap/tidb/issues/35156
- _, err = tk.Exec(ctx, "set @@tidb_enable_chunk_rpc = off")
- require.NoError(t, err)
+ tk.MustExec(ctx, "set @@tidb_enable_chunk_rpc = off")
- _, err = tk.Exec(ctx, "admin check table admin_test")
- require.Error(t, err)
- require.Equal(t, `[admin:8223]data inconsistency in table: admin_test, index: uk1, handle: 282574488403969, index-values:"handle: 282574488403969, values: [KindInt64 282578800083201 KindInt64 282574488403969]" != record-values:""`, err.Error())
+ tk.MustGetErrMsg(ctx, "admin check table admin_test",
+ `[admin:8223]data inconsistency in table: admin_test, index: uk1, handle: 282574488403969, index-values:"handle: 282574488403969, values: [KindInt64 282578800083201 KindInt64 282574488403969]" != record-values:""`)
hook.checkLogCount(t, 1)
logEntry := hook.logs[0]
logEntry.checkMsg(t, "admin check found data inconsistency")
diff --git a/executor/aggfuncs/BUILD.bazel b/executor/aggfuncs/BUILD.bazel
index 5c01950eef836..a1d4a57dde1f5 100644
--- a/executor/aggfuncs/BUILD.bazel
+++ b/executor/aggfuncs/BUILD.bazel
@@ -89,7 +89,7 @@ go_test(
embed = [":aggfuncs"],
flaky = True,
race = "on",
- shard_count = 10,
+ shard_count = 20,
deps = [
"//expression",
"//expression/aggregation",
diff --git a/executor/aggregate.go b/executor/aggregate.go
index 771d928c9bbad..30b86164ec371 100644
--- a/executor/aggregate.go
+++ b/executor/aggregate.go
@@ -244,6 +244,9 @@ func (d *HashAggIntermData) getPartialResultBatch(_ *stmtctx.StatementContext, p
// Close implements the Executor Close interface.
func (e *HashAggExec) Close() error {
+ if e.stats != nil {
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
+ }
if e.isUnparallelExec {
var firstErr error
e.childResult = nil
@@ -1131,7 +1134,6 @@ func (e *HashAggExec) initRuntimeStats() {
stats.PartialStats = make([]*AggWorkerStat, 0, stats.PartialConcurrency)
stats.FinalStats = make([]*AggWorkerStat, 0, stats.FinalConcurrency)
e.stats = stats
- e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
}
}
diff --git a/executor/aggregate_test.go b/executor/aggregate_test.go
index 1868802d65d8d..bd6366d6d115d 100644
--- a/executor/aggregate_test.go
+++ b/executor/aggregate_test.go
@@ -1088,6 +1088,14 @@ func TestIssue10608(t *testing.T) {
tk.MustExec("insert into t values(508931), (508932)")
tk.MustQuery("select (select /*+ stream_agg() */ group_concat(concat(123,'-')) from t where t.a = s.b group by t.a) as t from s;").Check(testkit.Rows("123-", "123-"))
tk.MustQuery("select (select /*+ hash_agg() */ group_concat(concat(123,'-')) from t where t.a = s.b group by t.a) as t from s;").Check(testkit.Rows("123-", "123-"))
+
+ tk.MustExec("CREATE TABLE `t49`(`c0` char(1) DEFAULT '1', `c2` char(1) DEFAULT NULL, UNIQUE KEY `c2` (`c2`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;")
+ tk.MustExec("INSERT INTO `t49` VALUES ('0','0'),('0','1');")
+ tk.MustExec("CREATE TABLE `t0` (`c0` blob DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;")
+ tk.MustExec("INSERT INTO `t0` VALUES (_binary ']'),(_binary '777926278'),(_binary '0.2136404982804636'),(_binary '1901362489'),(_binary '1558203848'),(''),(_binary '1830406335'),(''),(_binary '0'),(NULL),(_binary '601930250'),(_binary '1558203848'),(_binary '-122008948'),(_binary '-2053608489'),(_binary 'hb/vt <7'),(_binary 'RC&2*'),(_binary '1'),(_binary '-1722334316'),(_binary '1830406335'),(_binary '1372126029'),(_binary '882291196'),(NULL),(_binary '-399693596');")
+ tk.MustExec("CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`%` SQL SECURITY DEFINER VIEW `v0` (`c0`, `c1`, `c2`) AS SELECT NULL AS `NULL`,`t49`.`c2` AS `c2`,(((CASE _UTF8MB4'I되EkfIO퀶' WHEN NULL THEN `t49`.`c0` WHEN `t49`.`c2` THEN `t0`.`c0` ELSE (CASE `t49`.`c0` WHEN _UTF8MB4'%' THEN 1035293362 ELSE _UTF8MB4',' END) END))<<(`t49`.`c0`)) AS `(((CASE 'I되EkfIO퀶' WHEN NULL THEN t49.c0 WHEN t49.c2 THEN t0.c0 ELSE (CASE t49.c0 WHEN '%' THEN 1035293362 ELSE ',' END ) END ))<<(t49.c0))` FROM (`t0`) JOIN `t49` WHERE TRUE;")
+ tk.MustQuery("SELECT /*+ STREAM_AGG()*/v0.c0 FROM t49, v0 LEFT OUTER JOIN t0 ON ('Iw') GROUP BY true;").
+ Check(testkit.Rows(""))
}
func TestIssue12759HashAggCalledByApply(t *testing.T) {
diff --git a/executor/analyze.go b/executor/analyze.go
index da74d8248a90c..705e6eed6c590 100644
--- a/executor/analyze.go
+++ b/executor/analyze.go
@@ -267,20 +267,8 @@ func recordHistoricalStats(sctx sessionctx.Context, tableID int64) error {
if !historicalStatsEnabled {
return nil
}
-
- is := domain.GetDomain(sctx).InfoSchema()
- tbl, existed := is.TableByID(tableID)
- if !existed {
- return errors.Errorf("cannot get table by id %d", tableID)
- }
- tblInfo := tbl.Meta()
- dbInfo, existed := is.SchemaByTable(tblInfo)
- if !existed {
- return errors.Errorf("cannot get DBInfo by TableID %d", tableID)
- }
- if _, err := statsHandle.RecordHistoricalStatsToStorage(dbInfo.Name.O, tblInfo); err != nil {
- return errors.Errorf("record table %s.%s's historical stats failed", dbInfo.Name.O, tblInfo.Name.O)
- }
+ historicalStatsWorker := domain.GetDomain(sctx).GetHistoricalStatsWorker()
+ historicalStatsWorker.SendTblToDumpHistoricalStats(tableID)
return nil
}
@@ -303,6 +291,8 @@ func (e *AnalyzeExec) handleResultsError(ctx context.Context, concurrency int, n
}
}
+ tableIDs := map[int64]struct{}{}
+
// save analyze results in single-thread.
statsHandle := domain.GetDomain(e.ctx).StatsHandle()
panicCnt := 0
@@ -323,17 +313,15 @@ func (e *AnalyzeExec) handleResultsError(ctx context.Context, concurrency int, n
continue
}
handleGlobalStats(needGlobalStats, globalStatsMap, results)
+ tableIDs[results.TableID.GetStatisticsID()] = struct{}{}
- if err1 := statsHandle.SaveTableStatsToStorage(results, e.ctx.GetSessionVars().EnableAnalyzeSnapshot); err1 != nil {
+ if err1 := statsHandle.SaveTableStatsToStorage(results, e.ctx.GetSessionVars().EnableAnalyzeSnapshot, handle.StatsMetaHistorySourceAnalyze); err1 != nil {
+ tableID := results.TableID.TableID
err = err1
- logutil.Logger(ctx).Error("save table stats to storage failed", zap.Error(err))
+ logutil.Logger(ctx).Error("save table stats to storage failed", zap.Error(err), zap.Int64("tableID", tableID))
finishJobWithLog(e.ctx, results.Job, err)
} else {
finishJobWithLog(e.ctx, results.Job, nil)
- // Dump stats to historical storage.
- if err := recordHistoricalStats(e.ctx, results.TableID.TableID); err != nil {
- logutil.BgLogger().Error("record historical stats failed", zap.Error(err))
- }
}
invalidInfoSchemaStatCache(results.TableID.GetStatisticsID())
if atomic.LoadUint32(&e.ctx.GetSessionVars().Killed) == 1 {
@@ -341,6 +329,13 @@ func (e *AnalyzeExec) handleResultsError(ctx context.Context, concurrency int, n
return errors.Trace(ErrQueryInterrupted)
}
}
+ // Dump stats to historical storage.
+ for tableID := range tableIDs {
+ if err := recordHistoricalStats(e.ctx, tableID); err != nil {
+ logutil.BgLogger().Error("record historical stats failed", zap.Error(err))
+ }
+ }
+
return err
}
@@ -359,6 +354,7 @@ func (e *AnalyzeExec) handleResultsErrorWithConcurrency(ctx context.Context, sta
worker.run(ctx1, e.ctx.GetSessionVars().EnableAnalyzeSnapshot)
})
}
+ tableIDs := map[int64]struct{}{}
panicCnt := 0
var err error
for panicCnt < statsConcurrency {
@@ -381,6 +377,7 @@ func (e *AnalyzeExec) handleResultsErrorWithConcurrency(ctx context.Context, sta
continue
}
handleGlobalStats(needGlobalStats, globalStatsMap, results)
+ tableIDs[results.TableID.GetStatisticsID()] = struct{}{}
saveResultsCh <- results
}
close(saveResultsCh)
@@ -393,6 +390,12 @@ func (e *AnalyzeExec) handleResultsErrorWithConcurrency(ctx context.Context, sta
}
err = errors.New(strings.Join(errMsg, ","))
}
+ for tableID := range tableIDs {
+ // Dump stats to historical storage.
+ if err := recordHistoricalStats(e.ctx, tableID); err != nil {
+ logutil.BgLogger().Error("record historical stats failed", zap.Error(err))
+ }
+ }
return err
}
diff --git a/executor/analyze_col_v2.go b/executor/analyze_col_v2.go
index 68a02485c0048..1d9913d5f23e3 100644
--- a/executor/analyze_col_v2.go
+++ b/executor/analyze_col_v2.go
@@ -32,6 +32,7 @@ import (
"github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/sessionctx"
"github.com/pingcap/tidb/statistics"
+ "github.com/pingcap/tidb/table"
"github.com/pingcap/tidb/tablecodec"
"github.com/pingcap/tidb/types"
"github.com/pingcap/tidb/util"
@@ -187,7 +188,7 @@ func (e *AnalyzeColumnsExecV2) decodeSampleDataWithVirtualColumn(
}
}
}
- err := FillVirtualColumnValue(fieldTps, virtualColIdx, schema, e.colsInfo, e.ctx, chk)
+ err := table.FillVirtualColumnValue(fieldTps, virtualColIdx, schema.Columns, e.colsInfo, e.ctx, chk)
if err != nil {
return err
}
@@ -199,6 +200,27 @@ func (e *AnalyzeColumnsExecV2) decodeSampleDataWithVirtualColumn(
return nil
}
+func printAnalyzeMergeCollectorLog(oldRootCount, newRootCount, subCount, tableID, partitionID int64, isPartition bool, info string, index int) {
+ if index < 0 {
+ logutil.BgLogger().Debug(info,
+ zap.Int64("tableID", tableID),
+ zap.Int64("partitionID", partitionID),
+ zap.Bool("isPartitionTable", isPartition),
+ zap.Int64("oldRootCount", oldRootCount),
+ zap.Int64("newRootCount", newRootCount),
+ zap.Int64("subCount", subCount))
+ } else {
+ logutil.BgLogger().Debug(info,
+ zap.Int64("tableID", tableID),
+ zap.Int64("partitionID", partitionID),
+ zap.Bool("isPartitionTable", isPartition),
+ zap.Int64("oldRootCount", oldRootCount),
+ zap.Int64("newRootCount", newRootCount),
+ zap.Int64("subCount", subCount),
+ zap.Int("subCollectorIndex", index))
+ }
+}
+
func (e *AnalyzeColumnsExecV2) buildSamplingStats(
ranges []*ranger.Range,
needExtStats bool,
@@ -235,7 +257,7 @@ func (e *AnalyzeColumnsExecV2) buildSamplingStats(
e.samplingMergeWg = &util.WaitGroupWrapper{}
e.samplingMergeWg.Add(statsConcurrency)
for i := 0; i < statsConcurrency; i++ {
- go e.subMergeWorker(mergeResultCh, mergeTaskCh, l, i == 0)
+ go e.subMergeWorker(mergeResultCh, mergeTaskCh, l, i)
}
if err = readDataAndSendTask(e.ctx, e.resultHandler, mergeTaskCh, e.memTracker); err != nil {
return 0, nil, nil, nil, nil, getAnalyzePanicErr(err)
@@ -255,7 +277,12 @@ func (e *AnalyzeColumnsExecV2) buildSamplingStats(
continue
}
oldRootCollectorSize := rootRowCollector.Base().MemSize
+ oldRootCollectorCount := rootRowCollector.Base().Count
rootRowCollector.MergeCollector(mergeResult.collector)
+ newRootCollectorCount := rootRowCollector.Base().Count
+ printAnalyzeMergeCollectorLog(oldRootCollectorCount, newRootCollectorCount,
+ mergeResult.collector.Base().Count, e.tableID.TableID, e.tableID.PartitionID, e.tableID.IsPartitionTable(),
+ "merge subMergeWorker in AnalyzeColumnsExecV2", -1)
e.memTracker.Consume(rootRowCollector.Base().MemSize - oldRootCollectorSize - mergeResult.collector.Base().MemSize)
}
defer e.memTracker.Release(rootRowCollector.Base().MemSize)
@@ -544,7 +571,8 @@ func (e *AnalyzeColumnsExecV2) buildSubIndexJobForSpecialIndex(indexInfos []*mod
return tasks
}
-func (e *AnalyzeColumnsExecV2) subMergeWorker(resultCh chan<- *samplingMergeResult, taskCh <-chan []byte, l int, isClosedChanThread bool) {
+func (e *AnalyzeColumnsExecV2) subMergeWorker(resultCh chan<- *samplingMergeResult, taskCh <-chan []byte, l int, index int) {
+ isClosedChanThread := index == 0
defer func() {
if r := recover(); r != nil {
logutil.BgLogger().Error("analyze worker panicked", zap.Any("recover", r), zap.Stack("stack"))
@@ -567,6 +595,13 @@ func (e *AnalyzeColumnsExecV2) subMergeWorker(resultCh chan<- *samplingMergeResu
failpoint.Inject("mockAnalyzeSamplingMergeWorkerPanic", func() {
panic("failpoint triggered")
})
+ failpoint.Inject("mockAnalyzeMergeWorkerSlowConsume", func(val failpoint.Value) {
+ times := val.(int)
+ for i := 0; i < times; i++ {
+ e.memTracker.Consume(5 << 20)
+ time.Sleep(100 * time.Millisecond)
+ }
+ })
retCollector := statistics.NewRowSampleCollector(int(e.analyzePB.ColReq.SampleSize), e.analyzePB.ColReq.GetSampleRate(), l)
for i := 0; i < l; i++ {
retCollector.Base().FMSketches = append(retCollector.Base().FMSketches, statistics.NewFMSketch(maxSketchSize))
@@ -589,7 +624,12 @@ func (e *AnalyzeColumnsExecV2) subMergeWorker(resultCh chan<- *samplingMergeResu
subCollector.Base().FromProto(colResp.RowCollector, e.memTracker)
UpdateAnalyzeJob(e.ctx, e.job, subCollector.Base().Count)
oldRetCollectorSize := retCollector.Base().MemSize
+ oldRetCollectorCount := retCollector.Base().Count
retCollector.MergeCollector(subCollector)
+ newRetCollectorCount := retCollector.Base().Count
+ printAnalyzeMergeCollectorLog(oldRetCollectorCount, newRetCollectorCount, subCollector.Base().Count,
+ e.tableID.TableID, e.tableID.PartitionID, e.TableID.IsPartitionTable(),
+ "merge subCollector in concurrency in AnalyzeColumnsExecV2", index)
newRetCollectorSize := retCollector.Base().MemSize
subCollectorSize := subCollector.Base().MemSize
e.memTracker.Consume(newRetCollectorSize - oldRetCollectorSize - subCollectorSize)
diff --git a/executor/analyze_global_stats.go b/executor/analyze_global_stats.go
index 82c2678953285..e8f8d53b8adbf 100644
--- a/executor/analyze_global_stats.go
+++ b/executor/analyze_global_stats.go
@@ -21,6 +21,7 @@ import (
"github.com/pingcap/tidb/domain"
"github.com/pingcap/tidb/infoschema"
"github.com/pingcap/tidb/statistics"
+ "github.com/pingcap/tidb/statistics/handle"
"github.com/pingcap/tidb/types"
"github.com/pingcap/tidb/util/logutil"
"go.uber.org/zap"
@@ -53,7 +54,9 @@ func (e *AnalyzeExec) handleGlobalStats(ctx context.Context, needGlobalStats boo
globalStatsTableIDs[globalStatsID.tableID] = struct{}{}
}
statsHandle := domain.GetDomain(e.ctx).StatsHandle()
+ tableIDs := map[int64]struct{}{}
for tableID := range globalStatsTableIDs {
+ tableIDs[tableID] = struct{}{}
tableAllPartitionStats := make(map[int64]*statistics.Table)
for globalStatsID, info := range globalStatsMap {
if globalStatsID.tableID != tableID {
@@ -73,10 +76,11 @@ func (e *AnalyzeExec) handleGlobalStats(ctx context.Context, needGlobalStats boo
globalStatsID.tableID, info.isIndex, info.histIDs,
tableAllPartitionStats)
if err != nil {
+ logutil.BgLogger().Error("merge global stats failed",
+ zap.String("info", job.JobInfo), zap.Error(err), zap.Int64("tableID", tableID))
if types.ErrPartitionStatsMissing.Equal(err) || types.ErrPartitionColumnStatsMissing.Equal(err) {
// When we find some partition-level stats are missing, we need to report warning.
e.ctx.GetSessionVars().StmtCtx.AppendWarning(err)
- return nil
}
return err
}
@@ -93,20 +97,24 @@ func (e *AnalyzeExec) handleGlobalStats(ctx context.Context, needGlobalStats boo
info.statsVersion,
1,
true,
+ handle.StatsMetaHistorySourceAnalyze,
)
if err != nil {
- logutil.Logger(ctx).Error("save global-level stats to storage failed", zap.Error(err))
- }
- // Dump stats to historical storage.
- if err := recordHistoricalStats(e.ctx, globalStatsID.tableID); err != nil {
- logutil.BgLogger().Error("record historical stats failed", zap.Error(err))
+ logutil.Logger(ctx).Error("save global-level stats to storage failed", zap.String("info", job.JobInfo),
+ zap.Int64("histID", hg.ID), zap.Error(err), zap.Int64("tableID", tableID))
}
}
- return nil
+ return err
}()
FinishAnalyzeMergeJob(e.ctx, job, mergeStatsErr)
}
}
+ for tableID := range tableIDs {
+ // Dump stats to historical storage.
+ if err := recordHistoricalStats(e.ctx, tableID); err != nil {
+ logutil.BgLogger().Error("record historical stats failed", zap.Error(err))
+ }
+ }
return nil
}
diff --git a/executor/analyze_test.go b/executor/analyze_test.go
index bbe3f5b8d1b1e..a6cdea833df50 100644
--- a/executor/analyze_test.go
+++ b/executor/analyze_test.go
@@ -417,3 +417,24 @@ func TestAnalyzePartitionTableByConcurrencyInDynamic(t *testing.T) {
tk.MustQuery("show stats_topn where partition_name = 'global' and table_name = 't'").CheckAt([]int{5, 6}, expected)
}
}
+
+func TestMergeGlobalStatsWithUnAnalyzedPartition(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("set tidb_partition_prune_mode=dynamic;")
+ tk.MustExec("CREATE TABLE `t` ( `id` int(11) DEFAULT NULL, `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL ) PARTITION BY RANGE (`id`) (PARTITION `p0` VALUES LESS THAN (3), PARTITION `p1` VALUES LESS THAN (7), PARTITION `p2` VALUES LESS THAN (11));")
+ tk.MustExec("insert into t values (1,1,1,1),(2,2,2,2),(4,4,4,4),(5,5,5,5),(6,6,6,6),(8,8,8,8),(9,9,9,9);")
+ tk.MustExec("create index idxa on t (a);")
+ tk.MustExec("create index idxb on t (b);")
+ tk.MustExec("create index idxc on t (c);")
+ tk.MustExec("analyze table t partition p0 index idxa;")
+ tk.MustExec("analyze table t partition p1 index idxb;")
+ tk.MustExec("analyze table t partition p2 index idxc;")
+ tk.MustQuery("show warnings").Check(testkit.Rows(
+ "Warning 1105 The version 2 would collect all statistics not only the selected indexes",
+ "Note 1105 Analyze use auto adjusted sample rate 1.000000 for table test.t's partition p2"))
+ tk.MustExec("analyze table t partition p0;")
+ tk.MustQuery("show warnings").Check(testkit.Rows(
+ "Note 1105 Analyze use auto adjusted sample rate 1.000000 for table test.t's partition p0"))
+}
diff --git a/executor/analyze_utils.go b/executor/analyze_utils.go
index c6d4886d79b7c..cdf47373d29f0 100644
--- a/executor/analyze_utils.go
+++ b/executor/analyze_utils.go
@@ -17,6 +17,7 @@ package executor
import (
"context"
"strconv"
+ "strings"
"sync"
"github.com/pingcap/errors"
@@ -24,6 +25,7 @@ import (
"github.com/pingcap/tidb/sessionctx"
"github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/statistics"
+ "github.com/pingcap/tidb/util/memory"
"go.uber.org/atomic"
)
@@ -45,8 +47,13 @@ func isAnalyzeWorkerPanic(err error) bool {
}
func getAnalyzePanicErr(r interface{}) error {
- if msg, ok := r.(string); ok && msg == globalPanicAnalyzeMemoryExceed {
- return errAnalyzeOOM
+ if msg, ok := r.(string); ok {
+ if msg == globalPanicAnalyzeMemoryExceed {
+ return errAnalyzeOOM
+ }
+ if strings.Contains(msg, memory.PanicMemoryExceed) {
+ return errors.Errorf(msg, errAnalyzeOOM)
+ }
}
if err, ok := r.(error); ok {
if err.Error() == globalPanicAnalyzeMemoryExceed {
diff --git a/executor/analyze_worker.go b/executor/analyze_worker.go
index 68c2f6a1f6ec8..688f89f5a120d 100644
--- a/executor/analyze_worker.go
+++ b/executor/analyze_worker.go
@@ -59,17 +59,13 @@ func (worker *analyzeSaveStatsWorker) run(ctx context.Context, analyzeSnapshot b
worker.errCh <- errors.Trace(ErrQueryInterrupted)
return
}
- err := handle.SaveTableStatsToStorage(worker.sctx, results, analyzeSnapshot)
+ err := handle.SaveTableStatsToStorage(worker.sctx, results, analyzeSnapshot, handle.StatsMetaHistorySourceAnalyze)
if err != nil {
logutil.Logger(ctx).Error("save table stats to storage failed", zap.Error(err))
finishJobWithLog(worker.sctx, results.Job, err)
worker.errCh <- err
} else {
finishJobWithLog(worker.sctx, results.Job, nil)
- // Dump stats to historical storage.
- if err := recordHistoricalStats(worker.sctx, results.TableID.TableID); err != nil {
- logutil.BgLogger().Error("record historical stats failed", zap.Error(err))
- }
}
invalidInfoSchemaStatCache(results.TableID.GetStatisticsID())
if err != nil {
diff --git a/executor/analyzetest/BUILD.bazel b/executor/analyzetest/BUILD.bazel
index 53126213363a5..3112abe57c00f 100644
--- a/executor/analyzetest/BUILD.bazel
+++ b/executor/analyzetest/BUILD.bazel
@@ -8,7 +8,6 @@ go_test(
"main_test.go",
],
flaky = True,
- race = "on",
shard_count = 50,
deps = [
"//domain",
@@ -30,6 +29,7 @@ go_test(
"//tablecodec",
"//testkit",
"//types",
+ "//util",
"//util/codec",
"@com_github_pingcap_errors//:errors",
"@com_github_pingcap_failpoint//:failpoint",
diff --git a/executor/analyzetest/analyze_test.go b/executor/analyzetest/analyze_test.go
index c5043935e1650..2d520703e07d5 100644
--- a/executor/analyzetest/analyze_test.go
+++ b/executor/analyzetest/analyze_test.go
@@ -16,8 +16,8 @@ package analyzetest
import (
"context"
- "encoding/json"
"fmt"
+ "runtime"
"strconv"
"strings"
"testing"
@@ -44,6 +44,7 @@ import (
"github.com/pingcap/tidb/tablecodec"
"github.com/pingcap/tidb/testkit"
"github.com/pingcap/tidb/types"
+ "github.com/pingcap/tidb/util"
"github.com/pingcap/tidb/util/codec"
"github.com/stretchr/testify/require"
"github.com/tikv/client-go/v2/testutils"
@@ -2163,102 +2164,6 @@ func TestAnalyzeColumnsErrorAndWarning(t *testing.T) {
}
}
-func TestRecordHistoryStatsAfterAnalyze(t *testing.T) {
- store, dom := testkit.CreateMockStoreAndDomain(t)
-
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@tidb_analyze_version = 2")
- tk.MustExec("set global tidb_enable_historical_stats = 0")
- tk.MustExec("use test")
- tk.MustExec("drop table if exists t")
- tk.MustExec("create table t(a int, b varchar(10))")
-
- h := dom.StatsHandle()
- is := dom.InfoSchema()
- tableInfo, err := is.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
- require.NoError(t, err)
-
- // 1. switch off the tidb_enable_historical_stats, and there is no records in table `mysql.stats_history`
- rows := tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_history where table_id = '%d'", tableInfo.Meta().ID)).Rows()
- num, _ := strconv.Atoi(rows[0][0].(string))
- require.Equal(t, num, 0)
-
- tk.MustExec("analyze table t with 2 topn")
- rows = tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_history where table_id = '%d'", tableInfo.Meta().ID)).Rows()
- num, _ = strconv.Atoi(rows[0][0].(string))
- require.Equal(t, num, 0)
-
- // 2. switch on the tidb_enable_historical_stats and do analyze
- tk.MustExec("set global tidb_enable_historical_stats = 1")
- defer tk.MustExec("set global tidb_enable_historical_stats = 0")
- tk.MustExec("analyze table t with 2 topn")
- rows = tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_history where table_id = '%d'", tableInfo.Meta().ID)).Rows()
- num, _ = strconv.Atoi(rows[0][0].(string))
- require.GreaterOrEqual(t, num, 1)
-
- // 3. dump current stats json
- dumpJSONTable, err := h.DumpStatsToJSON("test", tableInfo.Meta(), nil, true)
- require.NoError(t, err)
- jsOrigin, _ := json.Marshal(dumpJSONTable)
-
- // 4. get the historical stats json
- rows = tk.MustQuery(fmt.Sprintf("select * from mysql.stats_history where table_id = '%d' and create_time = ("+
- "select create_time from mysql.stats_history where table_id = '%d' order by create_time desc limit 1) "+
- "order by seq_no", tableInfo.Meta().ID, tableInfo.Meta().ID)).Rows()
- num = len(rows)
- require.GreaterOrEqual(t, num, 1)
- data := make([][]byte, num)
- for i, row := range rows {
- data[i] = []byte(row[1].(string))
- }
- jsonTbl, err := handle.BlocksToJSONTable(data)
- require.NoError(t, err)
- jsCur, err := json.Marshal(jsonTbl)
- require.NoError(t, err)
- // 5. historical stats must be equal to the current stats
- require.JSONEq(t, string(jsOrigin), string(jsCur))
-}
-
-func TestRecordHistoryStatsMetaAfterAnalyze(t *testing.T) {
- store, dom := testkit.CreateMockStoreAndDomain(t)
-
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("set @@tidb_analyze_version = 2")
- tk.MustExec("set global tidb_enable_historical_stats = 0")
- tk.MustExec("use test")
- tk.MustExec("drop table if exists t")
- tk.MustExec("create table t(a int, b int)")
- tk.MustExec("analyze table test.t")
-
- h := dom.StatsHandle()
- is := dom.InfoSchema()
- tableInfo, err := is.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
- require.NoError(t, err)
-
- // 1. switch off the tidb_enable_historical_stats, and there is no record in table `mysql.stats_meta_history`
- tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_meta_history where table_id = '%d'", tableInfo.Meta().ID)).Check(testkit.Rows("0"))
- // insert demo tuples, and there is no record either.
- insertNums := 5
- for i := 0; i < insertNums; i++ {
- tk.MustExec("insert into test.t (a,b) values (1,1), (2,2), (3,3)")
- err := h.DumpStatsDeltaToKV(handle.DumpDelta)
- require.NoError(t, err)
- }
- tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_meta_history where table_id = '%d'", tableInfo.Meta().ID)).Check(testkit.Rows("0"))
-
- // 2. switch on the tidb_enable_historical_stats and insert tuples to produce count/modifyCount delta change.
- tk.MustExec("set global tidb_enable_historical_stats = 1")
- defer tk.MustExec("set global tidb_enable_historical_stats = 0")
-
- for i := 0; i < insertNums; i++ {
- tk.MustExec("insert into test.t (a,b) values (1,1), (2,2), (3,3)")
- err := h.DumpStatsDeltaToKV(handle.DumpDelta)
- require.NoError(t, err)
- }
- tk.MustQuery(fmt.Sprintf("select modify_count, count from mysql.stats_meta_history where table_id = '%d' order by create_time", tableInfo.Meta().ID)).Sort().Check(
- testkit.Rows("18 18", "21 21", "24 24", "27 27", "30 30"))
-}
-
func checkAnalyzeStatus(t *testing.T, tk *testkit.TestKit, jobInfo, status, failReason, comment string, timeLimit int64) {
rows := tk.MustQuery("show analyze status where table_schema = 'test' and table_name = 't' and partition_name = ''").Rows()
require.Equal(t, 1, len(rows), comment)
@@ -2836,8 +2741,8 @@ PARTITION BY RANGE ( a ) (
tk.MustQuery("show warnings").Sort().Check(testkit.Rows(
"Note 1105 Analyze use auto adjusted sample rate 1.000000 for table test.t's partition p0",
"Warning 1105 Ignore columns and options when analyze partition in dynamic mode",
- "Warning 8131 Build table: `t` global-level stats failed due to missing partition-level stats",
- "Warning 8131 Build table: `t` index: `idx` global-level stats failed due to missing partition-level stats",
+ "Warning 8131 Build global-level stats failed due to missing partition-level stats: table `t` partition `p1`",
+ "Warning 8131 Build global-level stats failed due to missing partition-level stats: table `t` partition `p1`",
))
tk.MustQuery("select * from t where a > 1 and b > 1 and c > 1 and d > 1")
require.NoError(t, h.LoadNeededHistograms())
@@ -2849,8 +2754,8 @@ PARTITION BY RANGE ( a ) (
tk.MustExec("analyze table t partition p0")
tk.MustQuery("show warnings").Sort().Check(testkit.Rows(
"Note 1105 Analyze use auto adjusted sample rate 1.000000 for table test.t's partition p0",
- "Warning 8131 Build table: `t` global-level stats failed due to missing partition-level stats",
- "Warning 8131 Build table: `t` index: `idx` global-level stats failed due to missing partition-level stats",
+ "Warning 8131 Build global-level stats failed due to missing partition-level stats: table `t` partition `p1`",
+ "Warning 8131 Build global-level stats failed due to missing partition-level stats: table `t` partition `p1`",
))
tbl = h.GetTableStats(tableInfo)
require.Equal(t, tbl.Version, lastVersion) // global stats not updated
@@ -2904,7 +2809,7 @@ PARTITION BY RANGE ( a ) (
tk.MustExec("analyze table t partition p1 columns a,b,d with 1 topn, 3 buckets")
tk.MustQuery("show warnings").Sort().Check(testkit.Rows(
"Note 1105 Analyze use auto adjusted sample rate 1.000000 for table test.t's partition p1",
- "Warning 8244 Build table: `t` column: `d` global-level stats failed due to missing partition-level column stats, please run analyze table to refresh columns of all partitions",
+ "Warning 8244 Build global-level stats failed due to missing partition-level column stats: table `t` partition `p0` column `d`, please run analyze table to refresh columns of all partitions",
))
// analyze partition with existing table-level options and existing partition stats under dynamic
@@ -2914,7 +2819,7 @@ PARTITION BY RANGE ( a ) (
tk.MustQuery("show warnings").Sort().Check(testkit.Rows(
"Note 1105 Analyze use auto adjusted sample rate 1.000000 for table test.t's partition p1",
"Warning 1105 Ignore columns and options when analyze partition in dynamic mode",
- "Warning 8244 Build table: `t` column: `d` global-level stats failed due to missing partition-level column stats, please run analyze table to refresh columns of all partitions",
+ "Warning 8244 Build global-level stats failed due to missing partition-level column stats: table `t` partition `p0` column `d`, please run analyze table to refresh columns of all partitions",
))
// analyze partition with existing table-level & partition-level options and existing partition stats under dynamic
@@ -2923,12 +2828,12 @@ PARTITION BY RANGE ( a ) (
tk.MustQuery("show warnings").Sort().Check(testkit.Rows(
"Note 1105 Analyze use auto adjusted sample rate 1.000000 for table test.t's partition p1",
"Warning 1105 Ignore columns and options when analyze partition in dynamic mode",
- "Warning 8244 Build table: `t` column: `d` global-level stats failed due to missing partition-level column stats, please run analyze table to refresh columns of all partitions",
+ "Warning 8244 Build global-level stats failed due to missing partition-level column stats: table `t` partition `p0` column `d`, please run analyze table to refresh columns of all partitions",
))
tk.MustQuery("select * from t where a > 1 and b > 1 and c > 1 and d > 1")
require.NoError(t, h.LoadNeededHistograms())
tbl := h.GetTableStats(tableInfo)
- require.Equal(t, 4, len(tbl.Columns))
+ require.Equal(t, 0, len(tbl.Columns))
// ignore both p0's 3 buckets, persisted-partition-options' 1 bucket, just use table-level 2 buckets
tk.MustExec("analyze table t partition p0")
@@ -2974,8 +2879,8 @@ PARTITION BY RANGE ( a ) (
// analyze partition with index and with options are allowed under dynamic V1
tk.MustExec("analyze table t partition p0 with 1 topn, 3 buckets")
tk.MustQuery("show warnings").Sort().Check(testkit.Rows(
- "Warning 8131 Build table: `t` global-level stats failed due to missing partition-level stats",
- "Warning 8131 Build table: `t` index: `idx` global-level stats failed due to missing partition-level stats",
+ "Warning 8131 Build global-level stats failed due to missing partition-level stats: table `t` partition `p1`",
+ "Warning 8131 Build global-level stats failed due to missing partition-level stats: table `t` partition `p1`",
))
tk.MustExec("analyze table t partition p1 with 1 topn, 3 buckets")
tk.MustQuery("show warnings").Sort().Check(testkit.Rows())
@@ -3157,3 +3062,115 @@ func TestAutoAnalyzeAwareGlobalVariableChange(t *testing.T) {
require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/executor/injectBaseCount"))
require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/executor/injectBaseModifyCount"))
}
+
+func TestGlobalMemoryControlForAnalyze(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+
+ tk0 := testkit.NewTestKit(t, store)
+ tk0.MustExec("set global tidb_mem_oom_action = 'cancel'")
+ tk0.MustExec("set global tidb_server_memory_limit = 512MB")
+ tk0.MustExec("set global tidb_server_memory_limit_sess_min_size = 128")
+
+ sm := &testkit.MockSessionManager{
+ PS: []*util.ProcessInfo{tk0.Session().ShowProcess()},
+ }
+ dom.ServerMemoryLimitHandle().SetSessionManager(sm)
+ go dom.ServerMemoryLimitHandle().Run()
+
+ tk0.MustExec("use test")
+ tk0.MustExec("create table t(a int)")
+ tk0.MustExec("insert into t select 1")
+ for i := 1; i <= 8; i++ {
+ tk0.MustExec("insert into t select * from t") // 256 Lines
+ }
+ sql := "analyze table t with 1.0 samplerate;" // Need about 100MB
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/util/memory/ReadMemStats", `return(536870912)`))
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/executor/mockAnalyzeMergeWorkerSlowConsume", `return(100)`))
+ defer func() {
+ require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/util/memory/ReadMemStats"))
+ require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/executor/mockAnalyzeMergeWorkerSlowConsume"))
+ }()
+ _, err := tk0.Exec(sql)
+ require.True(t, strings.Contains(err.Error(), "Out Of Memory Quota!"))
+ runtime.GC()
+}
+
+func TestGlobalMemoryControlForAutoAnalyze(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ originalVal1 := tk.MustQuery("select @@global.tidb_mem_oom_action").Rows()[0][0].(string)
+ tk.MustExec("set global tidb_mem_oom_action = 'cancel'")
+ //originalVal2 := tk.MustQuery("select @@global.tidb_server_memory_limit").Rows()[0][0].(string)
+ tk.MustExec("set global tidb_server_memory_limit = 512MB")
+ originalVal3 := tk.MustQuery("select @@global.tidb_server_memory_limit_sess_min_size").Rows()[0][0].(string)
+ tk.MustExec("set global tidb_server_memory_limit_sess_min_size = 128")
+ defer func() {
+ tk.MustExec(fmt.Sprintf("set global tidb_mem_oom_action = %v", originalVal1))
+ //tk.MustExec(fmt.Sprintf("set global tidb_server_memory_limit = %v", originalVal2))
+ tk.MustExec(fmt.Sprintf("set global tidb_server_memory_limit_sess_min_size = %v", originalVal3))
+ }()
+
+ // clean child trackers
+ oldChildTrackers := executor.GlobalAnalyzeMemoryTracker.GetChildrenForTest()
+ for _, tracker := range oldChildTrackers {
+ tracker.Detach()
+ }
+ defer func() {
+ for _, tracker := range oldChildTrackers {
+ tracker.AttachTo(executor.GlobalAnalyzeMemoryTracker)
+ }
+ }()
+ childTrackers := executor.GlobalAnalyzeMemoryTracker.GetChildrenForTest()
+ require.Len(t, childTrackers, 0)
+
+ tk.MustExec("use test")
+ tk.MustExec("create table t(a int)")
+ tk.MustExec("insert into t select 1")
+ for i := 1; i <= 8; i++ {
+ tk.MustExec("insert into t select * from t") // 256 Lines
+ }
+ _, err0 := tk.Exec("analyze table t with 1.0 samplerate;")
+ require.NoError(t, err0)
+ rs0 := tk.MustQuery("select fail_reason from mysql.analyze_jobs where table_name=? and state=? limit 1", "t", "failed")
+ require.Len(t, rs0.Rows(), 0)
+
+ h := dom.StatsHandle()
+ originalVal4 := handle.AutoAnalyzeMinCnt
+ originalVal5 := tk.MustQuery("select @@global.tidb_auto_analyze_ratio").Rows()[0][0].(string)
+ handle.AutoAnalyzeMinCnt = 0
+ tk.MustExec("set global tidb_auto_analyze_ratio = 0.001")
+ defer func() {
+ handle.AutoAnalyzeMinCnt = originalVal4
+ tk.MustExec(fmt.Sprintf("set global tidb_auto_analyze_ratio = %v", originalVal5))
+ }()
+
+ sm := &testkit.MockSessionManager{
+ Dom: dom,
+ PS: []*util.ProcessInfo{tk.Session().ShowProcess()},
+ }
+ dom.ServerMemoryLimitHandle().SetSessionManager(sm)
+ go dom.ServerMemoryLimitHandle().Run()
+
+ tk.MustExec("insert into t values(4),(5),(6)")
+ require.NoError(t, h.DumpStatsDeltaToKV(handle.DumpAll))
+ err := h.Update(dom.InfoSchema())
+ require.NoError(t, err)
+
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/util/memory/ReadMemStats", `return(536870912)`))
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/executor/mockAnalyzeMergeWorkerSlowConsume", `return(100)`))
+ defer func() {
+ require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/util/memory/ReadMemStats"))
+ require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/executor/mockAnalyzeMergeWorkerSlowConsume"))
+ }()
+ tk.MustQuery("select 1")
+ childTrackers = executor.GlobalAnalyzeMemoryTracker.GetChildrenForTest()
+ require.Len(t, childTrackers, 0)
+
+ h.HandleAutoAnalyze(dom.InfoSchema())
+ rs := tk.MustQuery("select fail_reason from mysql.analyze_jobs where table_name=? and state=? limit 1", "t", "failed")
+ failReason := rs.Rows()[0][0].(string)
+ require.True(t, strings.Contains(failReason, "Out Of Memory Quota!"))
+
+ childTrackers = executor.GlobalAnalyzeMemoryTracker.GetChildrenForTest()
+ require.Len(t, childTrackers, 0)
+}
diff --git a/executor/autoidtest/BUILD.bazel b/executor/autoidtest/BUILD.bazel
new file mode 100644
index 0000000000000..a59514bef3bd6
--- /dev/null
+++ b/executor/autoidtest/BUILD.bazel
@@ -0,0 +1,27 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_test")
+
+go_test(
+ name = "autoidtest_test",
+ srcs = [
+ "autoid_test.go",
+ "main_test.go",
+ ],
+ flaky = True,
+ race = "on",
+ shard_count = 5,
+ deps = [
+ "//autoid_service",
+ "//config",
+ "//ddl/testutil",
+ "//meta/autoid",
+ "//parser/mysql",
+ "//session",
+ "//sessionctx/variable",
+ "//testkit",
+ "//testkit/testutil",
+ "@com_github_pingcap_failpoint//:failpoint",
+ "@com_github_stretchr_testify//require",
+ "@com_github_tikv_client_go_v2//tikv",
+ "@org_uber_go_goleak//:goleak",
+ ],
+)
diff --git a/executor/autoidtest/autoid_test.go b/executor/autoidtest/autoid_test.go
new file mode 100644
index 0000000000000..eb8cc3f874159
--- /dev/null
+++ b/executor/autoidtest/autoid_test.go
@@ -0,0 +1,769 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package autoid_test
+
+import (
+ "context"
+ "fmt"
+ "strconv"
+ "strings"
+ "testing"
+
+ "github.com/pingcap/failpoint"
+ _ "github.com/pingcap/tidb/autoid_service"
+ ddltestutil "github.com/pingcap/tidb/ddl/testutil"
+ "github.com/pingcap/tidb/parser/mysql"
+ "github.com/pingcap/tidb/session"
+ "github.com/pingcap/tidb/sessionctx/variable"
+ "github.com/pingcap/tidb/testkit"
+ "github.com/pingcap/tidb/testkit/testutil"
+ "github.com/stretchr/testify/require"
+)
+
+// Test filter different kind of allocators.
+// In special ddl type, for example:
+// 1: ActionRenameTable : it will abandon all the old allocators.
+// 2: ActionRebaseAutoID : it will drop row-id-type allocator.
+// 3: ActionModifyTableAutoIdCache : it will drop row-id-type allocator.
+// 3: ActionRebaseAutoRandomBase : it will drop auto-rand-type allocator.
+func TestFilterDifferentAllocators(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("drop table if exists t1")
+
+ for _, str := range []string{"", " AUTO_ID_CACHE 1"} {
+ tk.MustExec("create table t(a bigint auto_random(5) key, b int auto_increment unique)" + str)
+ tk.MustExec("insert into t values()")
+ tk.MustQuery("select b from t").Check(testkit.Rows("1"))
+ allHandles, err := ddltestutil.ExtractAllTableHandles(tk.Session(), "test", "t")
+ require.NoError(t, err)
+ require.Equal(t, 1, len(allHandles))
+ orderedHandles := testutil.MaskSortHandles(allHandles, 5, mysql.TypeLonglong)
+ require.Equal(t, int64(1), orderedHandles[0])
+ tk.MustExec("delete from t")
+
+ // Test rebase auto_increment.
+ tk.MustExec("alter table t auto_increment 3000000")
+ tk.MustExec("insert into t values()")
+ tk.MustQuery("select b from t").Check(testkit.Rows("3000000"))
+ allHandles, err = ddltestutil.ExtractAllTableHandles(tk.Session(), "test", "t")
+ require.NoError(t, err)
+ require.Equal(t, 1, len(allHandles))
+ orderedHandles = testutil.MaskSortHandles(allHandles, 5, mysql.TypeLonglong)
+ require.Equal(t, int64(2), orderedHandles[0])
+ tk.MustExec("delete from t")
+
+ // Test rebase auto_random.
+ tk.MustExec("alter table t auto_random_base 3000000")
+ tk.MustExec("insert into t values()")
+ tk.MustQuery("select b from t").Check(testkit.Rows("3000001"))
+ allHandles, err = ddltestutil.ExtractAllTableHandles(tk.Session(), "test", "t")
+ require.NoError(t, err)
+ require.Equal(t, 1, len(allHandles))
+ orderedHandles = testutil.MaskSortHandles(allHandles, 5, mysql.TypeLonglong)
+ require.Equal(t, int64(3000000), orderedHandles[0])
+ tk.MustExec("delete from t")
+
+ // Test rename table.
+ tk.MustExec("rename table t to t1")
+ tk.MustExec("insert into t1 values()")
+ res := tk.MustQuery("select b from t1")
+ strInt64, err := strconv.ParseInt(res.Rows()[0][0].(string), 10, 64)
+ require.NoError(t, err)
+ require.GreaterOrEqual(t, strInt64, int64(3000002))
+ allHandles, err = ddltestutil.ExtractAllTableHandles(tk.Session(), "test", "t1")
+ require.NoError(t, err)
+ require.Equal(t, 1, len(allHandles))
+ orderedHandles = testutil.MaskSortHandles(allHandles, 5, mysql.TypeLonglong)
+ require.Greater(t, orderedHandles[0], int64(3000001))
+
+ tk.MustExec("drop table t1")
+ }
+}
+
+func TestAutoIncrementInsertMinMax(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+
+ cases := []struct {
+ t string
+ s string
+ vals []int64
+ expect [][]interface{}
+ }{
+ {"tinyint", "signed", []int64{-128, 0, 127}, testkit.Rows("-128", "1", "2", "3", "127")},
+ {"tinyint", "unsigned", []int64{0, 127, 255}, testkit.Rows("1", "2", "127", "128", "255")},
+ {"smallint", "signed", []int64{-32768, 0, 32767}, testkit.Rows("-32768", "1", "2", "3", "32767")},
+ {"smallint", "unsigned", []int64{0, 32767, 65535}, testkit.Rows("1", "2", "32767", "32768", "65535")},
+ {"mediumint", "signed", []int64{-8388608, 0, 8388607}, testkit.Rows("-8388608", "1", "2", "3", "8388607")},
+ {"mediumint", "unsigned", []int64{0, 8388607, 16777215}, testkit.Rows("1", "2", "8388607", "8388608", "16777215")},
+ {"integer", "signed", []int64{-2147483648, 0, 2147483647}, testkit.Rows("-2147483648", "1", "2", "3", "2147483647")},
+ {"integer", "unsigned", []int64{0, 2147483647, 4294967295}, testkit.Rows("1", "2", "2147483647", "2147483648", "4294967295")},
+ {"bigint", "signed", []int64{-9223372036854775808, 0, 9223372036854775807}, testkit.Rows("-9223372036854775808", "1", "2", "3", "9223372036854775807")},
+ {"bigint", "unsigned", []int64{0, 9223372036854775807}, testkit.Rows("1", "2", "9223372036854775807", "9223372036854775808")},
+ }
+
+ for _, option := range []string{"", "auto_id_cache 1", "auto_id_cache 100"} {
+ for idx, c := range cases {
+ sql := fmt.Sprintf("create table t%d (a %s %s key auto_increment) %s", idx, c.t, c.s, option)
+ tk.MustExec(sql)
+
+ for _, val := range c.vals {
+ tk.MustExec(fmt.Sprintf("insert into t%d values (%d)", idx, val))
+ tk.Exec(fmt.Sprintf("insert into t%d values ()", idx)) // ignore error
+ }
+
+ tk.MustQuery(fmt.Sprintf("select * from t%d order by a", idx)).Check(c.expect)
+
+ tk.MustExec(fmt.Sprintf("drop table t%d", idx))
+ }
+ }
+
+ tk.MustExec("create table t10 (a integer key auto_increment) auto_id_cache 1")
+ err := tk.ExecToErr("insert into t10 values (2147483648)")
+ require.Error(t, err)
+ err = tk.ExecToErr("insert into t10 values (-2147483649)")
+ require.Error(t, err)
+}
+
+func TestInsertWithAutoidSchema(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec(`use test`)
+ tk.MustExec(`create table t1(id int primary key auto_increment, n int);`)
+ tk.MustExec(`create table t2(id int unsigned primary key auto_increment, n int);`)
+ tk.MustExec(`create table t3(id tinyint primary key auto_increment, n int);`)
+ tk.MustExec(`create table t4(id int primary key, n float auto_increment, key I_n(n));`)
+ tk.MustExec(`create table t5(id int primary key, n float unsigned auto_increment, key I_n(n));`)
+ tk.MustExec(`create table t6(id int primary key, n double auto_increment, key I_n(n));`)
+ tk.MustExec(`create table t7(id int primary key, n double unsigned auto_increment, key I_n(n));`)
+ // test for inserting multiple values
+ tk.MustExec(`create table t8(id int primary key auto_increment, n int);`)
+
+ testInsertWithAutoidSchema(t, tk)
+}
+
+func TestInsertWithAutoidSchemaCache(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec(`use test`)
+ tk.MustExec(`create table t1(id int primary key auto_increment, n int) AUTO_ID_CACHE 1;`)
+ tk.MustExec(`create table t2(id int unsigned primary key auto_increment, n int) AUTO_ID_CACHE 1;`)
+ tk.MustExec(`create table t3(id tinyint primary key auto_increment, n int) AUTO_ID_CACHE 1;`)
+ tk.MustExec(`create table t4(id int primary key, n float auto_increment, key I_n(n)) AUTO_ID_CACHE 1;`)
+ tk.MustExec(`create table t5(id int primary key, n float unsigned auto_increment, key I_n(n)) AUTO_ID_CACHE 1;`)
+ tk.MustExec(`create table t6(id int primary key, n double auto_increment, key I_n(n)) AUTO_ID_CACHE 1;`)
+ tk.MustExec(`create table t7(id int primary key, n double unsigned auto_increment, key I_n(n)) AUTO_ID_CACHE 1;`)
+ // test for inserting multiple values
+ tk.MustExec(`create table t8(id int primary key auto_increment, n int);`)
+
+ testInsertWithAutoidSchema(t, tk)
+}
+
+func testInsertWithAutoidSchema(t *testing.T, tk *testkit.TestKit) {
+ tests := []struct {
+ insert string
+ query string
+ result [][]interface{}
+ }{
+ {
+ `insert into t1(id, n) values(1, 1)`,
+ `select * from t1 where id = 1`,
+ testkit.Rows(`1 1`),
+ },
+ {
+ `insert into t1(n) values(2)`,
+ `select * from t1 where id = 2`,
+ testkit.Rows(`2 2`),
+ },
+ {
+ `insert into t1(n) values(3)`,
+ `select * from t1 where id = 3`,
+ testkit.Rows(`3 3`),
+ },
+ {
+ `insert into t1(id, n) values(-1, 4)`,
+ `select * from t1 where id = -1`,
+ testkit.Rows(`-1 4`),
+ },
+ {
+ `insert into t1(n) values(5)`,
+ `select * from t1 where id = 4`,
+ testkit.Rows(`4 5`),
+ },
+ {
+ `insert into t1(id, n) values('5', 6)`,
+ `select * from t1 where id = 5`,
+ testkit.Rows(`5 6`),
+ },
+ {
+ `insert into t1(n) values(7)`,
+ `select * from t1 where id = 6`,
+ testkit.Rows(`6 7`),
+ },
+ {
+ `insert into t1(id, n) values(7.4, 8)`,
+ `select * from t1 where id = 7`,
+ testkit.Rows(`7 8`),
+ },
+ {
+ `insert into t1(id, n) values(7.5, 9)`,
+ `select * from t1 where id = 8`,
+ testkit.Rows(`8 9`),
+ },
+ {
+ `insert into t1(n) values(9)`,
+ `select * from t1 where id = 9`,
+ testkit.Rows(`9 9`),
+ },
+ // test last insert id
+ {
+ `insert into t1 values(3000, -1), (null, -2)`,
+ `select * from t1 where id = 3000`,
+ testkit.Rows(`3000 -1`),
+ },
+ {
+ `;`,
+ `select * from t1 where id = 3001`,
+ testkit.Rows(`3001 -2`),
+ },
+ {
+ `;`,
+ `select last_insert_id()`,
+ testkit.Rows(`3001`),
+ },
+ {
+ `insert into t2(id, n) values(1, 1)`,
+ `select * from t2 where id = 1`,
+ testkit.Rows(`1 1`),
+ },
+ {
+ `insert into t2(n) values(2)`,
+ `select * from t2 where id = 2`,
+ testkit.Rows(`2 2`),
+ },
+ {
+ `insert into t2(n) values(3)`,
+ `select * from t2 where id = 3`,
+ testkit.Rows(`3 3`),
+ },
+ {
+ `insert into t3(id, n) values(1, 1)`,
+ `select * from t3 where id = 1`,
+ testkit.Rows(`1 1`),
+ },
+ {
+ `insert into t3(n) values(2)`,
+ `select * from t3 where id = 2`,
+ testkit.Rows(`2 2`),
+ },
+ {
+ `insert into t3(n) values(3)`,
+ `select * from t3 where id = 3`,
+ testkit.Rows(`3 3`),
+ },
+ {
+ `insert into t3(id, n) values(-1, 4)`,
+ `select * from t3 where id = -1`,
+ testkit.Rows(`-1 4`),
+ },
+ {
+ `insert into t3(n) values(5)`,
+ `select * from t3 where id = 4`,
+ testkit.Rows(`4 5`),
+ },
+ {
+ `insert into t4(id, n) values(1, 1)`,
+ `select * from t4 where id = 1`,
+ testkit.Rows(`1 1`),
+ },
+ {
+ `insert into t4(id) values(2)`,
+ `select * from t4 where id = 2`,
+ testkit.Rows(`2 2`),
+ },
+ {
+ `insert into t4(id, n) values(3, -1)`,
+ `select * from t4 where id = 3`,
+ testkit.Rows(`3 -1`),
+ },
+ {
+ `insert into t4(id) values(4)`,
+ `select * from t4 where id = 4`,
+ testkit.Rows(`4 3`),
+ },
+ {
+ `insert into t4(id, n) values(5, 5.5)`,
+ `select * from t4 where id = 5`,
+ testkit.Rows(`5 5.5`),
+ },
+ {
+ `insert into t4(id) values(6)`,
+ `select * from t4 where id = 6`,
+ testkit.Rows(`6 7`),
+ },
+ {
+ `insert into t4(id, n) values(7, '7.7')`,
+ `select * from t4 where id = 7`,
+ testkit.Rows(`7 7.7`),
+ },
+ {
+ `insert into t4(id) values(8)`,
+ `select * from t4 where id = 8`,
+ testkit.Rows(`8 9`),
+ },
+ {
+ `insert into t4(id, n) values(9, 10.4)`,
+ `select * from t4 where id = 9`,
+ testkit.Rows(`9 10.4`),
+ },
+ {
+ `insert into t4(id) values(10)`,
+ `select * from t4 where id = 10`,
+ testkit.Rows(`10 11`),
+ },
+ {
+ `insert into t5(id, n) values(1, 1)`,
+ `select * from t5 where id = 1`,
+ testkit.Rows(`1 1`),
+ },
+ {
+ `insert into t5(id) values(2)`,
+ `select * from t5 where id = 2`,
+ testkit.Rows(`2 2`),
+ },
+ {
+ `insert into t5(id) values(3)`,
+ `select * from t5 where id = 3`,
+ testkit.Rows(`3 3`),
+ },
+ {
+ `insert into t6(id, n) values(1, 1)`,
+ `select * from t6 where id = 1`,
+ testkit.Rows(`1 1`),
+ },
+ {
+ `insert into t6(id) values(2)`,
+ `select * from t6 where id = 2`,
+ testkit.Rows(`2 2`),
+ },
+ {
+ `insert into t6(id, n) values(3, -1)`,
+ `select * from t6 where id = 3`,
+ testkit.Rows(`3 -1`),
+ },
+ {
+ `insert into t6(id) values(4)`,
+ `select * from t6 where id = 4`,
+ testkit.Rows(`4 3`),
+ },
+ {
+ `insert into t6(id, n) values(5, 5.5)`,
+ `select * from t6 where id = 5`,
+ testkit.Rows(`5 5.5`),
+ },
+ {
+ `insert into t6(id) values(6)`,
+ `select * from t6 where id = 6`,
+ testkit.Rows(`6 7`),
+ },
+ {
+ `insert into t6(id, n) values(7, '7.7')`,
+ `select * from t4 where id = 7`,
+ testkit.Rows(`7 7.7`),
+ },
+ {
+ `insert into t6(id) values(8)`,
+ `select * from t4 where id = 8`,
+ testkit.Rows(`8 9`),
+ },
+ {
+ `insert into t6(id, n) values(9, 10.4)`,
+ `select * from t6 where id = 9`,
+ testkit.Rows(`9 10.4`),
+ },
+ {
+ `insert into t6(id) values(10)`,
+ `select * from t6 where id = 10`,
+ testkit.Rows(`10 11`),
+ },
+ {
+ `insert into t7(id, n) values(1, 1)`,
+ `select * from t7 where id = 1`,
+ testkit.Rows(`1 1`),
+ },
+ {
+ `insert into t7(id) values(2)`,
+ `select * from t7 where id = 2`,
+ testkit.Rows(`2 2`),
+ },
+ {
+ `insert into t7(id) values(3)`,
+ `select * from t7 where id = 3`,
+ testkit.Rows(`3 3`),
+ },
+
+ // the following is test for insert multiple values.
+ {
+ `insert into t8(n) values(1),(2)`,
+ `select * from t8 where id = 1`,
+ testkit.Rows(`1 1`),
+ },
+ {
+ `;`,
+ `select * from t8 where id = 2`,
+ testkit.Rows(`2 2`),
+ },
+ {
+ `;`,
+ `select last_insert_id();`,
+ testkit.Rows(`1`),
+ },
+ // test user rebase and auto alloc mixture.
+ {
+ `insert into t8 values(null, 3),(-1, -1),(null,4),(null, 5)`,
+ `select * from t8 where id = 3`,
+ testkit.Rows(`3 3`),
+ },
+ // -1 won't rebase allocator here cause -1 < base.
+ {
+ `;`,
+ `select * from t8 where id = -1`,
+ testkit.Rows(`-1 -1`),
+ },
+ {
+ `;`,
+ `select * from t8 where id = 4`,
+ testkit.Rows(`4 4`),
+ },
+ {
+ `;`,
+ `select * from t8 where id = 5`,
+ testkit.Rows(`5 5`),
+ },
+ {
+ `;`,
+ `select last_insert_id();`,
+ testkit.Rows(`3`),
+ },
+ {
+ `insert into t8 values(null, 6),(10, 7),(null, 8)`,
+ `select * from t8 where id = 6`,
+ testkit.Rows(`6 6`),
+ },
+ // 10 will rebase allocator here.
+ {
+ `;`,
+ `select * from t8 where id = 10`,
+ testkit.Rows(`10 7`),
+ },
+ {
+ `;`,
+ `select * from t8 where id = 11`,
+ testkit.Rows(`11 8`),
+ },
+ {
+ `;`,
+ `select last_insert_id()`,
+ testkit.Rows(`6`),
+ },
+ // fix bug for last_insert_id should be first allocated id in insert rows (skip the rebase id).
+ {
+ `insert into t8 values(100, 9),(null,10),(null,11)`,
+ `select * from t8 where id = 100`,
+ testkit.Rows(`100 9`),
+ },
+ {
+ `;`,
+ `select * from t8 where id = 101`,
+ testkit.Rows(`101 10`),
+ },
+ {
+ `;`,
+ `select * from t8 where id = 102`,
+ testkit.Rows(`102 11`),
+ },
+ {
+ `;`,
+ `select last_insert_id()`,
+ testkit.Rows(`101`),
+ },
+ // test with sql_mode: NO_AUTO_VALUE_ON_ZERO.
+ {
+ `;`,
+ `select @@sql_mode`,
+ testkit.Rows(`ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION`),
+ },
+ {
+ `;`,
+ "set session sql_mode = `ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO`",
+ nil,
+ },
+ {
+ `insert into t8 values (0, 12), (null, 13)`,
+ `select * from t8 where id = 0`,
+ testkit.Rows(`0 12`),
+ },
+ {
+ `;`,
+ `select * from t8 where id = 103`,
+ testkit.Rows(`103 13`),
+ },
+ {
+ `;`,
+ `select last_insert_id()`,
+ testkit.Rows(`103`),
+ },
+ // test without sql_mode: NO_AUTO_VALUE_ON_ZERO.
+ {
+ `;`,
+ "set session sql_mode = `ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION`",
+ nil,
+ },
+ // value 0 will be substitute by autoid.
+ {
+ `insert into t8 values (0, 14), (null, 15)`,
+ `select * from t8 where id = 104`,
+ testkit.Rows(`104 14`),
+ },
+ {
+ `;`,
+ `select * from t8 where id = 105`,
+ testkit.Rows(`105 15`),
+ },
+ {
+ `;`,
+ `select last_insert_id()`,
+ testkit.Rows(`104`),
+ },
+ // last test : auto increment allocation can find in retryInfo.
+ {
+ `retry : insert into t8 values (null, 16), (null, 17)`,
+ `select * from t8 where id = 1000`,
+ testkit.Rows(`1000 16`),
+ },
+ {
+ `;`,
+ `select * from t8 where id = 1001`,
+ testkit.Rows(`1001 17`),
+ },
+ {
+ `;`,
+ `select last_insert_id()`,
+ // this insert doesn't has the last_insert_id, should be same as the last insert case.
+ testkit.Rows(`104`),
+ },
+ }
+
+ for _, tt := range tests {
+ if strings.HasPrefix(tt.insert, "retry : ") {
+ // it's the last retry insert case, change the sessionVars.
+ retryInfo := &variable.RetryInfo{Retrying: true}
+ retryInfo.AddAutoIncrementID(1000)
+ retryInfo.AddAutoIncrementID(1001)
+ tk.Session().GetSessionVars().RetryInfo = retryInfo
+ tk.MustExec(tt.insert[8:])
+ tk.Session().GetSessionVars().RetryInfo = &variable.RetryInfo{}
+ } else {
+ tk.MustExec(tt.insert)
+ }
+ if tt.query == "set session sql_mode = `ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO`" ||
+ tt.query == "set session sql_mode = `ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION`" {
+ tk.MustExec(tt.query)
+ } else {
+ tk.MustQuery(tt.query).Check(tt.result)
+ }
+ }
+}
+
+// TestAutoIDIncrementAndOffset There is a potential issue in MySQL: when the value of auto_increment_offset is greater
+// than that of auto_increment_increment, the value of auto_increment_offset is ignored
+// (https://dev.mysql.com/doc/refman/8.0/en/replication-options-master.html#sysvar_auto_increment_increment),
+// This issue is a flaw of the implementation of MySQL and it doesn't exist in TiDB.
+func TestAutoIDIncrementAndOffset(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec(`use test`)
+ // Test for offset is larger than increment.
+ tk.Session().GetSessionVars().AutoIncrementIncrement = 5
+ tk.Session().GetSessionVars().AutoIncrementOffset = 10
+
+ for _, str := range []string{"", " AUTO_ID_CACHE 1"} {
+ tk.MustExec(`create table io (a int key auto_increment)` + str)
+ tk.MustExec(`insert into io values (null),(null),(null)`)
+ tk.MustQuery(`select * from io`).Check(testkit.Rows("10", "15", "20"))
+ tk.MustExec(`drop table io`)
+ }
+
+ // Test handle is PK.
+ for _, str := range []string{"", " AUTO_ID_CACHE 1"} {
+ tk.MustExec(`create table io (a int key auto_increment)` + str)
+ tk.Session().GetSessionVars().AutoIncrementOffset = 10
+ tk.Session().GetSessionVars().AutoIncrementIncrement = 2
+ tk.MustExec(`insert into io values (),(),()`)
+ tk.MustQuery(`select * from io`).Check(testkit.Rows("10", "12", "14"))
+ tk.MustExec(`delete from io`)
+
+ // Test reset the increment.
+ tk.Session().GetSessionVars().AutoIncrementIncrement = 5
+ tk.MustExec(`insert into io values (),(),()`)
+ tk.MustQuery(`select * from io`).Check(testkit.Rows("15", "20", "25"))
+ tk.MustExec(`delete from io`)
+
+ tk.Session().GetSessionVars().AutoIncrementIncrement = 10
+ tk.MustExec(`insert into io values (),(),()`)
+ tk.MustQuery(`select * from io`).Check(testkit.Rows("30", "40", "50"))
+ tk.MustExec(`delete from io`)
+
+ tk.Session().GetSessionVars().AutoIncrementIncrement = 5
+ tk.MustExec(`insert into io values (),(),()`)
+ tk.MustQuery(`select * from io`).Check(testkit.Rows("55", "60", "65"))
+ tk.MustExec(`drop table io`)
+ }
+
+ // Test handle is not PK.
+ for _, str := range []string{"", " AUTO_ID_CACHE 1"} {
+ tk.Session().GetSessionVars().AutoIncrementIncrement = 2
+ tk.Session().GetSessionVars().AutoIncrementOffset = 10
+ tk.MustExec(`create table io (a int, b int auto_increment, key(b))` + str)
+ tk.MustExec(`insert into io(b) values (null),(null),(null)`)
+ // AutoID allocation will take increment and offset into consideration.
+ tk.MustQuery(`select b from io`).Check(testkit.Rows("10", "12", "14"))
+ if str == "" {
+ // HandleID allocation will ignore the increment and offset.
+ tk.MustQuery(`select _tidb_rowid from io`).Check(testkit.Rows("15", "16", "17"))
+ } else {
+ // Separate row id and auto inc id, increment and offset works on auto inc id
+ tk.MustQuery(`select _tidb_rowid from io`).Check(testkit.Rows("1", "2", "3"))
+ }
+ tk.MustExec(`delete from io`)
+
+ tk.Session().GetSessionVars().AutoIncrementIncrement = 10
+ tk.MustExec(`insert into io(b) values (null),(null),(null)`)
+ tk.MustQuery(`select b from io`).Check(testkit.Rows("20", "30", "40"))
+ if str == "" {
+ tk.MustQuery(`select _tidb_rowid from io`).Check(testkit.Rows("41", "42", "43"))
+ } else {
+ tk.MustQuery(`select _tidb_rowid from io`).Check(testkit.Rows("4", "5", "6"))
+ }
+
+ // Test invalid value.
+ tk.Session().GetSessionVars().AutoIncrementIncrement = -1
+ tk.Session().GetSessionVars().AutoIncrementOffset = -2
+ tk.MustGetErrMsg(`insert into io(b) values (null),(null),(null)`,
+ "[autoid:8060]Invalid auto_increment settings: auto_increment_increment: -1, auto_increment_offset: -2, both of them must be in range [1..65535]")
+ tk.MustExec(`delete from io`)
+
+ tk.Session().GetSessionVars().AutoIncrementIncrement = 65536
+ tk.Session().GetSessionVars().AutoIncrementOffset = 65536
+ tk.MustGetErrMsg(`insert into io(b) values (null),(null),(null)`,
+ "[autoid:8060]Invalid auto_increment settings: auto_increment_increment: 65536, auto_increment_offset: 65536, both of them must be in range [1..65535]")
+
+ tk.MustExec(`drop table io`)
+ }
+}
+
+func TestRenameTableForAutoIncrement(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("USE test;")
+ tk.MustExec("drop table if exists t1, t2, t3;")
+ tk.MustExec("create table t1 (id int key auto_increment);")
+ tk.MustExec("insert into t1 values ()")
+ tk.MustExec("rename table t1 to t11")
+ tk.MustExec("insert into t11 values ()")
+ // TODO(tiancaiamao): fix bug and uncomment here, rename table should not discard the cached AUTO_ID.
+ // tk.MustQuery("select * from t11").Check(testkit.Rows("1", "2"))
+
+ // auto_id_cache 1 use another implementation and do not have such bug.
+ tk.MustExec("create table t2 (id int key auto_increment) auto_id_cache 1;")
+ tk.MustExec("insert into t2 values ()")
+ tk.MustExec("rename table t2 to t22")
+ tk.MustExec("insert into t22 values ()")
+ tk.MustQuery("select * from t22").Check(testkit.Rows("1", "2"))
+
+ tk.MustExec("create table t3 (id int key auto_increment) auto_id_cache 100;")
+ tk.MustExec("insert into t3 values ()")
+ tk.MustExec("rename table t3 to t33")
+ tk.MustExec("insert into t33 values ()")
+ // TODO(tiancaiamao): fix bug and uncomment here, rename table should not discard the cached AUTO_ID.
+ // tk.MustQuery("select * from t33").Check(testkit.Rows("1", "2"))
+}
+
+func TestAlterTableAutoIDCache(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("USE test;")
+ tk.MustExec("drop table if exists t_473;")
+ tk.MustExec("create table t_473 (id int key auto_increment)")
+ tk.MustExec("insert into t_473 values ()")
+ tk.MustQuery("select * from t_473").Check(testkit.Rows("1"))
+ rs, err := tk.Exec("show table t_473 next_row_id")
+ require.NoError(t, err)
+ rows, err1 := session.ResultSetToStringSlice(context.Background(), tk.Session(), rs)
+ require.NoError(t, err1)
+ // "test t_473 id 1013608 AUTO_INCREMENT"
+ val, err2 := strconv.ParseUint(rows[0][3], 10, 64)
+ require.NoError(t, err2)
+
+ tk.MustExec("alter table t_473 auto_id_cache = 100")
+ tk.MustQuery("show table t_473 next_row_id").Check(testkit.Rows(
+ fmt.Sprintf("test t_473 id %d _TIDB_ROWID", val),
+ "test t_473 id 1 AUTO_INCREMENT",
+ ))
+ tk.MustExec("insert into t_473 values ()")
+ tk.MustQuery("select * from t_473").Check(testkit.Rows("1", fmt.Sprintf("%d", val)))
+ tk.MustQuery("show table t_473 next_row_id").Check(testkit.Rows(
+ fmt.Sprintf("test t_473 id %d _TIDB_ROWID", val+100),
+ "test t_473 id 1 AUTO_INCREMENT",
+ ))
+
+ // Note that auto_id_cache=1 use a different implementation, switch between them is not allowed.
+ // TODO: relax this restriction and update the test case.
+ tk.MustExecToErr("alter table t_473 auto_id_cache = 1")
+}
+
+func TestMockAutoIDServiceError(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("USE test;")
+ tk.MustExec("create table t_mock_err (id int key auto_increment) auto_id_cache 1")
+
+ failpoint.Enable("github.com/pingcap/tidb/autoid_service/mockErr", `return(true)`)
+ defer failpoint.Disable("github.com/pingcap/tidb/autoid_service/mockErr")
+ // Cover a bug that the autoid client retry non-retryable errors forever cause dead loop.
+ tk.MustExecToErr("insert into t_mock_err values (),()") // mock error, instead of dead loop
+}
+
+func TestIssue39528(t *testing.T) {
+ // When AUTO_ID_CACHE is 1, it should not affect row id setting when autoid and rowid are separated.
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test;")
+ tk.MustExec("create table issue39528 (id int unsigned key nonclustered auto_increment) shard_row_id_bits=4 auto_id_cache 1;")
+ tk.MustExec("insert into issue39528 values ()")
+ tk.MustExec("insert into issue39528 values ()")
+
+ ctx := context.Background()
+ var codeRun bool
+ ctx = context.WithValue(ctx, "testIssue39528", &codeRun)
+ _, err := tk.ExecWithContext(ctx, "insert into issue39528 values ()")
+ require.NoError(t, err)
+ // Make sure the code does not visit tikv on allocate path.
+ require.False(t, codeRun)
+}
diff --git a/executor/autoidtest/main_test.go b/executor/autoidtest/main_test.go
new file mode 100644
index 0000000000000..f87db4afe1371
--- /dev/null
+++ b/executor/autoidtest/main_test.go
@@ -0,0 +1,44 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package autoid_test
+
+import (
+ "testing"
+
+ "github.com/pingcap/tidb/config"
+ "github.com/pingcap/tidb/meta/autoid"
+ "github.com/tikv/client-go/v2/tikv"
+ "go.uber.org/goleak"
+)
+
+func TestMain(m *testing.M) {
+ autoid.SetStep(5000)
+ config.UpdateGlobal(func(conf *config.Config) {
+ conf.Log.SlowThreshold = 30000 // 30s
+ conf.TiKVClient.AsyncCommit.SafeWindow = 0
+ conf.TiKVClient.AsyncCommit.AllowedClockDrift = 0
+ conf.Experimental.AllowsExpressionIndex = true
+ })
+ tikv.EnableFailpoints()
+
+ opts := []goleak.Option{
+ goleak.IgnoreTopFunction("github.com/golang/glog.(*loggingT).flushDaemon"),
+ goleak.IgnoreTopFunction("github.com/lestrrat-go/httprc.runFetchWorker"),
+ goleak.IgnoreTopFunction("go.etcd.io/etcd/client/pkg/v3/logutil.(*MergeLogger).outputLoop"),
+ goleak.IgnoreTopFunction("gopkg.in/natefinch/lumberjack%2ev2.(*Logger).millRun"),
+ goleak.IgnoreTopFunction("github.com/tikv/client-go/v2/txnkv/transaction.keepAlive"),
+ }
+ goleak.VerifyTestMain(m, opts...)
+}
diff --git a/executor/batch_checker.go b/executor/batch_checker.go
index d3820ecb0d08c..838c6af7bace0 100644
--- a/executor/batch_checker.go
+++ b/executor/batch_checker.go
@@ -146,8 +146,33 @@ func getKeysNeedCheckOneRow(ctx sessionctx.Context, t table.Table, row []types.D
}
}
- // addChangingColTimes is used to fetch values while processing "modify/change column" operation.
- addChangingColTimes := 0
+ // extraColumns is used to fetch values while processing "add/drop/modify/change column" operation.
+ extraColumns := 0
+ for _, col := range t.WritableCols() {
+ // if there is a changing column, append the dependency column for index fetch values
+ if col.ChangeStateInfo != nil && col.State != model.StatePublic {
+ value, err := table.CastValue(ctx, row[col.DependencyColumnOffset], col.ColumnInfo, false, false)
+ if err != nil {
+ return nil, err
+ }
+ row = append(row, value)
+ extraColumns++
+ continue
+ }
+
+ if col.State != model.StatePublic {
+ // only append origin default value for index fetch values
+ if col.Offset >= len(row) {
+ value, err := table.GetColOriginDefaultValue(ctx, col.ToInfo())
+ if err != nil {
+ return nil, err
+ }
+
+ row = append(row, value)
+ extraColumns++
+ }
+ }
+ }
// append unique keys and errors
for _, v := range t.Indices() {
if !tables.IsIndexWritable(v) {
@@ -159,40 +184,38 @@ func getKeysNeedCheckOneRow(ctx sessionctx.Context, t table.Table, row []types.D
if t.Meta().IsCommonHandle && v.Meta().Primary {
continue
}
- if len(row) < len(t.WritableCols()) && addChangingColTimes == 0 {
- if col := tables.FindChangingCol(t.WritableCols(), v.Meta()); col != nil {
- row = append(row, row[col.DependencyColumnOffset])
- addChangingColTimes++
- }
- }
colVals, err1 := v.FetchValues(row, nil)
if err1 != nil {
return nil, err1
}
// Pass handle = 0 to GenIndexKey,
// due to we only care about distinct key.
- key, distinct, err1 := v.GenIndexKey(ctx.GetSessionVars().StmtCtx,
- colVals, kv.IntHandle(0), nil)
- if err1 != nil {
- return nil, err1
- }
- // Skip the non-distinct keys.
- if !distinct {
- continue
- }
- colValStr, err1 := formatDataForDupError(colVals)
- if err1 != nil {
- return nil, err1
+ iter := v.GenIndexKVIter(ctx.GetSessionVars().StmtCtx, colVals, kv.IntHandle(0), nil)
+ for iter.Valid() {
+ key, _, distinct, err1 := iter.Next(nil)
+ if err1 != nil {
+ return nil, err1
+ }
+ // Skip the non-distinct keys.
+ if !distinct {
+ continue
+ }
+ // If index is used ingest ways, then we should check key from temp index.
+ if v.Meta().State != model.StatePublic && v.Meta().BackfillState != model.BackfillStateInapplicable {
+ _, key, _ = tables.GenTempIdxKeyByState(v.Meta(), key)
+ }
+ colValStr, err1 := formatDataForDupError(colVals)
+ if err1 != nil {
+ return nil, err1
+ }
+ uniqueKeys = append(uniqueKeys, &keyValueWithDupInfo{
+ newKey: key,
+ dupErr: kv.ErrKeyExists.FastGenByArgs(colValStr, fmt.Sprintf("%s.%s", v.TableMeta().Name.String(), v.Meta().Name.String())),
+ commonHandle: t.Meta().IsCommonHandle,
+ })
}
- uniqueKeys = append(uniqueKeys, &keyValueWithDupInfo{
- newKey: key,
- dupErr: kv.ErrKeyExists.FastGenByArgs(colValStr, fmt.Sprintf("%s.%s", v.TableMeta().Name.String(), v.Meta().Name.String())),
- commonHandle: t.Meta().IsCommonHandle,
- })
- }
- if addChangingColTimes == 1 {
- row = row[:len(row)-1]
}
+ row = row[:len(row)-extraColumns]
result = append(result, toBeCheckedRow{
row: row,
handleKey: handleKey,
diff --git a/executor/batch_point_get.go b/executor/batch_point_get.go
index 1af256ade8c31..ee9808700aaec 100644
--- a/executor/batch_point_get.go
+++ b/executor/batch_point_get.go
@@ -29,6 +29,7 @@ import (
"github.com/pingcap/tidb/sessionctx"
"github.com/pingcap/tidb/sessionctx/variable"
driver "github.com/pingcap/tidb/store/driver/txn"
+ "github.com/pingcap/tidb/table"
"github.com/pingcap/tidb/table/tables"
"github.com/pingcap/tidb/tablecodec"
"github.com/pingcap/tidb/types"
@@ -158,6 +159,9 @@ func MockNewCacheTableSnapShot(snapshot kv.Snapshot, memBuffer kv.MemBuffer) *ca
// Close implements the Executor interface.
func (e *BatchPointGetExec) Close() error {
+ if e.runtimeStats != nil {
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
+ }
if e.runtimeStats != nil && e.snapshot != nil {
e.snapshot.SetOption(kv.CollectRuntimeStats, nil)
}
@@ -190,7 +194,7 @@ func (e *BatchPointGetExec) Next(ctx context.Context, req *chunk.Chunk) error {
e.index++
}
- err := FillVirtualColumnValue(e.virtualColumnRetFieldTypes, e.virtualColumnIndex, e.schema, e.columns, e.ctx, req)
+ err := table.FillVirtualColumnValue(e.virtualColumnRetFieldTypes, e.virtualColumnIndex, e.schema.Columns, e.columns, e.ctx, req)
if err != nil {
return err
}
diff --git a/executor/benchmark_test.go b/executor/benchmark_test.go
index 99bb6ceec9103..3f64164332ce7 100644
--- a/executor/benchmark_test.go
+++ b/executor/benchmark_test.go
@@ -906,37 +906,44 @@ func prepare4HashJoin(testCase *hashJoinTestCase, innerExec, outerExec Executor)
joinSchema.Append(cols1...)
}
- joinKeys := make([]*expression.Column, 0, len(testCase.keyIdx))
- for _, keyIdx := range testCase.keyIdx {
- joinKeys = append(joinKeys, cols0[keyIdx])
- }
- probeKeys := make([]*expression.Column, 0, len(testCase.keyIdx))
- for _, keyIdx := range testCase.keyIdx {
- probeKeys = append(probeKeys, cols1[keyIdx])
- }
+ joinKeysColIdx := make([]int, 0, len(testCase.keyIdx))
+ joinKeysColIdx = append(joinKeysColIdx, testCase.keyIdx...)
+ probeKeysColIdx := make([]int, 0, len(testCase.keyIdx))
+ probeKeysColIdx = append(probeKeysColIdx, testCase.keyIdx...)
e := &HashJoinExec{
baseExecutor: newBaseExecutor(testCase.ctx, joinSchema, 5, innerExec, outerExec),
- probeSideTupleFetcher: probeSideTupleFetcher{
+ hashJoinCtx: &hashJoinCtx{
+ sessCtx: testCase.ctx,
+ joinType: testCase.joinType, // 0 for InnerJoin, 1 for LeftOutersJoin, 2 for RightOuterJoin
+ isOuterJoin: false,
+ useOuterToBuild: testCase.useOuterToBuild,
+ concurrency: uint(testCase.concurrency),
+ probeTypes: retTypes(outerExec),
+ buildTypes: retTypes(innerExec),
+ },
+ probeSideTupleFetcher: &probeSideTupleFetcher{
probeSideExec: outerExec,
},
- probeWorkers: make([]probeWorker, testCase.concurrency),
- concurrency: uint(testCase.concurrency),
- joinType: testCase.joinType, // 0 for InnerJoin, 1 for LeftOutersJoin, 2 for RightOuterJoin
- isOuterJoin: false,
- buildKeys: joinKeys,
- probeKeys: probeKeys,
- buildSideExec: innerExec,
- buildSideEstCount: float64(testCase.rows),
- useOuterToBuild: testCase.useOuterToBuild,
+ probeWorkers: make([]*probeWorker, testCase.concurrency),
+ buildWorker: &buildWorker{
+ buildKeyColIdx: joinKeysColIdx,
+ buildSideExec: innerExec,
+ },
}
childrenUsedSchema := markChildrenUsedCols(e.Schema(), e.children[0].Schema(), e.children[1].Schema())
- defaultValues := make([]types.Datum, e.buildSideExec.Schema().Len())
+ defaultValues := make([]types.Datum, e.buildWorker.buildSideExec.Schema().Len())
lhsTypes, rhsTypes := retTypes(innerExec), retTypes(outerExec)
for i := uint(0); i < e.concurrency; i++ {
- e.probeWorkers[i].joiner = newJoiner(testCase.ctx, e.joinType, true, defaultValues,
- nil, lhsTypes, rhsTypes, childrenUsedSchema, false)
+ e.probeWorkers[i] = &probeWorker{
+ workerID: i,
+ hashJoinCtx: e.hashJoinCtx,
+ joiner: newJoiner(testCase.ctx, e.joinType, true, defaultValues,
+ nil, lhsTypes, rhsTypes, childrenUsedSchema, false),
+ probeKeyColIdx: probeKeysColIdx,
+ }
}
+ e.buildWorker.hashJoinCtx = e.hashJoinCtx
memLimit := int64(-1)
if testCase.disk {
memLimit = 1
@@ -1194,7 +1201,7 @@ func benchmarkBuildHashTable(b *testing.B, casTest *hashJoinTestCase, dataSource
close(innerResultCh)
b.StartTimer()
- if err := exec.buildHashTableForList(innerResultCh); err != nil {
+ if err := exec.buildWorker.buildHashTableForList(innerResultCh); err != nil {
b.Fatal(err)
}
diff --git a/executor/bind.go b/executor/bind.go
index cf337968d4130..90272e6878620 100644
--- a/executor/bind.go
+++ b/executor/bind.go
@@ -38,6 +38,9 @@ type SQLBindExec struct {
isGlobal bool
bindAst ast.StmtNode
newStatus string
+ source string // by manual or from history, only in create stmt
+ sqlDigest string
+ planDigest string
}
// Next implements the Executor Next interface.
@@ -48,6 +51,8 @@ func (e *SQLBindExec) Next(ctx context.Context, req *chunk.Chunk) error {
return e.createSQLBind()
case plannercore.OpSQLBindDrop:
return e.dropSQLBind()
+ case plannercore.OpSQLBindDropByDigest:
+ return e.dropSQLBindByDigest()
case plannercore.OpFlushBindings:
return e.flushBindings()
case plannercore.OpCaptureBindings:
@@ -58,6 +63,8 @@ func (e *SQLBindExec) Next(ctx context.Context, req *chunk.Chunk) error {
return e.reloadBindings()
case plannercore.OpSetBindingStatus:
return e.setBindingStatus()
+ case plannercore.OpSetBindingStatusByDigest:
+ return e.setBindingStatusByDigest()
default:
return errors.Errorf("unsupported SQL bind operation: %v", e.sqlBindOp)
}
@@ -83,6 +90,20 @@ func (e *SQLBindExec) dropSQLBind() error {
return err
}
+func (e *SQLBindExec) dropSQLBindByDigest() error {
+ if e.sqlDigest == "" {
+ return errors.New("sql digest is empty")
+ }
+ if !e.isGlobal {
+ handle := e.ctx.Value(bindinfo.SessionBindInfoKeyType).(*bindinfo.SessionHandle)
+ err := handle.DropBindRecordByDigest(e.sqlDigest)
+ return err
+ }
+ affectedRows, err := domain.GetDomain(e.ctx).BindHandle().DropBindRecordByDigest(e.sqlDigest)
+ e.ctx.GetSessionVars().StmtCtx.AddAffectedRows(affectedRows)
+ return err
+}
+
func (e *SQLBindExec) setBindingStatus() error {
var bindInfo *bindinfo.Binding
if e.bindSQL != "" {
@@ -100,6 +121,15 @@ func (e *SQLBindExec) setBindingStatus() error {
return err
}
+func (e *SQLBindExec) setBindingStatusByDigest() error {
+ ok, err := domain.GetDomain(e.ctx).BindHandle().SetBindRecordStatusByDigest(e.newStatus, e.sqlDigest)
+ if err == nil && !ok {
+ warningMess := errors.New("There are no bindings can be set the status. Please check the SQL text")
+ e.ctx.GetSessionVars().StmtCtx.AppendWarning(warningMess)
+ }
+ return err
+}
+
func (e *SQLBindExec) createSQLBind() error {
// For audit log, SQLBindExec execute "explain" statement internally, save and recover stmtctx
// is necessary to avoid 'create binding' been recorded as 'explain'.
@@ -109,11 +139,13 @@ func (e *SQLBindExec) createSQLBind() error {
}()
bindInfo := bindinfo.Binding{
- BindSQL: e.bindSQL,
- Charset: e.charset,
- Collation: e.collation,
- Status: bindinfo.Enabled,
- Source: bindinfo.Manual,
+ BindSQL: e.bindSQL,
+ Charset: e.charset,
+ Collation: e.collation,
+ Status: bindinfo.Enabled,
+ Source: e.source,
+ SQLDigest: e.sqlDigest,
+ PlanDigest: e.planDigest,
}
record := &bindinfo.BindRecord{
OriginalSQL: e.normdOrigSQL,
diff --git a/executor/builder.go b/executor/builder.go
index a1887cfafa67d..137fca5f0b8f5 100644
--- a/executor/builder.go
+++ b/executor/builder.go
@@ -433,7 +433,8 @@ func buildIndexLookUpChecker(b *executorBuilder, p *plannercore.PhysicalIndexLoo
tps := make([]*types.FieldType, 0, fullColLen)
for _, col := range is.Columns {
- tps = append(tps, &(col.FieldType))
+ // tps is used to decode the index, we should use the element type of the array if any.
+ tps = append(tps, col.FieldType.ArrayType())
}
if !e.isCommonHandle() {
@@ -1003,6 +1004,17 @@ func (b *executorBuilder) buildPlanReplayer(v *plannercore.PlanReplayer) Executo
}
return e
}
+ if v.Capture {
+ e := &PlanReplayerExec{
+ baseExecutor: newBaseExecutor(b.ctx, nil, v.ID()),
+ CaptureInfo: &PlanReplayerCaptureInfo{
+ SQLDigest: v.SQLDigest,
+ PlanDigest: v.PlanDigest,
+ },
+ }
+ return e
+ }
+
e := &PlanReplayerExec{
baseExecutor: newBaseExecutor(b.ctx, v.Schema(), v.ID()),
DumpInfo: &PlanReplayerDumpInfo{
@@ -1389,17 +1401,6 @@ func (b *executorBuilder) buildMergeJoin(v *plannercore.PhysicalMergeJoin) Execu
return e
}
-func (b *executorBuilder) buildSideEstCount(v *plannercore.PhysicalHashJoin) float64 {
- buildSide := v.Children()[v.InnerChildIdx]
- if v.UseOuterToBuild {
- buildSide = v.Children()[1-v.InnerChildIdx]
- }
- if buildSide.Stats().HistColl == nil || buildSide.Stats().HistColl.Pseudo {
- return 0.0
- }
- return buildSide.StatsCount()
-}
-
func (b *executorBuilder) buildHashJoin(v *plannercore.PhysicalHashJoin) Executor {
leftExec := b.build(v.Children()[0])
if b.err != nil {
@@ -1412,12 +1413,19 @@ func (b *executorBuilder) buildHashJoin(v *plannercore.PhysicalHashJoin) Executo
}
e := &HashJoinExec{
- baseExecutor: newBaseExecutor(b.ctx, v.Schema(), v.ID(), leftExec, rightExec),
- concurrency: v.Concurrency,
- joinType: v.JoinType,
- isOuterJoin: v.JoinType.IsOuterJoin(),
- useOuterToBuild: v.UseOuterToBuild,
+ baseExecutor: newBaseExecutor(b.ctx, v.Schema(), v.ID(), leftExec, rightExec),
+ probeSideTupleFetcher: &probeSideTupleFetcher{},
+ probeWorkers: make([]*probeWorker, v.Concurrency),
+ buildWorker: &buildWorker{},
+ hashJoinCtx: &hashJoinCtx{
+ sessCtx: b.ctx,
+ isOuterJoin: v.JoinType.IsOuterJoin(),
+ useOuterToBuild: v.UseOuterToBuild,
+ joinType: v.JoinType,
+ concurrency: v.Concurrency,
+ },
}
+ e.hashJoinCtx.allocPool = e.AllocPool
defaultValues := v.DefaultValues
lhsTypes, rhsTypes := retTypes(leftExec), retTypes(rightExec)
if v.InnerChildIdx == 1 {
@@ -1435,15 +1443,17 @@ func (b *executorBuilder) buildHashJoin(v *plannercore.PhysicalHashJoin) Executo
leftIsBuildSide := true
e.isNullEQ = v.IsNullEQ
+ var probeKeys, probeNAKeys, buildKeys, buildNAKeys []*expression.Column
+ var buildSideExec Executor
if v.UseOuterToBuild {
// update the buildSideEstCount due to changing the build side
if v.InnerChildIdx == 1 {
- e.buildSideExec, e.buildKeys, e.buildNAKeys = leftExec, v.LeftJoinKeys, v.LeftNAJoinKeys
- e.probeSideTupleFetcher.probeSideExec, e.probeKeys, e.probeNAKeys = rightExec, v.RightJoinKeys, v.RightNAJoinKeys
+ buildSideExec, buildKeys, buildNAKeys = leftExec, v.LeftJoinKeys, v.LeftNAJoinKeys
+ e.probeSideTupleFetcher.probeSideExec, probeKeys, probeNAKeys = rightExec, v.RightJoinKeys, v.RightNAJoinKeys
e.outerFilter = v.LeftConditions
} else {
- e.buildSideExec, e.buildKeys, e.buildNAKeys = rightExec, v.RightJoinKeys, v.RightNAJoinKeys
- e.probeSideTupleFetcher.probeSideExec, e.probeKeys, e.probeNAKeys = leftExec, v.LeftJoinKeys, v.LeftNAJoinKeys
+ buildSideExec, buildKeys, buildNAKeys = rightExec, v.RightJoinKeys, v.RightNAJoinKeys
+ e.probeSideTupleFetcher.probeSideExec, probeKeys, probeNAKeys = leftExec, v.LeftJoinKeys, v.LeftNAJoinKeys
e.outerFilter = v.RightConditions
leftIsBuildSide = false
}
@@ -1452,27 +1462,48 @@ func (b *executorBuilder) buildHashJoin(v *plannercore.PhysicalHashJoin) Executo
}
} else {
if v.InnerChildIdx == 0 {
- e.buildSideExec, e.buildKeys, e.buildNAKeys = leftExec, v.LeftJoinKeys, v.LeftNAJoinKeys
- e.probeSideTupleFetcher.probeSideExec, e.probeKeys, e.probeNAKeys = rightExec, v.RightJoinKeys, v.RightNAJoinKeys
+ buildSideExec, buildKeys, buildNAKeys = leftExec, v.LeftJoinKeys, v.LeftNAJoinKeys
+ e.probeSideTupleFetcher.probeSideExec, probeKeys, probeNAKeys = rightExec, v.RightJoinKeys, v.RightNAJoinKeys
e.outerFilter = v.RightConditions
} else {
- e.buildSideExec, e.buildKeys, e.buildNAKeys = rightExec, v.RightJoinKeys, v.RightNAJoinKeys
- e.probeSideTupleFetcher.probeSideExec, e.probeKeys, e.probeNAKeys = leftExec, v.LeftJoinKeys, v.LeftNAJoinKeys
+ buildSideExec, buildKeys, buildNAKeys = rightExec, v.RightJoinKeys, v.RightNAJoinKeys
+ e.probeSideTupleFetcher.probeSideExec, probeKeys, probeNAKeys = leftExec, v.LeftJoinKeys, v.LeftNAJoinKeys
e.outerFilter = v.LeftConditions
leftIsBuildSide = false
}
if defaultValues == nil {
- defaultValues = make([]types.Datum, e.buildSideExec.Schema().Len())
+ defaultValues = make([]types.Datum, buildSideExec.Schema().Len())
}
}
+ probeKeyColIdx := make([]int, len(probeKeys))
+ probeNAKeColIdx := make([]int, len(probeNAKeys))
+ buildKeyColIdx := make([]int, len(buildKeys))
+ buildNAKeyColIdx := make([]int, len(buildNAKeys))
+ for i := range buildKeys {
+ buildKeyColIdx[i] = buildKeys[i].Index
+ }
+ for i := range buildNAKeys {
+ buildNAKeyColIdx[i] = buildNAKeys[i].Index
+ }
+ for i := range probeKeys {
+ probeKeyColIdx[i] = probeKeys[i].Index
+ }
+ for i := range probeNAKeys {
+ probeNAKeColIdx[i] = probeNAKeys[i].Index
+ }
isNAJoin := len(v.LeftNAJoinKeys) > 0
- e.buildSideEstCount = b.buildSideEstCount(v)
childrenUsedSchema := markChildrenUsedCols(v.Schema(), v.Children()[0].Schema(), v.Children()[1].Schema())
- e.probeWorkers = make([]probeWorker, e.concurrency)
for i := uint(0); i < e.concurrency; i++ {
- e.probeWorkers[i].joiner = newJoiner(b.ctx, v.JoinType, v.InnerChildIdx == 0, defaultValues,
- v.OtherConditions, lhsTypes, rhsTypes, childrenUsedSchema, isNAJoin)
+ e.probeWorkers[i] = &probeWorker{
+ hashJoinCtx: e.hashJoinCtx,
+ workerID: i,
+ joiner: newJoiner(b.ctx, v.JoinType, v.InnerChildIdx == 0, defaultValues, v.OtherConditions, lhsTypes, rhsTypes, childrenUsedSchema, isNAJoin),
+ probeKeyColIdx: probeKeyColIdx,
+ probeNAKeyColIdx: probeNAKeColIdx,
+ }
}
+ e.buildWorker.buildKeyColIdx, e.buildWorker.buildNAKeyColIdx, e.buildWorker.buildSideExec, e.buildWorker.hashJoinCtx = buildKeyColIdx, buildNAKeyColIdx, buildSideExec, e.hashJoinCtx
+ e.hashJoinCtx.isNullAware = isNAJoin
executorCountHashJoinExec.Inc()
// We should use JoinKey to construct the type information using by hashing, instead of using the child's schema directly.
@@ -1694,7 +1725,7 @@ func (b *executorBuilder) buildTableDual(v *plannercore.PhysicalTableDual) Execu
// `getSnapshotTS` returns for-update-ts if in insert/update/delete/lock statement otherwise the isolation read ts
// Please notice that in RC isolation, the above two ts are the same
-func (b *executorBuilder) getSnapshotTS() (uint64, error) {
+func (b *executorBuilder) getSnapshotTS() (ts uint64, err error) {
if b.forDataReaderBuilder {
return b.dataReaderTS, nil
}
@@ -2550,7 +2581,7 @@ func (b *executorBuilder) buildAnalyzeSamplingPushdown(task plannercore.AnalyzeC
SampleSize: int64(opts[ast.AnalyzeOptNumSamples]),
SampleRate: sampleRate,
SketchSize: maxSketchSize,
- ColumnsInfo: util.ColumnsToProto(task.ColsInfo, task.TblInfo.PKIsHandle),
+ ColumnsInfo: util.ColumnsToProto(task.ColsInfo, task.TblInfo.PKIsHandle, false),
ColumnGroups: colGroups,
}
if task.TblInfo != nil {
@@ -2559,7 +2590,7 @@ func (b *executorBuilder) buildAnalyzeSamplingPushdown(task plannercore.AnalyzeC
e.analyzePB.ColReq.PrimaryPrefixColumnIds = tables.PrimaryPrefixColumnIDs(task.TblInfo)
}
}
- b.err = plannercore.SetPBColumnsDefaultValue(b.ctx, e.analyzePB.ColReq.ColumnsInfo, task.ColsInfo)
+ b.err = tables.SetPBColumnsDefaultValue(b.ctx, e.analyzePB.ColReq.ColumnsInfo, task.ColsInfo)
return &analyzeTask{taskType: colTask, colExec: e, job: job}
}
@@ -2711,7 +2742,7 @@ func (b *executorBuilder) buildAnalyzeColumnsPushdown(task plannercore.AnalyzeCo
BucketSize: int64(opts[ast.AnalyzeOptNumBuckets]),
SampleSize: MaxRegionSampleSize,
SketchSize: maxSketchSize,
- ColumnsInfo: util.ColumnsToProto(cols, task.HandleCols != nil && task.HandleCols.IsInt()),
+ ColumnsInfo: util.ColumnsToProto(cols, task.HandleCols != nil && task.HandleCols.IsInt(), false),
CmsketchDepth: &depth,
CmsketchWidth: &width,
}
@@ -2741,7 +2772,7 @@ func (b *executorBuilder) buildAnalyzeColumnsPushdown(task plannercore.AnalyzeCo
e.analyzePB.Tp = tipb.AnalyzeType_TypeMixed
e.commonHandle = task.CommonHandleInfo
}
- b.err = plannercore.SetPBColumnsDefaultValue(b.ctx, e.analyzePB.ColReq.ColumnsInfo, cols)
+ b.err = tables.SetPBColumnsDefaultValue(b.ctx, e.analyzePB.ColReq.ColumnsInfo, cols)
return &analyzeTask{taskType: colTask, colExec: e, job: job}
}
@@ -3255,7 +3286,11 @@ func (b *executorBuilder) buildIndexLookUpMergeJoin(v *plannercore.PhysicalIndex
}
func (b *executorBuilder) buildIndexNestedLoopHashJoin(v *plannercore.PhysicalIndexHashJoin) Executor {
- e := b.buildIndexLookUpJoin(&(v.PhysicalIndexJoin)).(*IndexLookUpJoin)
+ join := b.buildIndexLookUpJoin(&(v.PhysicalIndexJoin))
+ if b.err != nil {
+ return nil
+ }
+ e := join.(*IndexLookUpJoin)
idxHash := &IndexNestedLoopHashJoin{
IndexLookUpJoin: *e,
keepOuterOrder: v.KeepOuterOrder,
@@ -3368,6 +3403,7 @@ func (b *executorBuilder) buildMPPGather(v *plannercore.PhysicalTableReader) Exe
is: b.is,
originalPlan: v.GetTablePlan(),
startTS: startTs,
+ mppQueryID: kv.MPPQueryID{QueryTs: getMPPQueryTS(b.ctx), LocalQueryID: getMPPQueryID(b.ctx), ServerID: domain.GetDomain(b.ctx).ServerID()},
}
return gather
}
@@ -3375,10 +3411,6 @@ func (b *executorBuilder) buildMPPGather(v *plannercore.PhysicalTableReader) Exe
// buildTableReader builds a table reader executor. It first build a no range table reader,
// and then update it ranges from table scan plan.
func (b *executorBuilder) buildTableReader(v *plannercore.PhysicalTableReader) Executor {
- if v.StoreType != kv.TiKV && b.isStaleness {
- b.err = errors.New("stale requests require tikv backend")
- return nil
- }
failpoint.Inject("checkUseMPP", func(val failpoint.Value) {
if !b.ctx.GetSessionVars().InRestrictedSQL && val.(bool) != useMPPExecution(b.ctx, v) {
if val.(bool) {
@@ -3477,17 +3509,39 @@ func buildIndexRangeForEachPartition(ctx sessionctx.Context, usedPartitions []ta
return nextRange, nil
}
-func keyColumnsIncludeAllPartitionColumns(keyColumns []int, pe *tables.PartitionExpr) bool {
- tmp := make(map[int]struct{}, len(keyColumns))
- for _, offset := range keyColumns {
- tmp[offset] = struct{}{}
+func getPartitionKeyColOffsets(keyColIDs []int64, pt table.PartitionedTable) []int {
+ keyColOffsets := make([]int, len(keyColIDs))
+ for i, colID := range keyColIDs {
+ offset := -1
+ for j, col := range pt.Cols() {
+ if colID == col.ID {
+ offset = j
+ break
+ }
+ }
+ if offset == -1 {
+ return nil
+ }
+ keyColOffsets[i] = offset
+ }
+
+ pe, err := pt.(interface {
+ PartitionExpr() (*tables.PartitionExpr, error)
+ }).PartitionExpr()
+ if err != nil {
+ return nil
+ }
+
+ offsetMap := make(map[int]struct{})
+ for _, offset := range keyColOffsets {
+ offsetMap[offset] = struct{}{}
}
for _, offset := range pe.ColumnOffset {
- if _, ok := tmp[offset]; !ok {
- return false
+ if _, ok := offsetMap[offset]; !ok {
+ return nil
}
}
- return true
+ return keyColOffsets
}
func (builder *dataReaderBuilder) prunePartitionForInnerExecutor(tbl table.Table, schema *expression.Schema, partitionInfo *plannercore.PartitionInfo,
@@ -3502,15 +3556,6 @@ func (builder *dataReaderBuilder) prunePartitionForInnerExecutor(tbl table.Table
return nil, false, nil, err
}
- // check whether can runtime prune.
- type partitionExpr interface {
- PartitionExpr() (*tables.PartitionExpr, error)
- }
- pe, err := tbl.(partitionExpr).PartitionExpr()
- if err != nil {
- return nil, false, nil, err
- }
-
// recalculate key column offsets
if len(lookUpContent) == 0 {
return nil, false, nil, nil
@@ -3518,29 +3563,9 @@ func (builder *dataReaderBuilder) prunePartitionForInnerExecutor(tbl table.Table
if lookUpContent[0].keyColIDs == nil {
return nil, false, nil, plannercore.ErrInternal.GenWithStack("cannot get column IDs when dynamic pruning")
}
- keyColOffsets := make([]int, len(lookUpContent[0].keyColIDs))
- for i, colID := range lookUpContent[0].keyColIDs {
- offset := -1
- for j, col := range partitionTbl.Cols() {
- if colID == col.ID {
- offset = j
- break
- }
- }
- if offset == -1 {
- return nil, false, nil, plannercore.ErrInternal.GenWithStack("invalid column offset when dynamic pruning")
- }
- keyColOffsets[i] = offset
- }
-
- offsetMap := make(map[int]bool)
- for _, offset := range keyColOffsets {
- offsetMap[offset] = true
- }
- for _, offset := range pe.ColumnOffset {
- if _, ok := offsetMap[offset]; !ok {
- return condPruneResult, false, nil, nil
- }
+ keyColOffsets := getPartitionKeyColOffsets(lookUpContent[0].keyColIDs, partitionTbl)
+ if len(keyColOffsets) == 0 {
+ return condPruneResult, false, nil, nil
}
locateKey := make([]types.Datum, len(partitionTbl.Cols()))
@@ -3940,6 +3965,7 @@ func buildNoRangeIndexMergeReader(b *executorBuilder, v *plannercore.PhysicalInd
isCorColInPartialFilters: isCorColInPartialFilters,
isCorColInTableFilter: isCorColInTableFilter,
isCorColInPartialAccess: isCorColInPartialAccess,
+ isIntersection: v.IsIntersectionType,
}
collectTable := false
e.tableRequest.CollectRangeCounts = &collectTable
@@ -3947,6 +3973,9 @@ func buildNoRangeIndexMergeReader(b *executorBuilder, v *plannercore.PhysicalInd
}
func (b *executorBuilder) buildIndexMergeReader(v *plannercore.PhysicalIndexMergeReader) Executor {
+ if b.Ti != nil {
+ b.Ti.UseIndexMerge = true
+ }
ts := v.TablePlans[0].(*plannercore.PhysicalTableScan)
if err := b.validCanReadTemporaryOrCacheTable(ts.Table); err != nil {
b.err = err
@@ -4111,12 +4140,6 @@ func (builder *dataReaderBuilder) buildTableReaderForIndexJoin(ctx context.Conte
}
tbl, _ := builder.is.TableByID(tbInfo.ID)
pt := tbl.(table.PartitionedTable)
- pe, err := tbl.(interface {
- PartitionExpr() (*tables.PartitionExpr, error)
- }).PartitionExpr()
- if err != nil {
- return nil, err
- }
partitionInfo := &v.PartitionInfo
usedPartitionList, err := builder.partitionPruning(pt, partitionInfo.PruningConds, partitionInfo.PartitionNames, partitionInfo.Columns, partitionInfo.ColumnNames)
if err != nil {
@@ -4127,8 +4150,12 @@ func (builder *dataReaderBuilder) buildTableReaderForIndexJoin(ctx context.Conte
usedPartitions[p.GetPhysicalID()] = p
}
var kvRanges []kv.KeyRange
+ var keyColOffsets []int
+ if len(lookUpContents) > 0 {
+ keyColOffsets = getPartitionKeyColOffsets(lookUpContents[0].keyColIDs, pt)
+ }
if v.IsCommonHandle {
- if len(lookUpContents) > 0 && keyColumnsIncludeAllPartitionColumns(lookUpContents[0].keyCols, pe) {
+ if len(keyColOffsets) > 0 {
locateKey := make([]types.Datum, e.Schema().Len())
kvRanges = make([]kv.KeyRange, 0, len(lookUpContents))
// lookUpContentsByPID groups lookUpContents by pid(partition) so that kv ranges for same partition can be merged.
@@ -4174,7 +4201,7 @@ func (builder *dataReaderBuilder) buildTableReaderForIndexJoin(ctx context.Conte
handles, lookUpContents := dedupHandles(lookUpContents)
- if len(lookUpContents) > 0 && keyColumnsIncludeAllPartitionColumns(lookUpContents[0].keyCols, pe) {
+ if len(keyColOffsets) > 0 {
locateKey := make([]types.Datum, e.Schema().Len())
kvRanges = make([]kv.KeyRange, 0, len(lookUpContents))
for _, content := range lookUpContents {
@@ -4233,32 +4260,37 @@ type kvRangeBuilderFromRangeAndPartition struct {
}
func (h kvRangeBuilderFromRangeAndPartition) buildKeyRangeSeparately(ranges []*ranger.Range) ([]int64, [][]kv.KeyRange, error) {
- ret := make([][]kv.KeyRange, 0, len(h.partitions))
+ ret := make([][]kv.KeyRange, len(h.partitions))
pids := make([]int64, 0, len(h.partitions))
- for _, p := range h.partitions {
+ for i, p := range h.partitions {
pid := p.GetPhysicalID()
+ pids = append(pids, pid)
meta := p.Meta()
+ if len(ranges) == 0 {
+ continue
+ }
kvRange, err := distsql.TableHandleRangesToKVRanges(h.sctx.GetSessionVars().StmtCtx, []int64{pid}, meta != nil && meta.IsCommonHandle, ranges, nil)
if err != nil {
return nil, nil, err
}
- pids = append(pids, pid)
- ret = append(ret, kvRange)
+ ret[i] = kvRange.AppendSelfTo(ret[i])
}
return pids, ret, nil
}
-func (h kvRangeBuilderFromRangeAndPartition) buildKeyRange(ranges []*ranger.Range) ([]kv.KeyRange, error) {
- //nolint: prealloc
- var ret []kv.KeyRange
- for _, p := range h.partitions {
+func (h kvRangeBuilderFromRangeAndPartition) buildKeyRange(ranges []*ranger.Range) ([][]kv.KeyRange, error) {
+ ret := make([][]kv.KeyRange, len(h.partitions))
+ if len(ranges) == 0 {
+ return ret, nil
+ }
+ for i, p := range h.partitions {
pid := p.GetPhysicalID()
meta := p.Meta()
kvRange, err := distsql.TableHandleRangesToKVRanges(h.sctx.GetSessionVars().StmtCtx, []int64{pid}, meta != nil && meta.IsCommonHandle, ranges, nil)
if err != nil {
return nil, err
}
- ret = append(ret, kvRange...)
+ ret[i] = kvRange.AppendSelfTo(ret[i])
}
return ret, nil
}
@@ -4305,7 +4337,7 @@ func (builder *dataReaderBuilder) buildTableReaderBase(ctx context.Context, e *T
if err != nil {
return nil, err
}
- e.kvRanges = append(e.kvRanges, kvReq.KeyRanges...)
+ e.kvRanges = kvReq.KeyRanges.AppendSelfTo(e.kvRanges)
e.resultHandler = &tableResultHandler{}
result, err := builder.SelectResult(ctx, builder.ctx, kvReq, retTypes(e), e.feedback, getPhysicalPlanIDs(e.plans), e.id)
if err != nil {
@@ -4328,6 +4360,8 @@ func (builder *dataReaderBuilder) buildTableReaderFromHandles(ctx context.Contex
} else {
b.SetTableHandles(getPhysicalTableID(e.table), handles)
}
+ } else {
+ b.SetKeyRanges(nil)
}
return builder.buildTableReaderBase(ctx, e, b)
}
@@ -4516,6 +4550,9 @@ func buildRangesForIndexJoin(ctx sessionctx.Context, lookUpContents []*indexJoin
func buildKvRangesForIndexJoin(ctx sessionctx.Context, tableID, indexID int64, lookUpContents []*indexJoinLookUpContent,
ranges []*ranger.Range, keyOff2IdxOff []int, cwc *plannercore.ColWithCmpFuncManager, memTracker *memory.Tracker, interruptSignal *atomic.Value) (_ []kv.KeyRange, err error) {
kvRanges := make([]kv.KeyRange, 0, len(ranges)*len(lookUpContents))
+ if len(ranges) == 0 {
+ return []kv.KeyRange{}, nil
+ }
lastPos := len(ranges[0].LowVal) - 1
sc := ctx.GetSessionVars().StmtCtx
tmpDatumRanges := make([]*ranger.Range, 0, len(lookUpContents))
@@ -4528,7 +4565,7 @@ func buildKvRangesForIndexJoin(ctx sessionctx.Context, tableID, indexID int64, l
}
if cwc == nil {
// Index id is -1 means it's a common handle.
- var tmpKvRanges []kv.KeyRange
+ var tmpKvRanges *kv.KeyRanges
var err error
if indexID == -1 {
tmpKvRanges, err = distsql.CommonHandleRangesToKVRanges(sc, []int64{tableID}, ranges)
@@ -4538,7 +4575,7 @@ func buildKvRangesForIndexJoin(ctx sessionctx.Context, tableID, indexID int64, l
if err != nil {
return nil, err
}
- kvRanges = append(kvRanges, tmpKvRanges...)
+ kvRanges = tmpKvRanges.AppendSelfTo(kvRanges)
continue
}
nextColRanges, err := cwc.BuildRangesByRow(ctx, content.row)
@@ -4575,9 +4612,11 @@ func buildKvRangesForIndexJoin(ctx sessionctx.Context, tableID, indexID int64, l
}
// Index id is -1 means it's a common handle.
if indexID == -1 {
- return distsql.CommonHandleRangesToKVRanges(ctx.GetSessionVars().StmtCtx, []int64{tableID}, tmpDatumRanges)
+ tmpKeyRanges, err := distsql.CommonHandleRangesToKVRanges(ctx.GetSessionVars().StmtCtx, []int64{tableID}, tmpDatumRanges)
+ return tmpKeyRanges.FirstPartitionRange(), err
}
- return distsql.IndexRangesToKVRangesWithInterruptSignal(ctx.GetSessionVars().StmtCtx, tableID, indexID, tmpDatumRanges, nil, memTracker, interruptSignal)
+ tmpKeyRanges, err := distsql.IndexRangesToKVRangesWithInterruptSignal(ctx.GetSessionVars().StmtCtx, tableID, indexID, tmpDatumRanges, nil, memTracker, interruptSignal)
+ return tmpKeyRanges.FirstPartitionRange(), err
}
func (b *executorBuilder) buildWindow(v *plannercore.PhysicalWindow) Executor {
@@ -4770,6 +4809,9 @@ func (b *executorBuilder) buildSQLBindExec(v *plannercore.SQLBindPlan) Executor
isGlobal: v.IsGlobal,
bindAst: v.BindStmt,
newStatus: v.NewStatus,
+ source: v.Source,
+ sqlDigest: v.SQLDigest,
+ planDigest: v.PlanDigest,
}
return e
}
@@ -4865,7 +4907,6 @@ func (b *executorBuilder) buildBatchPointGet(plan *plannercore.BatchPointGetPlan
SnapshotRuntimeStats: snapshotStats,
}
e.snapshot.SetOption(kv.CollectRuntimeStats, snapshotStats)
- b.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
}
if plan.IndexInfo != nil {
@@ -5261,6 +5302,10 @@ func (b *executorBuilder) buildCompactTable(v *plannercore.CompactTable) Executo
}
partitionIDs = append(partitionIDs, partitionID)
}
+ if b.Ti.PartitionTelemetry == nil {
+ b.Ti.PartitionTelemetry = &PartitionTelemetryInfo{}
+ }
+ b.Ti.PartitionTelemetry.UseCompactTablePartition = true
}
return &CompactTableTiFlashExec{
diff --git a/executor/compiler.go b/executor/compiler.go
index 241b15874e1e2..9f089eed9bae0 100644
--- a/executor/compiler.go
+++ b/executor/compiler.go
@@ -154,6 +154,9 @@ func (c *Compiler) Compile(ctx context.Context, stmtNode ast.StmtNode) (_ *ExecS
}
}
}
+ if err = sessiontxn.OptimizeWithPlanAndThenWarmUp(c.Ctx, stmt.Plan); err != nil {
+ return nil, err
+ }
return stmt, nil
}
diff --git a/executor/ddl.go b/executor/ddl.go
index 85918bb7d4f54..feca9f5cec523 100644
--- a/executor/ddl.go
+++ b/executor/ddl.go
@@ -204,6 +204,12 @@ func (e *DDLExec) Next(ctx context.Context, req *chunk.Chunk) (err error) {
err = e.executeDropPlacementPolicy(x)
case *ast.AlterPlacementPolicyStmt:
err = e.executeAlterPlacementPolicy(x)
+ case *ast.CreateResourceGroupStmt:
+ err = e.executeCreateResourceGroup(x)
+ case *ast.DropResourceGroupStmt:
+ err = e.executeDropResourceGroup(x)
+ case *ast.AlterResourceGroupStmt:
+ err = e.executeAlterResourceGroup(x)
}
if err != nil {
// If the owner return ErrTableNotExists error when running this DDL, it may be caused by schema changed,
@@ -735,3 +741,15 @@ func (e *DDLExec) executeDropPlacementPolicy(s *ast.DropPlacementPolicyStmt) err
func (e *DDLExec) executeAlterPlacementPolicy(s *ast.AlterPlacementPolicyStmt) error {
return domain.GetDomain(e.ctx).DDL().AlterPlacementPolicy(e.ctx, s)
}
+
+func (e *DDLExec) executeCreateResourceGroup(s *ast.CreateResourceGroupStmt) error {
+ return domain.GetDomain(e.ctx).DDL().CreateResourceGroup(e.ctx, s)
+}
+
+func (e *DDLExec) executeAlterResourceGroup(s *ast.AlterResourceGroupStmt) error {
+ return domain.GetDomain(e.ctx).DDL().AlterResourceGroup(e.ctx, s)
+}
+
+func (e *DDLExec) executeDropResourceGroup(s *ast.DropResourceGroupStmt) error {
+ return domain.GetDomain(e.ctx).DDL().DropResourceGroup(e.ctx, s)
+}
diff --git a/executor/ddl_test.go b/executor/ddl_test.go
index d4d0d59d4ab5b..59e8b1c719620 100644
--- a/executor/ddl_test.go
+++ b/executor/ddl_test.go
@@ -39,6 +39,7 @@ import (
"github.com/pingcap/tidb/parser/terror"
plannercore "github.com/pingcap/tidb/planner/core"
"github.com/pingcap/tidb/sessionctx/variable"
+ "github.com/pingcap/tidb/sessionctx/variable/featuretag/distributereorg"
"github.com/pingcap/tidb/sessiontxn"
"github.com/pingcap/tidb/store/mockstore"
"github.com/pingcap/tidb/table"
@@ -79,10 +80,8 @@ func TestInTxnExecDDLFail(t *testing.T) {
tk.MustExec("insert into t values (1);")
tk.MustExec("begin;")
tk.MustExec("insert into t values (1);")
- _, err := tk.Exec("truncate table t;")
- require.EqualError(t, err, "[kv:1062]Duplicate entry '1' for key 't.PRIMARY'")
- result := tk.MustQuery("select count(*) from t")
- result.Check(testkit.Rows("1"))
+ tk.MustGetErrMsg("truncate table t;", "[kv:1062]Duplicate entry '1' for key 't.PRIMARY'")
+ tk.MustQuery("select count(*) from t").Check(testkit.Rows("1"))
}
func TestInTxnExecDDLInvalid(t *testing.T) {
@@ -212,11 +211,9 @@ func TestCreateView(t *testing.T) {
// test create a exist view
tk.MustExec("CREATE VIEW view_t AS select id , name from source_table")
defer tk.MustExec("DROP VIEW IF EXISTS view_t")
- _, err := tk.Exec("CREATE VIEW view_t AS select id , name from source_table")
- require.EqualError(t, err, "[schema:1050]Table 'test.view_t' already exists")
+ tk.MustGetErrMsg("CREATE VIEW view_t AS select id , name from source_table", "[schema:1050]Table 'test.view_t' already exists")
// create view on nonexistent table
- _, err = tk.Exec("create view v1 (c,d) as select a,b from t1")
- require.EqualError(t, err, "[schema:1146]Table 'test.t1' doesn't exist")
+ tk.MustGetErrMsg("create view v1 (c,d) as select a,b from t1", "[schema:1146]Table 'test.t1' doesn't exist")
// simple view
tk.MustExec("create table t1 (a int ,b int)")
tk.MustExec("insert into t1 values (1,2), (1,3), (2,4), (2,5), (3,10)")
@@ -231,26 +228,22 @@ func TestCreateView(t *testing.T) {
// view with select wild card
tk.MustExec("create view v5 as select * from t1")
tk.MustExec("create view v6 (c,d) as select * from t1")
- _, err = tk.Exec("create view v7 (c,d,e) as select * from t1")
- require.Equal(t, dbterror.ErrViewWrongList.Error(), err.Error())
+ tk.MustGetErrCode("create view v7 (c,d,e) as select * from t1", errno.ErrViewWrongList)
// drop multiple views in a statement
tk.MustExec("drop view v1,v2,v3,v4,v5,v6")
// view with variable
tk.MustExec("create view v1 (c,d) as select a,b+@@global.max_user_connections from t1")
- _, err = tk.Exec("create view v1 (c,d) as select a,b from t1 where a = @@global.max_user_connections")
- require.EqualError(t, err, "[schema:1050]Table 'test.v1' already exists")
+ tk.MustGetErrMsg("create view v1 (c,d) as select a,b from t1 where a = @@global.max_user_connections", "[schema:1050]Table 'test.v1' already exists")
tk.MustExec("drop view v1")
// view with different col counts
- _, err = tk.Exec("create view v1 (c,d,e) as select a,b from t1 ")
- require.Equal(t, dbterror.ErrViewWrongList.Error(), err.Error())
- _, err = tk.Exec("create view v1 (c) as select a,b from t1 ")
- require.Equal(t, dbterror.ErrViewWrongList.Error(), err.Error())
+ tk.MustGetErrCode("create view v1 (c,d,e) as select a,b from t1 ", errno.ErrViewWrongList)
+ tk.MustGetErrCode("create view v1 (c) as select a,b from t1 ", errno.ErrViewWrongList)
// view with or_replace flag
tk.MustExec("drop view if exists v1")
tk.MustExec("create view v1 (c,d) as select a,b from t1")
tk.MustExec("create or replace view v1 (c,d) as select a,b from t1 ")
tk.MustExec("create table if not exists t1 (a int ,b int)")
- _, err = tk.Exec("create or replace view t1 as select * from t1")
+ err := tk.ExecToErr("create or replace view t1 as select * from t1")
require.Equal(t, dbterror.ErrWrongObject.GenWithStackByArgs("test", "t1", "VIEW").Error(), err.Error())
// create view using prepare
tk.MustExec(`prepare stmt from "create view v10 (x) as select 1";`)
@@ -259,8 +252,7 @@ func TestCreateView(t *testing.T) {
// create view on union
tk.MustExec("drop table if exists t1, t2")
tk.MustExec("drop view if exists v")
- _, err = tk.Exec("create view v as select * from t1 union select * from t2")
- require.True(t, terror.ErrorEqual(err, infoschema.ErrTableNotExists))
+ tk.MustGetDBError("create view v as select * from t1 union select * from t2", infoschema.ErrTableNotExists)
tk.MustExec("create table t1(a int, b int)")
tk.MustExec("create table t2(a int, b int)")
tk.MustExec("insert into t1 values(1,2), (1,1), (1,2)")
@@ -268,14 +260,12 @@ func TestCreateView(t *testing.T) {
tk.MustExec("create definer='root'@'localhost' view v as select * from t1 union select * from t2")
tk.MustQuery("select * from v").Sort().Check(testkit.Rows("1 1", "1 2", "1 3"))
tk.MustExec("alter table t1 drop column a")
- _, err = tk.Exec("select * from v")
- require.True(t, terror.ErrorEqual(err, plannercore.ErrViewInvalid))
+ tk.MustGetDBError("select * from v", plannercore.ErrViewInvalid)
tk.MustExec("alter table t1 add column a int")
tk.MustQuery("select * from v").Sort().Check(testkit.Rows("1 1", "1 3", " 1", " 2"))
tk.MustExec("alter table t1 drop column a")
tk.MustExec("alter table t2 drop column b")
- _, err = tk.Exec("select * from v")
- require.True(t, terror.ErrorEqual(err, plannercore.ErrViewInvalid))
+ tk.MustGetDBError("select * from v", plannercore.ErrViewInvalid)
tk.MustExec("drop view v")
tk.MustExec("create view v as (select * from t1)")
@@ -294,8 +284,7 @@ func TestCreateView(t *testing.T) {
tk.MustExec("create table test_v_nested(a int)")
tk.MustExec("create definer='root'@'localhost' view v_nested as select * from test_v_nested")
tk.MustExec("create definer='root'@'localhost' view v_nested2 as select * from v_nested")
- _, err = tk.Exec("create or replace definer='root'@'localhost' view v_nested as select * from v_nested2")
- require.True(t, terror.ErrorEqual(err, plannercore.ErrNoSuchTable))
+ tk.MustGetDBError("create or replace definer='root'@'localhost' view v_nested as select * from v_nested2", plannercore.ErrNoSuchTable)
tk.MustExec("drop table test_v_nested")
tk.MustExec("drop view v_nested, v_nested2")
@@ -322,8 +311,7 @@ func TestViewRecursion(t *testing.T) {
tk.MustExec("create definer='root'@'localhost' view recursive_view2 as select * from recursive_view1")
tk.MustExec("drop table t")
tk.MustExec("rename table recursive_view2 to t")
- _, err := tk.Exec("select * from recursive_view1")
- require.True(t, terror.ErrorEqual(err, plannercore.ErrViewRecursive))
+ tk.MustGetDBError("select * from recursive_view1", plannercore.ErrViewRecursive)
tk.MustExec("drop view recursive_view1, t")
}
@@ -333,8 +321,8 @@ func TestIssue16250(t *testing.T) {
tk.MustExec("use test")
tk.MustExec("create table if not exists t(a int)")
tk.MustExec("create view view_issue16250 as select * from t")
- _, err := tk.Exec("truncate table view_issue16250")
- require.EqualError(t, err, "[schema:1146]Table 'test.view_issue16250' doesn't exist")
+ tk.MustGetErrMsg("truncate table view_issue16250",
+ "[schema:1146]Table 'test.view_issue16250' doesn't exist")
}
func TestIssue24771(t *testing.T) {
@@ -564,12 +552,23 @@ func TestAlterTableAddColumn(t *testing.T) {
tk.MustExec("alter table alter_test add column c3 varchar(50) default 'CURRENT_TIMESTAMP'")
tk.MustQuery("select c3 from alter_test").Check(testkit.Rows("CURRENT_TIMESTAMP"))
tk.MustExec("create or replace view alter_view as select c1,c2 from alter_test")
- _, err = tk.Exec("alter table alter_view add column c4 varchar(50)")
+ err = tk.ExecToErr("alter table alter_view add column c4 varchar(50)")
require.Equal(t, dbterror.ErrWrongObject.GenWithStackByArgs("test", "alter_view", "BASE TABLE").Error(), err.Error())
tk.MustExec("drop view alter_view")
tk.MustExec("create sequence alter_seq")
- _, err = tk.Exec("alter table alter_seq add column c int")
+ err = tk.ExecToErr("alter table alter_seq add column c int")
require.Equal(t, dbterror.ErrWrongObject.GenWithStackByArgs("test", "alter_seq", "BASE TABLE").Error(), err.Error())
+ tk.MustExec("alter table alter_test add column c4 date default current_date")
+ now = time.Now().Format(types.DateFormat)
+ r, err = tk.Exec("select c4 from alter_test")
+ require.NoError(t, err)
+ req = r.NewChunk(nil)
+ err = r.Next(context.Background(), req)
+ require.NoError(t, err)
+ row = req.GetRow(0)
+ require.Equal(t, 1, row.Len())
+ require.GreaterOrEqual(t, now, row.GetTime(0).String())
+ require.Nil(t, r.Close())
tk.MustExec("drop sequence alter_seq")
}
@@ -591,11 +590,11 @@ func TestAlterTableAddColumns(t *testing.T) {
require.Nil(t, r.Close())
tk.MustQuery("select c3 from alter_test").Check(testkit.Rows("CURRENT_TIMESTAMP"))
tk.MustExec("create or replace view alter_view as select c1,c2 from alter_test")
- _, err = tk.Exec("alter table alter_view add column (c4 varchar(50), c5 varchar(50))")
+ err = tk.ExecToErr("alter table alter_view add column (c4 varchar(50), c5 varchar(50))")
require.Equal(t, dbterror.ErrWrongObject.GenWithStackByArgs("test", "alter_view", "BASE TABLE").Error(), err.Error())
tk.MustExec("drop view alter_view")
tk.MustExec("create sequence alter_seq")
- _, err = tk.Exec("alter table alter_seq add column (c1 int, c2 varchar(10))")
+ err = tk.ExecToErr("alter table alter_seq add column (c1 int, c2 varchar(10))")
require.Equal(t, dbterror.ErrWrongObject.GenWithStackByArgs("test", "alter_seq", "BASE TABLE").Error(), err.Error())
tk.MustExec("drop sequence alter_seq")
}
@@ -662,8 +661,7 @@ func TestAlterTableModifyColumn(t *testing.T) {
tk.MustExec("drop table if exists modify_column_multiple_collate;")
tk.MustExec("create table modify_column_multiple_collate (a char(1) collate utf8_bin collate utf8_general_ci) charset utf8mb4 collate utf8mb4_bin")
- _, err = tk.Exec("alter table modify_column_multiple_collate modify column a char(1) charset utf8mb4 collate utf8mb4_bin;")
- require.NoError(t, err)
+ tk.MustExec("alter table modify_column_multiple_collate modify column a char(1) charset utf8mb4 collate utf8mb4_bin;")
tt, err = domain.GetDomain(tk.Session()).InfoSchema().TableByName(model.NewCIStr("test"), model.NewCIStr("modify_column_multiple_collate"))
require.NoError(t, err)
require.Equal(t, "utf8mb4", tt.Cols()[0].GetCharset())
@@ -919,10 +917,8 @@ func TestShardRowIDBits(t *testing.T) {
tk.MustExec("insert into t1 values(1)")
// continue inserting will fail.
- _, err = tk.Exec("insert into t1 values(2)")
- require.Truef(t, autoid.ErrAutoincReadFailed.Equal(err), "err:%v", err)
- _, err = tk.Exec("insert into t1 values(3)")
- require.Truef(t, autoid.ErrAutoincReadFailed.Equal(err), "err:%v", err)
+ tk.MustGetDBError("insert into t1 values(2)", autoid.ErrAutoincReadFailed)
+ tk.MustGetDBError("insert into t1 values(3)", autoid.ErrAutoincReadFailed)
}
func TestAutoRandomBitsData(t *testing.T) {
@@ -1131,65 +1127,6 @@ func TestAutoRandomClusteredPrimaryKey(t *testing.T) {
tk.MustQuery("select a from t;").Check(testkit.Rows("1"))
}
-// Test filter different kind of allocators.
-// In special ddl type, for example:
-// 1: ActionRenameTable : it will abandon all the old allocators.
-// 2: ActionRebaseAutoID : it will drop row-id-type allocator.
-// 3: ActionModifyTableAutoIdCache : it will drop row-id-type allocator.
-// 3: ActionRebaseAutoRandomBase : it will drop auto-rand-type allocator.
-func TestFilterDifferentAllocators(t *testing.T) {
- store := testkit.CreateMockStore(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec("use test")
- tk.MustExec("drop table if exists t")
- tk.MustExec("drop table if exists t1")
-
- tk.MustExec("create table t(a bigint auto_random(5) key, b int auto_increment unique)")
- tk.MustExec("insert into t values()")
- tk.MustQuery("select b from t").Check(testkit.Rows("1"))
- allHandles, err := ddltestutil.ExtractAllTableHandles(tk.Session(), "test", "t")
- require.NoError(t, err)
- require.Equal(t, 1, len(allHandles))
- orderedHandles := testutil.MaskSortHandles(allHandles, 5, mysql.TypeLonglong)
- require.Equal(t, int64(1), orderedHandles[0])
- tk.MustExec("delete from t")
-
- // Test rebase auto_increment.
- tk.MustExec("alter table t auto_increment 3000000")
- tk.MustExec("insert into t values()")
- tk.MustQuery("select b from t").Check(testkit.Rows("3000000"))
- allHandles, err = ddltestutil.ExtractAllTableHandles(tk.Session(), "test", "t")
- require.NoError(t, err)
- require.Equal(t, 1, len(allHandles))
- orderedHandles = testutil.MaskSortHandles(allHandles, 5, mysql.TypeLonglong)
- require.Equal(t, int64(2), orderedHandles[0])
- tk.MustExec("delete from t")
-
- // Test rebase auto_random.
- tk.MustExec("alter table t auto_random_base 3000000")
- tk.MustExec("insert into t values()")
- tk.MustQuery("select b from t").Check(testkit.Rows("3000001"))
- allHandles, err = ddltestutil.ExtractAllTableHandles(tk.Session(), "test", "t")
- require.NoError(t, err)
- require.Equal(t, 1, len(allHandles))
- orderedHandles = testutil.MaskSortHandles(allHandles, 5, mysql.TypeLonglong)
- require.Equal(t, int64(3000000), orderedHandles[0])
- tk.MustExec("delete from t")
-
- // Test rename table.
- tk.MustExec("rename table t to t1")
- tk.MustExec("insert into t1 values()")
- res := tk.MustQuery("select b from t1")
- strInt64, err := strconv.ParseInt(res.Rows()[0][0].(string), 10, 64)
- require.NoError(t, err)
- require.Greater(t, strInt64, int64(3000002))
- allHandles, err = ddltestutil.ExtractAllTableHandles(tk.Session(), "test", "t1")
- require.NoError(t, err)
- require.Equal(t, 1, len(allHandles))
- orderedHandles = testutil.MaskSortHandles(allHandles, 5, mysql.TypeLonglong)
- require.Greater(t, orderedHandles[0], int64(3000001))
-}
-
func TestMaxHandleAddIndex(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
@@ -1223,8 +1160,7 @@ func TestSetDDLReorgWorkerCnt(t *testing.T) {
err = ddlutil.LoadDDLReorgVars(context.Background(), tk.Session())
require.NoError(t, err)
require.Equal(t, int32(100), variable.GetDDLReorgWorkerCounter())
- _, err = tk.Exec("set @@global.tidb_ddl_reorg_worker_cnt = invalid_val")
- require.Truef(t, terror.ErrorEqual(err, variable.ErrWrongTypeForVar), "err %v", err)
+ tk.MustGetDBError("set @@global.tidb_ddl_reorg_worker_cnt = invalid_val", variable.ErrWrongTypeForVar)
tk.MustExec("set @@global.tidb_ddl_reorg_worker_cnt = 100")
err = ddlutil.LoadDDLReorgVars(context.Background(), tk.Session())
require.NoError(t, err)
@@ -1266,8 +1202,7 @@ func TestSetDDLReorgBatchSize(t *testing.T) {
err = ddlutil.LoadDDLReorgVars(context.Background(), tk.Session())
require.NoError(t, err)
require.Equal(t, variable.MaxDDLReorgBatchSize, variable.GetDDLReorgBatchSize())
- _, err = tk.Exec("set @@global.tidb_ddl_reorg_batch_size = invalid_val")
- require.True(t, terror.ErrorEqual(err, variable.ErrWrongTypeForVar), "err %v", err)
+ tk.MustGetDBError("set @@global.tidb_ddl_reorg_batch_size = invalid_val", variable.ErrWrongTypeForVar)
tk.MustExec("set @@global.tidb_ddl_reorg_batch_size = 100")
err = ddlutil.LoadDDLReorgVars(context.Background(), tk.Session())
require.NoError(t, err)
@@ -1374,8 +1309,7 @@ func TestSetDDLErrorCountLimit(t *testing.T) {
err = ddlutil.LoadDDLVars(tk.Session())
require.NoError(t, err)
require.Equal(t, int64(math.MaxInt64), variable.GetDDLErrorCountLimit())
- _, err = tk.Exec("set @@global.tidb_ddl_error_count_limit = invalid_val")
- require.True(t, terror.ErrorEqual(err, variable.ErrWrongTypeForVar), "err %v", err)
+ tk.MustGetDBError("set @@global.tidb_ddl_error_count_limit = invalid_val", variable.ErrWrongTypeForVar)
tk.MustExec("set @@global.tidb_ddl_error_count_limit = 100")
err = ddlutil.LoadDDLVars(tk.Session())
require.NoError(t, err)
@@ -1384,6 +1318,20 @@ func TestSetDDLErrorCountLimit(t *testing.T) {
res.Check(testkit.Rows("100"))
}
+func TestLoadDDLDistributeVars(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ require.Equal(t, variable.DefTiDBDDLEnableDistributeReorg, distributereorg.TiDBEnableDistributeReorg)
+
+ tk.MustGetDBError("set @@global.tidb_ddl_distribute_reorg = invalid_val", variable.ErrWrongValueForVar)
+ require.Equal(t, distributereorg.TiDBEnableDistributeReorg, variable.DDLEnableDistributeReorg.Load())
+ tk.MustExec("set @@global.tidb_ddl_distribute_reorg = 'on'")
+ require.Equal(t, true, variable.DDLEnableDistributeReorg.Load())
+ tk.MustExec(fmt.Sprintf("set @@global.tidb_ddl_distribute_reorg = %v", distributereorg.TiDBEnableDistributeReorg))
+ require.Equal(t, distributereorg.TiDBEnableDistributeReorg, variable.DDLEnableDistributeReorg.Load())
+}
+
// Test issue #9205, fix the precision problem for time type default values
// See https://github.com/pingcap/tidb/issues/9205 for details
func TestIssue9205(t *testing.T) {
@@ -1432,39 +1380,21 @@ func TestCheckDefaultFsp(t *testing.T) {
tk.MustExec("use test")
tk.MustExec(`drop table if exists t;`)
- _, err := tk.Exec("create table t ( tt timestamp default now(1));")
- require.EqualError(t, err, "[ddl:1067]Invalid default value for 'tt'")
-
- _, err = tk.Exec("create table t ( tt timestamp(1) default current_timestamp);")
- require.EqualError(t, err, "[ddl:1067]Invalid default value for 'tt'")
-
- _, err = tk.Exec("create table t ( tt timestamp(1) default now(2));")
- require.EqualError(t, err, "[ddl:1067]Invalid default value for 'tt'")
+ tk.MustGetErrMsg("create table t ( tt timestamp default now(1));", "[ddl:1067]Invalid default value for 'tt'")
+ tk.MustGetErrMsg("create table t ( tt timestamp(1) default current_timestamp);", "[ddl:1067]Invalid default value for 'tt'")
+ tk.MustGetErrMsg("create table t ( tt timestamp(1) default now(2));", "[ddl:1067]Invalid default value for 'tt'")
tk.MustExec("create table t ( tt timestamp(1) default now(1));")
tk.MustExec("create table t2 ( tt timestamp default current_timestamp());")
tk.MustExec("create table t3 ( tt timestamp default current_timestamp(0));")
- _, err = tk.Exec("alter table t add column ttt timestamp default now(2);")
- require.EqualError(t, err, "[ddl:1067]Invalid default value for 'ttt'")
-
- _, err = tk.Exec("alter table t add column ttt timestamp(5) default current_timestamp;")
- require.EqualError(t, err, "[ddl:1067]Invalid default value for 'ttt'")
-
- _, err = tk.Exec("alter table t add column ttt timestamp(5) default now(2);")
- require.EqualError(t, err, "[ddl:1067]Invalid default value for 'ttt'")
-
- _, err = tk.Exec("alter table t modify column tt timestamp(1) default now();")
- require.EqualError(t, err, "[ddl:1067]Invalid default value for 'tt'")
-
- _, err = tk.Exec("alter table t modify column tt timestamp(4) default now(5);")
- require.EqualError(t, err, "[ddl:1067]Invalid default value for 'tt'")
-
- _, err = tk.Exec("alter table t change column tt tttt timestamp(4) default now(5);")
- require.EqualError(t, err, "[ddl:1067]Invalid default value for 'tttt'")
-
- _, err = tk.Exec("alter table t change column tt tttt timestamp(1) default now();")
- require.EqualError(t, err, "[ddl:1067]Invalid default value for 'tttt'")
+ tk.MustGetErrMsg("alter table t add column ttt timestamp default now(2);", "[ddl:1067]Invalid default value for 'ttt'")
+ tk.MustGetErrMsg("alter table t add column ttt timestamp(5) default current_timestamp;", "[ddl:1067]Invalid default value for 'ttt'")
+ tk.MustGetErrMsg("alter table t add column ttt timestamp(5) default now(2);", "[ddl:1067]Invalid default value for 'ttt'")
+ tk.MustGetErrMsg("alter table t modify column tt timestamp(1) default now();", "[ddl:1067]Invalid default value for 'tt'")
+ tk.MustGetErrMsg("alter table t modify column tt timestamp(4) default now(5);", "[ddl:1067]Invalid default value for 'tt'")
+ tk.MustGetErrMsg("alter table t change column tt tttt timestamp(4) default now(5);", "[ddl:1067]Invalid default value for 'tttt'")
+ tk.MustGetErrMsg("alter table t change column tt tttt timestamp(1) default now();", "[ddl:1067]Invalid default value for 'tttt'")
}
func TestTimestampMinDefaultValue(t *testing.T) {
@@ -1618,3 +1548,101 @@ func TestRenameMultiTables(t *testing.T) {
tk.MustExec("drop database rename2")
tk.MustExec("drop database rename3")
}
+
+func TestCreateTableWithTTL(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+
+ tk.MustExec("CREATE TABLE t (created_at datetime) TTL = `created_at` + INTERVAL 5 DAY")
+ tk.MustQuery("SHOW CREATE TABLE t").Check(testkit.Rows("t CREATE TABLE `t` (\n `created_at` datetime DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`created_at` + INTERVAL 5 DAY */ /*T![ttl] TTL_ENABLE='ON' */ /*T![ttl] TTL_JOB_INTERVAL='1h' */"))
+ tk.MustExec("DROP TABLE t")
+
+ tk.MustGetErrMsg("CREATE TABLE t (id int) TTL = `id` + INTERVAL 5 DAY", "[ddl:8148]Field 'id' is of a not supported type for TTL config, expect DATETIME, DATE or TIMESTAMP")
+
+ tk.MustGetErrMsg("CREATE TABLE t (id int) TTL_ENABLE = 'ON'", "[ddl:8150]Cannot set TTL_ENABLE on a table without TTL config")
+
+ tk.MustGetErrMsg("CREATE TABLE t (id int) TTL_JOB_INTERVAL = '1h'", "[ddl:8150]Cannot set TTL_JOB_INTERVAL on a table without TTL config")
+
+ tk.MustExec("CREATE TABLE t (created_at datetime) TTL_ENABLE = 'ON' TTL = `created_at` + INTERVAL 1 DAY TTL_ENABLE = 'OFF' TTL_JOB_INTERVAL = '24h'")
+ tk.MustQuery("SHOW CREATE TABLE t").Check(testkit.Rows("t CREATE TABLE `t` (\n `created_at` datetime DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`created_at` + INTERVAL 1 DAY */ /*T![ttl] TTL_ENABLE='OFF' */ /*T![ttl] TTL_JOB_INTERVAL='1d' */"))
+ tk.MustExec("DROP TABLE t")
+
+ // when multiple ttl and ttl_enable configs are submitted, only the last one will be handled
+ tk.MustExec("CREATE TABLE t (created_at datetime) TTL_ENABLE = 'ON' TTL = `created_at` + INTERVAL 1 DAY TTL = `created_at` + INTERVAL 2 DAY TTL = `created_at` + INTERVAL 3 DAY TTL_ENABLE = 'OFF'")
+ tk.MustQuery("SHOW CREATE TABLE t").Check(testkit.Rows("t CREATE TABLE `t` (\n `created_at` datetime DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`created_at` + INTERVAL 3 DAY */ /*T![ttl] TTL_ENABLE='OFF' */ /*T![ttl] TTL_JOB_INTERVAL='1h' */"))
+ tk.MustExec("DROP TABLE t")
+}
+
+func TestAlterTTLInfo(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+
+ tk.MustExec("CREATE TABLE t (created_at datetime, updated_at datetime, wrong_type int) TTL = `created_at` + INTERVAL 5 DAY")
+ tk.MustExec("ALTER TABLE t TTL = `updated_at` + INTERVAL 2 YEAR")
+ tk.MustQuery("SHOW CREATE TABLE t").Check(testkit.Rows("t CREATE TABLE `t` (\n `created_at` datetime DEFAULT NULL,\n `updated_at` datetime DEFAULT NULL,\n `wrong_type` int(11) DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`updated_at` + INTERVAL 2 YEAR */ /*T![ttl] TTL_ENABLE='ON' */ /*T![ttl] TTL_JOB_INTERVAL='1h' */"))
+
+ tk.MustExec("ALTER TABLE t TTL_ENABLE = 'OFF'")
+ tk.MustQuery("SHOW CREATE TABLE t").Check(testkit.Rows("t CREATE TABLE `t` (\n `created_at` datetime DEFAULT NULL,\n `updated_at` datetime DEFAULT NULL,\n `wrong_type` int(11) DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`updated_at` + INTERVAL 2 YEAR */ /*T![ttl] TTL_ENABLE='OFF' */ /*T![ttl] TTL_JOB_INTERVAL='1h' */"))
+
+ tk.MustExec("ALTER TABLE t TTL_JOB_INTERVAL = '24h'")
+ tk.MustQuery("SHOW CREATE TABLE t").Check(testkit.Rows("t CREATE TABLE `t` (\n `created_at` datetime DEFAULT NULL,\n `updated_at` datetime DEFAULT NULL,\n `wrong_type` int(11) DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`updated_at` + INTERVAL 2 YEAR */ /*T![ttl] TTL_ENABLE='OFF' */ /*T![ttl] TTL_JOB_INTERVAL='1d' */"))
+
+ tk.MustGetErrMsg("ALTER TABLE t TTL = `not_exist` + INTERVAL 2 YEAR", "[ddl:1054]Unknown column 'not_exist' in 'TTL config'")
+
+ tk.MustGetErrMsg("ALTER TABLE t TTL = `wrong_type` + INTERVAL 2 YEAR", "[ddl:8148]Field 'wrong_type' is of a not supported type for TTL config, expect DATETIME, DATE or TIMESTAMP")
+
+ tk.MustGetErrMsg("ALTER TABLE t DROP COLUMN updated_at", "[ddl:8149]Cannot drop column 'updated_at': needed in TTL config")
+ tk.MustGetErrMsg("ALTER TABLE t CHANGE updated_at updated_at_new INT", "[ddl:8148]Field 'updated_at_new' is of a not supported type for TTL config, expect DATETIME, DATE or TIMESTAMP")
+
+ tk.MustExec("ALTER TABLE t RENAME COLUMN `updated_at` TO `updated_at_2`")
+ tk.MustQuery("SHOW CREATE TABLE t").Check(testkit.Rows("t CREATE TABLE `t` (\n `created_at` datetime DEFAULT NULL,\n `updated_at_2` datetime DEFAULT NULL,\n `wrong_type` int(11) DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`updated_at_2` + INTERVAL 2 YEAR */ /*T![ttl] TTL_ENABLE='OFF' */ /*T![ttl] TTL_JOB_INTERVAL='1d' */"))
+
+ tk.MustExec("ALTER TABLE t CHANGE `updated_at_2` `updated_at_3` date")
+ tk.MustQuery("SHOW CREATE TABLE t").Check(testkit.Rows("t CREATE TABLE `t` (\n `created_at` datetime DEFAULT NULL,\n `updated_at_3` date DEFAULT NULL,\n `wrong_type` int(11) DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`updated_at_3` + INTERVAL 2 YEAR */ /*T![ttl] TTL_ENABLE='OFF' */ /*T![ttl] TTL_JOB_INTERVAL='1d' */"))
+
+ tk.MustExec("ALTER TABLE t TTL = `updated_at_3` + INTERVAL 3 YEAR")
+ tk.MustQuery("SHOW CREATE TABLE t").Check(testkit.Rows("t CREATE TABLE `t` (\n `created_at` datetime DEFAULT NULL,\n `updated_at_3` date DEFAULT NULL,\n `wrong_type` int(11) DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`updated_at_3` + INTERVAL 3 YEAR */ /*T![ttl] TTL_ENABLE='OFF' */ /*T![ttl] TTL_JOB_INTERVAL='1d' */"))
+
+ tk.MustGetErrMsg("ALTER TABLE t TTL_ENABLE = 'OFF' REMOVE TTL", "[ddl:8200]Unsupported multi schema change for alter table ttl")
+
+ tk.MustExec("ALTER TABLE t REMOVE TTL")
+ tk.MustQuery("SHOW CREATE TABLE t").Check(testkit.Rows("t CREATE TABLE `t` (\n `created_at` datetime DEFAULT NULL,\n `updated_at_3` date DEFAULT NULL,\n `wrong_type` int(11) DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
+
+ tk.MustGetErrMsg("ALTER TABLE t TTL_ENABLE = 'OFF'", "[ddl:8150]Cannot set TTL_ENABLE on a table without TTL config")
+
+ tk.MustGetErrMsg("ALTER TABLE t TTL_JOB_INTERVAL = '1h'", "[ddl:8150]Cannot set TTL_JOB_INTERVAL on a table without TTL config")
+}
+
+func TestDisableTTLForTempTable(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+
+ tk.MustGetDBError("CREATE TEMPORARY TABLE t (created_at datetime) TTL = `created_at` + INTERVAL 5 DAY", dbterror.ErrTempTableNotAllowedWithTTL)
+}
+
+func TestDisableTTLForFKParentTable(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+
+ // alter ttl for a FK parent table is not allowed
+ tk.MustExec("set global tidb_enable_foreign_key='ON'")
+ tk.MustExec("CREATE TABLE t (id int primary key, created_at datetime)")
+ tk.MustExec("CREATE TABLE t_1 (t_id int, foreign key fk_t_id(t_id) references t(id))")
+ tk.MustGetDBError("ALTER TABLE t TTL = created_at + INTERVAL 5 YEAR", dbterror.ErrUnsupportedTTLReferencedByFK)
+ tk.MustExec("drop table t,t_1")
+
+ // refuse to reference TTL key when create table
+ tk.MustExec("CREATE TABLE t (id int primary key, created_at datetime) TTL = created_at + INTERVAL 5 YEAR")
+ tk.MustGetDBError("CREATE TABLE t_1 (t_id int, foreign key fk_t_id(t_id) references t(id))", dbterror.ErrUnsupportedTTLReferencedByFK)
+ tk.MustExec("drop table t")
+
+ // refuse to add foreign key reference TTL table
+ tk.MustExec("CREATE TABLE t (id int primary key, created_at datetime) TTL = created_at + INTERVAL 5 YEAR")
+ tk.MustExec("CREATE TABLE t_1 (t_id int)")
+ tk.MustGetDBError("ALTER TABLE t_1 ADD FOREIGN KEY fk_t_id(t_id) references t(id)", dbterror.ErrUnsupportedTTLReferencedByFK)
+ tk.MustExec("drop table t,t_1")
+}
diff --git a/executor/delete.go b/executor/delete.go
index 979db825dfb66..97b3487ffa3f9 100644
--- a/executor/delete.go
+++ b/executor/delete.go
@@ -175,8 +175,14 @@ func (e *DeleteExec) composeTblRowMap(tblRowMap tableRowMapType, colPosInfos []p
return err
}
// tblRowMap[info.TblID][handle] hold the row datas binding to this table and this handle.
- _, exist := tblRowMap[info.TblID].Get(handle)
- memDelta := tblRowMap[info.TblID].Set(handle, joinedRow[info.Start:info.End])
+ row, exist := tblRowMap[info.TblID].Get(handle)
+ if !exist {
+ row = make([]types.Datum, info.End-info.Start)
+ }
+ for i, d := range joinedRow[info.Start:info.End] {
+ d.Copy(&row[i])
+ }
+ memDelta := tblRowMap[info.TblID].Set(handle, row)
if !exist {
memDelta += types.EstimatedMemUsage(joinedRow, 1)
memDelta += int64(handle.ExtraMemSize())
@@ -192,6 +198,7 @@ func (e *DeleteExec) deleteMultiTablesByChunk(ctx context.Context) error {
fields := retTypes(e.children[0])
chk := tryNewCacheChunk(e.children[0])
memUsageOfChk := int64(0)
+ joinedDatumRowBuffer := make([]types.Datum, len(fields))
for {
e.memTracker.Consume(-memUsageOfChk)
iter := chunk.NewIterator4Chunk(chk)
@@ -206,13 +213,13 @@ func (e *DeleteExec) deleteMultiTablesByChunk(ctx context.Context) error {
e.memTracker.Consume(memUsageOfChk)
for joinedChunkRow := iter.Begin(); joinedChunkRow != iter.End(); joinedChunkRow = iter.Next() {
- joinedDatumRow := joinedChunkRow.GetDatumRow(fields)
- err := e.composeTblRowMap(tblRowMap, colPosInfos, joinedDatumRow)
+ joinedDatumRowBuffer = joinedChunkRow.GetDatumRowWithBuffer(fields, joinedDatumRowBuffer)
+ err := e.composeTblRowMap(tblRowMap, colPosInfos, joinedDatumRowBuffer)
if err != nil {
return err
}
}
- chk = chunk.Renew(chk, e.maxChunkSize)
+ chk = tryNewCacheChunk(e.children[0])
}
return e.removeRowsInTblRowMap(tblRowMap)
@@ -234,26 +241,20 @@ func (e *DeleteExec) removeRowsInTblRowMap(tblRowMap tableRowMapType) error {
}
func (e *DeleteExec) removeRow(ctx sessionctx.Context, t table.Table, h kv.Handle, data []types.Datum) error {
- txnState, err := e.ctx.Txn(false)
- if err != nil {
- return err
- }
- memUsageOfTxnState := txnState.Size()
- err = t.RemoveRecord(ctx, h, data)
+ err := t.RemoveRecord(ctx, h, data)
if err != nil {
return err
}
- err = e.onRemoveRowForFK(ctx, t, data)
+ tid := t.Meta().ID
+ err = onRemoveRowForFK(ctx, data, e.fkChecks[tid], e.fkCascades[tid])
if err != nil {
return err
}
- e.memTracker.Consume(int64(txnState.Size() - memUsageOfTxnState))
ctx.GetSessionVars().StmtCtx.AddAffectedRows(1)
return nil
}
-func (e *DeleteExec) onRemoveRowForFK(ctx sessionctx.Context, t table.Table, data []types.Datum) error {
- fkChecks := e.fkChecks[t.Meta().ID]
+func onRemoveRowForFK(ctx sessionctx.Context, data []types.Datum, fkChecks []*FKCheckExec, fkCascades []*FKCascadeExec) error {
sc := ctx.GetSessionVars().StmtCtx
for _, fkc := range fkChecks {
err := fkc.deleteRowNeedToCheck(sc, data)
@@ -261,7 +262,6 @@ func (e *DeleteExec) onRemoveRowForFK(ctx sessionctx.Context, t table.Table, dat
return err
}
}
- fkCascades := e.fkCascades[t.Meta().ID]
for _, fkc := range fkCascades {
err := fkc.onDeleteRow(sc, data)
if err != nil {
diff --git a/executor/distsql.go b/executor/distsql.go
index 0cef7e66d441e..3b9a6a7d4b288 100644
--- a/executor/distsql.go
+++ b/executor/distsql.go
@@ -39,6 +39,7 @@ import (
"github.com/pingcap/tidb/sessionctx/stmtctx"
"github.com/pingcap/tidb/statistics"
"github.com/pingcap/tidb/table"
+ "github.com/pingcap/tidb/table/tables"
"github.com/pingcap/tidb/tablecodec"
"github.com/pingcap/tidb/types"
"github.com/pingcap/tidb/util"
@@ -243,11 +244,18 @@ func (e *IndexReaderExecutor) Next(ctx context.Context, req *chunk.Chunk) error
return err
}
+// TODO: cleanup this method.
func (e *IndexReaderExecutor) buildKeyRanges(sc *stmtctx.StatementContext, ranges []*ranger.Range, physicalID int64) ([]kv.KeyRange, error) {
+ var (
+ rRanges *kv.KeyRanges
+ err error
+ )
if e.index.ID == -1 {
- return distsql.CommonHandleRangesToKVRanges(sc, []int64{physicalID}, ranges)
+ rRanges, err = distsql.CommonHandleRangesToKVRanges(sc, []int64{physicalID}, ranges)
+ } else {
+ rRanges, err = distsql.IndexRangesToKVRanges(sc, physicalID, e.index.ID, ranges, e.feedback)
}
- return distsql.IndexRangesToKVRanges(sc, physicalID, e.index.ID, ranges, e.feedback)
+ return rRanges.FirstPartitionRange(), err
}
// Open implements the Executor Open interface.
@@ -458,9 +466,6 @@ func (e *IndexLookUpExecutor) Open(ctx context.Context) error {
func (e *IndexLookUpExecutor) buildTableKeyRanges() (err error) {
sc := e.ctx.GetSessionVars().StmtCtx
if e.partitionTableMode {
- if e.keepOrder { // this case should be prevented by the optimizer
- return errors.New("invalid execution plan: cannot keep order when accessing a partition table by IndexLookUpReader")
- }
e.feedback.Invalidate() // feedback for partition tables is not ready
e.partitionKVRanges = make([][]kv.KeyRange, 0, len(e.prunedPartitions))
for _, p := range e.prunedPartitions {
@@ -472,7 +477,7 @@ func (e *IndexLookUpExecutor) buildTableKeyRanges() (err error) {
if e.partitionRangeMap != nil && e.partitionRangeMap[physicalID] != nil {
ranges = e.partitionRangeMap[physicalID]
}
- var kvRange []kv.KeyRange
+ var kvRange *kv.KeyRanges
if e.index.ID == -1 {
kvRange, err = distsql.CommonHandleRangesToKVRanges(sc, []int64{physicalID}, ranges)
} else {
@@ -481,15 +486,17 @@ func (e *IndexLookUpExecutor) buildTableKeyRanges() (err error) {
if err != nil {
return err
}
- e.partitionKVRanges = append(e.partitionKVRanges, kvRange)
+ e.partitionKVRanges = append(e.partitionKVRanges, kvRange.FirstPartitionRange())
}
} else {
physicalID := getPhysicalTableID(e.table)
+ var kvRanges *kv.KeyRanges
if e.index.ID == -1 {
- e.kvRanges, err = distsql.CommonHandleRangesToKVRanges(sc, []int64{physicalID}, e.ranges)
+ kvRanges, err = distsql.CommonHandleRangesToKVRanges(sc, []int64{physicalID}, e.ranges)
} else {
- e.kvRanges, err = distsql.IndexRangesToKVRanges(sc, physicalID, e.index.ID, e.ranges, e.feedback)
+ kvRanges, err = distsql.IndexRangesToKVRanges(sc, physicalID, e.index.ID, e.ranges, e.feedback)
}
+ e.kvRanges = kvRanges.FirstPartitionRange()
}
return err
}
@@ -718,6 +725,9 @@ func (e *IndexLookUpExecutor) buildTableReader(ctx context.Context, task *lookup
// Close implements Exec Close interface.
func (e *IndexLookUpExecutor) Close() error {
+ if e.stats != nil {
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
+ }
e.kvRanges = e.kvRanges[:0]
if e.dummy {
return nil
@@ -802,7 +812,6 @@ func (e *IndexLookUpExecutor) initRuntimeStats() {
indexScanBasicStats: &execdetails.BasicRuntimeStats{},
Concurrency: e.ctx.GetSessionVars().IndexLookupConcurrency(),
}
- e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
}
}
@@ -870,7 +879,7 @@ func (w *indexWorker) fetchHandles(ctx context.Context, result distsql.SelectRes
idxID := w.idxLookup.getIndexPlanRootID()
if w.idxLookup.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl != nil {
if idxID != w.idxLookup.id && w.idxLookup.stats != nil {
- w.idxLookup.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(idxID, w.idxLookup.stats.indexScanBasicStats)
+ w.idxLookup.stats.indexScanBasicStats = w.idxLookup.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.GetBasicRuntimeStats(idxID)
}
}
for {
@@ -1246,36 +1255,27 @@ func (w *tableWorker) compareData(ctx context.Context, task *lookupTableTask, ta
sctx := w.idxLookup.ctx.GetSessionVars().StmtCtx
for i := range vals {
col := w.idxTblCols[i]
- tp := &col.FieldType
- idxVal := idxRow.GetDatum(i, tp)
+ idxVal := idxRow.GetDatum(i, w.idxColTps[i])
tablecodec.TruncateIndexValue(&idxVal, w.idxLookup.index.Columns[i], col.ColumnInfo)
- cmpRes, err := idxVal.Compare(sctx, &vals[i], collators[i])
+ cmpRes, err := tables.CompareIndexAndVal(sctx, vals[i], idxVal, collators[i], col.FieldType.IsArray() && vals[i].Kind() == types.KindMysqlJSON)
if err != nil {
- fts := make([]*types.FieldType, 0, len(w.idxTblCols))
- for _, c := range w.idxTblCols {
- fts = append(fts, &c.FieldType)
- }
return ir().ReportAdminCheckInconsistentWithColInfo(ctx,
handle,
col.Name.O,
- idxRow.GetDatum(i, tp),
+ idxVal,
vals[i],
err,
- &consistency.RecordData{Handle: handle, Values: getDatumRow(&idxRow, fts)},
+ &consistency.RecordData{Handle: handle, Values: getDatumRow(&idxRow, w.idxColTps)},
)
}
if cmpRes != 0 {
- fts := make([]*types.FieldType, 0, len(w.idxTblCols))
- for _, c := range w.idxTblCols {
- fts = append(fts, &c.FieldType)
- }
return ir().ReportAdminCheckInconsistentWithColInfo(ctx,
handle,
col.Name.O,
- idxRow.GetDatum(i, tp),
+ idxRow.GetDatum(i, w.idxColTps[i]),
vals[i],
err,
- &consistency.RecordData{Handle: handle, Values: getDatumRow(&idxRow, fts)},
+ &consistency.RecordData{Handle: handle, Values: getDatumRow(&idxRow, w.idxColTps)},
)
}
}
diff --git a/executor/distsql_test.go b/executor/distsql_test.go
index 59b3aecc2bb6a..4420a714e96cf 100644
--- a/executor/distsql_test.go
+++ b/executor/distsql_test.go
@@ -316,9 +316,8 @@ func TestPartitionTableIndexLookUpReader(t *testing.T) {
tk.MustQuery("select * from t where a>=1 and a<15 order by a").Check(testkit.Rows("1 1", "2 2", "11 11", "12 12"))
tk.MustQuery("select * from t where a>=1 and a<15 order by a limit 1").Check(testkit.Rows("1 1"))
tk.MustQuery("select * from t where a>=1 and a<15 order by a limit 3").Check(testkit.Rows("1 1", "2 2", "11 11"))
- tk.MustQuery("select * from t where a>=1 and a<15 limit 3").Check(testkit.Rows("1 1", "2 2", "11 11"))
- tk.MustQuery("select * from t where a between 1 and 15 limit 3").Check(testkit.Rows("1 1", "2 2", "11 11"))
- tk.MustQuery("select * from t where a between 1 and 15 limit 3 offset 1").Check(testkit.Rows("2 2", "11 11", "12 12"))
+ tk.MustQuery("select * from t where a between 1 and 15 order by a limit 3").Check(testkit.Rows("1 1", "2 2", "11 11"))
+ tk.MustQuery("select * from t where a between 1 and 15 order by a limit 3 offset 1").Check(testkit.Rows("2 2", "11 11", "12 12"))
}
func TestPartitionTableRandomlyIndexLookUpReader(t *testing.T) {
diff --git a/executor/errors.go b/executor/errors.go
index 4a0c7f9215875..565a712d1c7d9 100644
--- a/executor/errors.go
+++ b/executor/errors.go
@@ -69,8 +69,11 @@ var (
ErrFuncNotEnabled = dbterror.ClassExecutor.NewStdErr(mysql.ErrNotSupportedYet, parser_mysql.Message("%-.32s is not supported. To enable this experimental feature, set '%-.32s' in the configuration file.", nil))
errSavepointNotExists = dbterror.ClassExecutor.NewStd(mysql.ErrSpDoesNotExist)
ErrForeignKeyCascadeDepthExceeded = dbterror.ClassExecutor.NewStd(mysql.ErrForeignKeyCascadeDepthExceeded)
+ ErrPasswordExpireAnonymousUser = dbterror.ClassExecutor.NewStd(mysql.ErrPasswordExpireAnonymousUser)
+ errMustChangePassword = dbterror.ClassExecutor.NewStd(mysql.ErrMustChangePassword)
ErrWrongStringLength = dbterror.ClassDDL.NewStd(mysql.ErrWrongStringLength)
errUnsupportedFlashbackTmpTable = dbterror.ClassDDL.NewStdErr(mysql.ErrUnsupportedDDLOperation, parser_mysql.Message("Recover/flashback table is not supported on temporary tables", nil))
errTruncateWrongInsertValue = dbterror.ClassTable.NewStdErr(mysql.ErrTruncatedWrongValue, parser_mysql.Message("Incorrect %-.32s value: '%-.128s' for column '%.192s' at row %d", nil))
+ ErrExistsInHistoryPassword = dbterror.ClassExecutor.NewStd(mysql.ErrExistsInHistoryPassword)
)
diff --git a/executor/executor.go b/executor/executor.go
index 6401d41e7e77e..cf759478b3f15 100644
--- a/executor/executor.go
+++ b/executor/executor.go
@@ -272,8 +272,7 @@ func newBaseExecutor(ctx sessionctx.Context, schema *expression.Schema, id int,
}
if ctx.GetSessionVars().StmtCtx.RuntimeStatsColl != nil {
if e.id > 0 {
- e.runtimeStats = &execdetails.BasicRuntimeStats{}
- e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(id, e.runtimeStats)
+ e.runtimeStats = e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.GetBasicRuntimeStats(id)
}
}
if schema != nil {
@@ -323,7 +322,7 @@ func Next(ctx context.Context, e Executor, req *chunk.Chunk) error {
if trace.IsEnabled() {
defer trace.StartRegion(ctx, fmt.Sprintf("%T.Next", e)).End()
}
- if topsqlstate.TopSQLEnabled() && sessVars.StmtCtx.IsSQLAndPlanRegistered.CAS(false, true) {
+ if topsqlstate.TopSQLEnabled() && sessVars.StmtCtx.IsSQLAndPlanRegistered.CompareAndSwap(false, true) {
registerSQLAndPlanInExecForTopSQL(sessVars)
}
err := e.Next(ctx, req)
@@ -354,7 +353,7 @@ func (e *CancelDDLJobsExec) Open(ctx context.Context) error {
if err != nil {
return err
}
- e.errs, err = ddl.CancelJobs(newSess, e.ctx.GetStore(), e.jobIDs)
+ e.errs, err = ddl.CancelJobs(newSess, e.jobIDs)
e.releaseSysSession(kv.WithInternalSourceType(context.Background(), kv.InternalTxnDDL), newSess)
return err
}
@@ -399,7 +398,7 @@ func (e *ShowNextRowIDExec) Next(ctx context.Context, req *chunk.Chunk) error {
tblMeta := tbl.Meta()
allocators := tbl.Allocators(e.ctx)
- for _, alloc := range allocators {
+ for _, alloc := range allocators.Allocs {
nextGlobalID, err := alloc.NextGlobalAutoID()
if err != nil {
return err
@@ -407,7 +406,16 @@ func (e *ShowNextRowIDExec) Next(ctx context.Context, req *chunk.Chunk) error {
var colName, idType string
switch alloc.GetType() {
- case autoid.RowIDAllocType, autoid.AutoIncrementType:
+ case autoid.RowIDAllocType:
+ idType = "_TIDB_ROWID"
+ if tblMeta.PKIsHandle {
+ if col := tblMeta.GetAutoIncrementColInfo(); col != nil {
+ colName = col.Name.O
+ }
+ } else {
+ colName = model.ExtraHandleName.O
+ }
+ case autoid.AutoIncrementType:
idType = "AUTO_INCREMENT"
if tblMeta.PKIsHandle {
if col := tblMeta.GetAutoIncrementColInfo(); col != nil {
@@ -587,7 +595,7 @@ func (e *DDLJobRetriever) appendJobToChunk(req *chunk.Chunk, job *model.Job, che
req.AppendInt64(0, job.ID)
req.AppendString(1, schemaName)
req.AppendString(2, tableName)
- req.AppendString(3, subJob.Type.String()+" /* subjob */")
+ req.AppendString(3, subJob.Type.String()+" /* subjob */"+showAddIdxReorgTpInSubJob(subJob))
req.AppendString(4, subJob.SchemaState.String())
req.AppendInt64(5, job.SchemaID)
req.AppendInt64(6, job.TableID)
@@ -612,6 +620,16 @@ func showAddIdxReorgTp(job *model.Job) string {
return ""
}
+func showAddIdxReorgTpInSubJob(subJob *model.SubJob) string {
+ if subJob.Type == model.ActionAddIndex || subJob.Type == model.ActionAddPrimaryKey {
+ tp := subJob.ReorgTp.String()
+ if len(tp) > 0 {
+ return " /* " + tp + " */"
+ }
+ }
+ return ""
+}
+
func ts2Time(timestamp uint64, loc *time.Location) types.Time {
duration := time.Duration(math.Pow10(9-types.DefaultFsp)) * time.Nanosecond
t := model.TSConvert2Time(timestamp)
@@ -951,6 +969,9 @@ func (e *CheckTableExec) Next(ctx context.Context, req *chunk.Chunk) error {
idxNames := make([]string, 0, len(e.indexInfos))
for _, idx := range e.indexInfos {
+ if idx.MVIndex {
+ continue
+ }
idxNames = append(idxNames, idx.Name.O)
}
greater, idxOffset, err := admin.CheckIndicesCount(e.ctx, e.dbName, e.table.Meta().Name.O, idxNames)
@@ -970,7 +991,13 @@ func (e *CheckTableExec) Next(ctx context.Context, req *chunk.Chunk) error {
// The number of table rows is equal to the number of index rows.
// TODO: Make the value of concurrency adjustable. And we can consider the number of records.
if len(e.srcs) == 1 {
- return e.checkIndexHandle(ctx, e.srcs[0])
+ err = e.checkIndexHandle(ctx, e.srcs[0])
+ if err == nil && e.srcs[0].index.MVIndex {
+ err = e.checkTableRecord(ctx, 0)
+ }
+ if err != nil {
+ return err
+ }
}
taskCh := make(chan *IndexLookUpExecutor, len(e.srcs))
failure := atomicutil.NewBool(false)
@@ -989,6 +1016,14 @@ func (e *CheckTableExec) Next(ctx context.Context, req *chunk.Chunk) error {
select {
case src := <-taskCh:
err1 := e.checkIndexHandle(ctx, src)
+ if err1 == nil && src.index.MVIndex {
+ for offset, idx := range e.indexInfos {
+ if idx.ID == src.index.ID {
+ err1 = e.checkTableRecord(ctx, offset)
+ break
+ }
+ }
+ }
if err1 != nil {
failure.Store(true)
logutil.Logger(ctx).Info("check index handle failed", zap.Error(err1))
@@ -1925,7 +1960,7 @@ func (e *UnionExec) Close() error {
func ResetContextOfStmt(ctx sessionctx.Context, s ast.StmtNode) (err error) {
vars := ctx.GetSessionVars()
var sc *stmtctx.StatementContext
- if vars.TxnCtx.CouldRetry {
+ if vars.TxnCtx.CouldRetry || mysql.HasCursorExistsFlag(vars.Status) {
// Must construct new statement context object, the retry history need context for every statement.
// TODO: Maybe one day we can get rid of transaction retry, then this logic can be deleted.
sc = &stmtctx.StatementContext{}
@@ -1951,8 +1986,13 @@ func ResetContextOfStmt(ctx sessionctx.Context, s ast.StmtNode) (err error) {
sc.UseDynamicPruneMode = false
}
+ sc.StatsLoad.Timeout = 0
+ sc.StatsLoad.NeededItems = nil
+ sc.StatsLoad.ResultCh = nil
+
sc.SysdateIsNow = ctx.GetSessionVars().SysdateIsNow
+ vars.MemTracker.Detach()
vars.MemTracker.UnbindActions()
vars.MemTracker.SetBytesLimit(vars.MemQuotaQuery)
vars.MemTracker.ResetMaxConsumed()
@@ -1963,21 +2003,22 @@ func ResetContextOfStmt(ctx sessionctx.Context, s ast.StmtNode) (err error) {
if _, ok := s.(*ast.AnalyzeTableStmt); ok {
sc.InitMemTracker(memory.LabelForAnalyzeMemory, -1)
vars.MemTracker.SetBytesLimit(-1)
+ vars.MemTracker.AttachTo(GlobalAnalyzeMemoryTracker)
} else {
sc.InitMemTracker(memory.LabelForSQLText, -1)
- logOnQueryExceedMemQuota := domain.GetDomain(ctx).ExpensiveQueryHandle().LogOnQueryExceedMemQuota
- switch variable.OOMAction.Load() {
- case variable.OOMActionCancel:
- action := &memory.PanicOnExceed{ConnID: vars.ConnectionID}
- action.SetLogHook(logOnQueryExceedMemQuota)
- vars.MemTracker.SetActionOnExceed(action)
- case variable.OOMActionLog:
- fallthrough
- default:
- action := &memory.LogOnExceed{ConnID: vars.ConnectionID}
- action.SetLogHook(logOnQueryExceedMemQuota)
- vars.MemTracker.SetActionOnExceed(action)
- }
+ }
+ logOnQueryExceedMemQuota := domain.GetDomain(ctx).ExpensiveQueryHandle().LogOnQueryExceedMemQuota
+ switch variable.OOMAction.Load() {
+ case variable.OOMActionCancel:
+ action := &memory.PanicOnExceed{ConnID: vars.ConnectionID}
+ action.SetLogHook(logOnQueryExceedMemQuota)
+ vars.MemTracker.SetActionOnExceed(action)
+ case variable.OOMActionLog:
+ fallthrough
+ default:
+ action := &memory.LogOnExceed{ConnID: vars.ConnectionID}
+ action.SetLogHook(logOnQueryExceedMemQuota)
+ vars.MemTracker.SetActionOnExceed(action)
}
sc.MemTracker.SessionID = vars.ConnectionID
sc.MemTracker.AttachTo(vars.MemTracker)
@@ -2154,6 +2195,9 @@ func ResetContextOfStmt(ctx sessionctx.Context, s ast.StmtNode) (err error) {
vars.ClearStmtVars()
vars.PrevFoundInBinding = vars.FoundInBinding
vars.FoundInBinding = false
+ vars.DurationWaitTS = 0
+ vars.CurrInsertBatchExtraCols = nil
+ vars.CurrInsertValues = chunk.Row{}
return
}
@@ -2182,39 +2226,6 @@ func ResetUpdateStmtCtx(sc *stmtctx.StatementContext, stmt *ast.UpdateStmt, vars
sc.IgnoreNoPartition = stmt.IgnoreErr
}
-// FillVirtualColumnValue will calculate the virtual column value by evaluating generated
-// expression using rows from a chunk, and then fill this value into the chunk
-func FillVirtualColumnValue(virtualRetTypes []*types.FieldType, virtualColumnIndex []int,
- schema *expression.Schema, columns []*model.ColumnInfo, sctx sessionctx.Context, req *chunk.Chunk) error {
- if len(virtualColumnIndex) == 0 {
- return nil
- }
-
- virCols := chunk.NewChunkWithCapacity(virtualRetTypes, req.Capacity())
- iter := chunk.NewIterator4Chunk(req)
- for i, idx := range virtualColumnIndex {
- for row := iter.Begin(); row != iter.End(); row = iter.Next() {
- datum, err := schema.Columns[idx].EvalVirtualColumn(row)
- if err != nil {
- return err
- }
- // Because the expression might return different type from
- // the generated column, we should wrap a CAST on the result.
- castDatum, err := table.CastValue(sctx, datum, columns[idx], false, true)
- if err != nil {
- return err
- }
- // Handle the bad null error.
- if (mysql.HasNotNullFlag(columns[idx].GetFlag()) || mysql.HasPreventNullInsertFlag(columns[idx].GetFlag())) && castDatum.IsNull() {
- castDatum = table.GetZeroValue(columns[idx])
- }
- virCols.AppendDatum(i, &castDatum)
- }
- req.SetCol(idx, virCols.Column(i))
- }
- return nil
-}
-
func setOptionForTopSQL(sc *stmtctx.StatementContext, snapshot kv.Snapshot) {
if snapshot == nil {
return
diff --git a/executor/executor_required_rows_test.go b/executor/executor_required_rows_test.go
index cbca9914b5bc2..c3ac762050d24 100644
--- a/executor/executor_required_rows_test.go
+++ b/executor/executor_required_rows_test.go
@@ -22,6 +22,7 @@ import (
"testing"
"time"
+ "github.com/pingcap/tidb/domain"
"github.com/pingcap/tidb/expression"
"github.com/pingcap/tidb/expression/aggregation"
"github.com/pingcap/tidb/parser/ast"
@@ -211,6 +212,7 @@ func defaultCtx() sessionctx.Context {
ctx.GetSessionVars().StmtCtx.MemTracker = memory.NewTracker(-1, ctx.GetSessionVars().MemQuotaQuery)
ctx.GetSessionVars().StmtCtx.DiskTracker = disk.NewTracker(-1, -1)
ctx.GetSessionVars().SnapshotTS = uint64(1)
+ domain.BindDomain(ctx, domain.NewMockDomain())
return ctx
}
diff --git a/executor/executor_test.go b/executor/executor_test.go
index 641f56817cd60..9e40832db5b5f 100644
--- a/executor/executor_test.go
+++ b/executor/executor_test.go
@@ -66,6 +66,7 @@ import (
"github.com/pingcap/tidb/util/dbterror"
"github.com/pingcap/tidb/util/memory"
"github.com/pingcap/tidb/util/mock"
+ "github.com/pingcap/tidb/util/replayer"
"github.com/pingcap/tidb/util/rowcodec"
"github.com/pingcap/tidb/util/sqlexec"
"github.com/pingcap/tidb/util/timeutil"
@@ -81,12 +82,15 @@ func checkFileName(s string) bool {
"meta.txt",
"stats/test.t_dump_single.json",
"schema/test.t_dump_single.schema.txt",
+ "schema/schema_meta.txt",
"table_tiflash_replica.txt",
"variables.toml",
"session_bindings.sql",
"global_bindings.sql",
"sql/sql0.sql",
"explain/sql0.txt",
+ "statsMem/test.t_dump_single.txt",
+ "sql_meta.toml",
}
for _, f := range files {
if strings.Compare(f, s) == 0 {
@@ -174,6 +178,46 @@ func TestPlanReplayer(t *testing.T) {
require.Len(t, rows, 1)
}
+func TestPlanReplayerCapture(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("plan replayer capture '123' '123';")
+ tk.MustQuery("select sql_digest, plan_digest from mysql.plan_replayer_task;").Check(testkit.Rows("123 123"))
+ tk.MustGetErrMsg("plan replayer capture '123' '123';", "plan replayer capture task already exists")
+ tk.MustExec("delete from mysql.plan_replayer_task")
+ tk.MustExec("create table t(id int)")
+ tk.MustExec("prepare stmt from 'update t set id = ? where id = ? + 1';")
+ tk.MustExec("SET @number = 5;")
+ tk.MustExec("execute stmt using @number,@number")
+ _, sqlDigest := tk.Session().GetSessionVars().StmtCtx.SQLDigest()
+ _, planDigest := tk.Session().GetSessionVars().StmtCtx.GetPlanDigest()
+ tk.MustExec("SET @@tidb_enable_plan_replayer_capture = ON;")
+ tk.MustExec(fmt.Sprintf("plan replayer capture '%v' '%v'", sqlDigest.String(), planDigest.String()))
+ err := dom.GetPlanReplayerHandle().CollectPlanReplayerTask()
+ require.NoError(t, err)
+ tk.MustExec("execute stmt using @number,@number")
+ task := dom.GetPlanReplayerHandle().DrainTask()
+ require.NotNil(t, task)
+}
+
+func TestPlanReplayerContinuesCapture(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ prHandle := dom.GetPlanReplayerHandle()
+ tk.MustExec("delete from mysql.plan_replayer_status;")
+ tk.MustExec("use test")
+ tk.MustExec("create table t(id int);")
+ tk.MustExec("set @@tidb_enable_plan_replayer_continues_capture = 'ON'")
+ tk.MustQuery("select * from t;")
+ task := prHandle.DrainTask()
+ require.NotNil(t, task)
+ worker := prHandle.GetWorker()
+ success := worker.HandleTask(task)
+ require.True(t, success)
+ tk.MustQuery("select count(*) from mysql.plan_replayer_status").Check(testkit.Rows("1"))
+}
+
func TestShow(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
@@ -1560,7 +1604,7 @@ func TestPlanReplayerDumpSingle(t *testing.T) {
res := tk.MustQuery("plan replayer dump explain select * from t_dump_single")
path := testdata.ConvertRowsToStrings(res.Rows())
- reader, err := zip.OpenReader(filepath.Join(domain.GetPlanReplayerDirName(), path[0]))
+ reader, err := zip.OpenReader(filepath.Join(replayer.GetPlanReplayerDirName(), path[0]))
require.NoError(t, err)
defer func() { require.NoError(t, reader.Close()) }()
for _, file := range reader.File {
@@ -1913,7 +1957,7 @@ func TestCheckIndex(t *testing.T) {
tbInfo := tbl.Meta()
alloc := autoid.NewAllocator(store, dbInfo.ID, tbInfo.ID, false, autoid.RowIDAllocType)
- tb, err := tables.TableFromMeta(autoid.NewAllocators(alloc), tbInfo)
+ tb, err := tables.TableFromMeta(autoid.NewAllocators(false, alloc), tbInfo)
require.NoError(t, err)
_, err = se.Execute(context.Background(), "admin check index t c")
@@ -3578,10 +3622,10 @@ func TestPointGetPreparedPlan(t *testing.T) {
pspk1Id, _, _, err := tk.Session().PrepareStmt("select * from t where a = ?")
require.NoError(t, err)
- tk.Session().GetSessionVars().PreparedStmts[pspk1Id].(*plannercore.PlanCacheStmt).PreparedAst.UseCache = false
+ tk.Session().GetSessionVars().PreparedStmts[pspk1Id].(*plannercore.PlanCacheStmt).StmtCacheable = false
pspk2Id, _, _, err := tk.Session().PrepareStmt("select * from t where ? = a ")
require.NoError(t, err)
- tk.Session().GetSessionVars().PreparedStmts[pspk2Id].(*plannercore.PlanCacheStmt).PreparedAst.UseCache = false
+ tk.Session().GetSessionVars().PreparedStmts[pspk2Id].(*plannercore.PlanCacheStmt).StmtCacheable = false
ctx := context.Background()
// first time plan generated
@@ -3621,7 +3665,7 @@ func TestPointGetPreparedPlan(t *testing.T) {
// unique index
psuk1Id, _, _, err := tk.Session().PrepareStmt("select * from t where b = ? ")
require.NoError(t, err)
- tk.Session().GetSessionVars().PreparedStmts[psuk1Id].(*plannercore.PlanCacheStmt).PreparedAst.UseCache = false
+ tk.Session().GetSessionVars().PreparedStmts[psuk1Id].(*plannercore.PlanCacheStmt).StmtCacheable = false
rs, err = tk.Session().ExecutePreparedStmt(ctx, psuk1Id, expression.Args2Expressions4Test(1))
require.NoError(t, err)
@@ -3739,7 +3783,7 @@ func TestPointGetPreparedPlanWithCommitMode(t *testing.T) {
pspk1Id, _, _, err := tk1.Session().PrepareStmt("select * from t where a = ?")
require.NoError(t, err)
- tk1.Session().GetSessionVars().PreparedStmts[pspk1Id].(*plannercore.PlanCacheStmt).PreparedAst.UseCache = false
+ tk1.Session().GetSessionVars().PreparedStmts[pspk1Id].(*plannercore.PlanCacheStmt).StmtCacheable = false
ctx := context.Background()
// first time plan generated
@@ -3805,11 +3849,11 @@ func TestPointUpdatePreparedPlan(t *testing.T) {
updateID1, pc, _, err := tk.Session().PrepareStmt(`update t set c = c + 1 where a = ?`)
require.NoError(t, err)
- tk.Session().GetSessionVars().PreparedStmts[updateID1].(*plannercore.PlanCacheStmt).PreparedAst.UseCache = false
+ tk.Session().GetSessionVars().PreparedStmts[updateID1].(*plannercore.PlanCacheStmt).StmtCacheable = false
require.Equal(t, 1, pc)
updateID2, pc, _, err := tk.Session().PrepareStmt(`update t set c = c + 2 where ? = a`)
require.NoError(t, err)
- tk.Session().GetSessionVars().PreparedStmts[updateID2].(*plannercore.PlanCacheStmt).PreparedAst.UseCache = false
+ tk.Session().GetSessionVars().PreparedStmts[updateID2].(*plannercore.PlanCacheStmt).StmtCacheable = false
require.Equal(t, 1, pc)
ctx := context.Background()
@@ -3844,7 +3888,7 @@ func TestPointUpdatePreparedPlan(t *testing.T) {
// unique index
updUkID1, _, _, err := tk.Session().PrepareStmt(`update t set c = c + 10 where b = ?`)
require.NoError(t, err)
- tk.Session().GetSessionVars().PreparedStmts[updUkID1].(*plannercore.PlanCacheStmt).PreparedAst.UseCache = false
+ tk.Session().GetSessionVars().PreparedStmts[updUkID1].(*plannercore.PlanCacheStmt).StmtCacheable = false
rs, err = tk.Session().ExecutePreparedStmt(ctx, updUkID1, expression.Args2Expressions4Test(3))
require.Nil(t, rs)
require.NoError(t, err)
@@ -3913,7 +3957,7 @@ func TestPointUpdatePreparedPlanWithCommitMode(t *testing.T) {
ctx := context.Background()
updateID1, _, _, err := tk1.Session().PrepareStmt(`update t set c = c + 1 where a = ?`)
- tk1.Session().GetSessionVars().PreparedStmts[updateID1].(*plannercore.PlanCacheStmt).PreparedAst.UseCache = false
+ tk1.Session().GetSessionVars().PreparedStmts[updateID1].(*plannercore.PlanCacheStmt).StmtCacheable = false
require.NoError(t, err)
// first time plan generated
@@ -4594,13 +4638,10 @@ func TestUnion2(t *testing.T) {
terr = errors.Cause(err).(*terror.Error)
require.Equal(t, errors.ErrCode(mysql.ErrWrongUsage), terr.Code())
- _, err = tk.Exec("(select a from t order by a) union all select a from t limit 1 union all select a from t limit 1")
- require.Truef(t, terror.ErrorEqual(err, plannercore.ErrWrongUsage), "err %v", err)
+ tk.MustGetDBError("(select a from t order by a) union all select a from t limit 1 union all select a from t limit 1", plannercore.ErrWrongUsage)
- _, err = tk.Exec("(select a from t limit 1) union all select a from t limit 1")
- require.NoError(t, err)
- _, err = tk.Exec("(select a from t order by a) union all select a from t order by a")
- require.NoError(t, err)
+ tk.MustExec("(select a from t limit 1) union all select a from t limit 1")
+ tk.MustExec("(select a from t order by a) union all select a from t order by a")
tk.MustExec("drop table if exists t")
tk.MustExec("create table t(a int)")
@@ -4671,8 +4712,8 @@ func TestUnion2(t *testing.T) {
tk.MustExec("insert into t2 values(3,'c'),(4,'d'),(5,'f'),(6,'e')")
tk.MustExec("analyze table t1")
tk.MustExec("analyze table t2")
- _, err = tk.Exec("(select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1) order by t1.b")
- require.Equal(t, "[planner:1250]Table 't1' from one of the SELECTs cannot be used in global ORDER clause", err.Error())
+ tk.MustGetErrMsg("(select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1) order by t1.b",
+ "[planner:1250]Table 't1' from one of the SELECTs cannot be used in global ORDER clause")
// #issue 9900
tk.MustExec("drop table if exists t")
@@ -4826,15 +4867,11 @@ func TestSQLMode(t *testing.T) {
tk.MustExec("drop table if exists t")
tk.MustExec("create table t (a tinyint not null)")
tk.MustExec("set sql_mode = 'STRICT_TRANS_TABLES'")
- _, err := tk.Exec("insert t values ()")
- require.Error(t, err)
-
- _, err = tk.Exec("insert t values ('1000')")
- require.Error(t, err)
+ tk.ExecToErr("insert t values ()")
+ tk.ExecToErr("insert t values ('1000')")
tk.MustExec("create table if not exists tdouble (a double(3,2))")
- _, err = tk.Exec("insert tdouble values (10.23)")
- require.Error(t, err)
+ tk.ExecToErr("insert tdouble values (10.23)")
tk.MustExec("set sql_mode = ''")
tk.MustExec("insert t values ()")
@@ -4862,8 +4899,7 @@ func TestSQLMode(t *testing.T) {
tk2.MustQuery("select * from t2").Check(testkit.Rows("abc"))
// session1 is still in strict mode.
- _, err = tk.Exec("insert t2 values ('abcd')")
- require.Error(t, err)
+ tk.ExecToErr("insert t2 values ('abcd')")
// Restore original global strict mode.
tk.MustExec("set @@global.sql_mode = 'STRICT_TRANS_TABLES'")
}
@@ -5947,6 +5983,8 @@ func TestSummaryFailedUpdate(t *testing.T) {
tk.Session().SetSessionManager(sm)
dom.ExpensiveQueryHandle().SetSessionManager(sm)
defer tk.MustExec("SET GLOBAL tidb_mem_oom_action = DEFAULT")
+ tk.MustQuery("select variable_value from mysql.GLOBAL_VARIABLES where variable_name = 'tidb_mem_oom_action'").Check(testkit.Rows("LOG"))
+
tk.MustExec("SET GLOBAL tidb_mem_oom_action='CANCEL'")
require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "%"}, nil, nil))
tk.MustExec("set @@tidb_mem_quota_query=1")
@@ -6226,8 +6264,7 @@ func TestSessionRootTrackerDetach(t *testing.T) {
tk.MustExec("create table t(a int, b int, index idx(a))")
tk.MustExec("create table t1(a int, c int, index idx(a))")
tk.MustExec("set tidb_mem_quota_query=10")
- err := tk.ExecToErr("select /*+hash_join(t1)*/ t.a, t1.a from t use index(idx), t1 use index(idx) where t.a = t1.a")
- require.Contains(t, err.Error(), "Out Of Memory Quota!")
+ tk.MustContainErrMsg("select /*+hash_join(t1)*/ t.a, t1.a from t use index(idx), t1 use index(idx) where t.a = t1.a", "Out Of Memory Quota!")
tk.MustExec("set tidb_mem_quota_query=1000")
rs, err := tk.Exec("select /*+hash_join(t1)*/ t.a, t1.a from t use index(idx), t1 use index(idx) where t.a = t1.a")
require.NoError(t, err)
@@ -6236,3 +6273,34 @@ func TestSessionRootTrackerDetach(t *testing.T) {
require.NoError(t, err)
require.Nil(t, tk.Session().GetSessionVars().MemTracker.GetFallbackForTest(false))
}
+
+func TestIssue39211(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t;")
+ tk.MustExec("drop table if exists s;")
+
+ tk.MustExec("CREATE TABLE `t` ( `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL);")
+ tk.MustExec("CREATE TABLE `s` ( `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL);")
+ tk.MustExec("insert into t values(1,1),(2,2);")
+ tk.MustExec("insert into t select * from t;")
+ tk.MustExec("insert into t select * from t;")
+ tk.MustExec("insert into t select * from t;")
+ tk.MustExec("insert into t select * from t;")
+ tk.MustExec("insert into t select * from t;")
+ tk.MustExec("insert into t select * from t;")
+ tk.MustExec("insert into t select * from t;")
+ tk.MustExec("insert into t select * from t;")
+
+ tk.MustExec("insert into s values(3,3),(4,4),(1,null),(2,null),(null,null);")
+ tk.MustExec("insert into s select * from s;")
+ tk.MustExec("insert into s select * from s;")
+ tk.MustExec("insert into s select * from s;")
+ tk.MustExec("insert into s select * from s;")
+ tk.MustExec("insert into s select * from s;")
+
+ tk.MustExec("set @@tidb_max_chunk_size=32;")
+ tk.MustExec("set @@tidb_enable_null_aware_anti_join=true;")
+ tk.MustQuery("select * from t where (a,b) not in (select a, b from s);").Check(testkit.Rows())
+}
diff --git a/executor/explain_test.go b/executor/explain_test.go
index c67c61a67a909..28dbbbe12fcf6 100644
--- a/executor/explain_test.go
+++ b/executor/explain_test.go
@@ -16,6 +16,7 @@ package executor_test
import (
"bytes"
+ "encoding/json"
"fmt"
"regexp"
"strconv"
@@ -246,6 +247,7 @@ func TestExplainAnalyzeExecutionInfo(t *testing.T) {
checkExecutionInfo(t, tk, "explain analyze select * from t use index(k)")
checkExecutionInfo(t, tk, "explain analyze with recursive cte(a) as (select 1 union select a + 1 from cte where a < 1000) select * from cte;")
+ tk.MustExec("set @@foreign_key_checks=0")
tk.MustExec("CREATE TABLE IF NOT EXISTS nation ( N_NATIONKEY BIGINT NOT NULL,N_NAME CHAR(25) NOT NULL,N_REGIONKEY BIGINT NOT NULL,N_COMMENT VARCHAR(152),PRIMARY KEY (N_NATIONKEY));")
tk.MustExec("CREATE TABLE IF NOT EXISTS part ( P_PARTKEY BIGINT NOT NULL,P_NAME VARCHAR(55) NOT NULL,P_MFGR CHAR(25) NOT NULL,P_BRAND CHAR(10) NOT NULL,P_TYPE VARCHAR(25) NOT NULL,P_SIZE BIGINT NOT NULL,P_CONTAINER CHAR(10) NOT NULL,P_RETAILPRICE DECIMAL(15,2) NOT NULL,P_COMMENT VARCHAR(23) NOT NULL,PRIMARY KEY (P_PARTKEY));")
tk.MustExec("CREATE TABLE IF NOT EXISTS supplier ( S_SUPPKEY BIGINT NOT NULL,S_NAME CHAR(25) NOT NULL,S_ADDRESS VARCHAR(40) NOT NULL,S_NATIONKEY BIGINT NOT NULL,S_PHONE CHAR(15) NOT NULL,S_ACCTBAL DECIMAL(15,2) NOT NULL,S_COMMENT VARCHAR(101) NOT NULL,PRIMARY KEY (S_SUPPKEY),CONSTRAINT FOREIGN KEY SUPPLIER_FK1 (S_NATIONKEY) references nation(N_NATIONKEY));")
@@ -364,7 +366,7 @@ func TestCheckActRowsWithUnistore(t *testing.T) {
},
{
sql: "select count(*) from t_unistore_act_rows group by b",
- expected: []string{"2", "2", "2", "4"},
+ expected: []string{"2", "4", "4"},
},
{
sql: "with cte(a) as (select a from t_unistore_act_rows) select (select 1 from cte limit 1) from cte;",
@@ -515,3 +517,96 @@ func TestIssue35105(t *testing.T) {
require.Error(t, tk.ExecToErr("explain analyze insert into t values (1), (2), (3)"))
tk.MustQuery("select * from t").Check(testkit.Rows("2"))
}
+
+func flatJSONPlan(j *plannercore.ExplainInfoForEncode) (res []*plannercore.ExplainInfoForEncode) {
+ if j == nil {
+ return
+ }
+ res = append(res, j)
+ for _, child := range j.SubOperators {
+ res = append(res, flatJSONPlan(child)...)
+ }
+ return
+}
+
+func TestExplainJSON(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t1, t2")
+ tk.MustExec("create table t1(id int, key(id))")
+ tk.MustExec("create table t2(id int, key(id))")
+ cases := []string{
+ "select * from t1",
+ "select count(*) from t2",
+ "select * from t1, t2 where t1.id = t2.id",
+ "select /*+ merge_join(t1, t2)*/ * from t1, t2 where t1.id = t2.id",
+ "with top10 as ( select * from t1 order by id desc limit 10 ) select * from top10 where id in (1,2)",
+ "insert into t1 values(1)",
+ "delete from t2 where t2.id > 10",
+ "update t2 set id = 1 where id =2",
+ "select * from t1 where t1.id < (select sum(t2.id) from t2 where t2.id = t1.id)",
+ }
+ // test syntax
+ tk.MustExec("explain format = 'tidb_json' select * from t1")
+ tk.MustExec("explain format = tidb_json select * from t1")
+ tk.MustExec("explain format = 'TIDB_JSON' select * from t1")
+ tk.MustExec("explain format = TIDB_JSON select * from t1")
+ tk.MustExec("explain analyze format = 'tidb_json' select * from t1")
+ tk.MustExec("explain analyze format = tidb_json select * from t1")
+ tk.MustExec("explain analyze format = 'TIDB_JSON' select * from t1")
+ tk.MustExec("explain analyze format = TIDB_JSON select * from t1")
+
+ // explain
+ for _, sql := range cases {
+ jsonForamt := "explain format = tidb_json " + sql
+ rowForamt := "explain format = row " + sql
+ resJSON := tk.MustQuery(jsonForamt).Rows()
+ resRow := tk.MustQuery(rowForamt).Rows()
+
+ j := new([]*plannercore.ExplainInfoForEncode)
+ require.NoError(t, json.Unmarshal([]byte(resJSON[0][0].(string)), j))
+ var flatJSONRows []*plannercore.ExplainInfoForEncode
+ for _, row := range *j {
+ flatJSONRows = append(flatJSONRows, flatJSONPlan(row)...)
+ }
+ require.Equal(t, len(flatJSONRows), len(resRow))
+
+ for i, row := range resRow {
+ require.Contains(t, row[0], flatJSONRows[i].ID)
+ require.Equal(t, flatJSONRows[i].EstRows, row[1])
+ require.Equal(t, flatJSONRows[i].TaskType, row[2])
+ require.Equal(t, flatJSONRows[i].AccessObject, row[3])
+ require.Equal(t, flatJSONRows[i].OperatorInfo, row[4])
+ }
+ }
+
+ // explain analyze
+ for _, sql := range cases {
+ jsonForamt := "explain analyze format = tidb_json " + sql
+ rowForamt := "explain analyze format = row " + sql
+ resJSON := tk.MustQuery(jsonForamt).Rows()
+ resRow := tk.MustQuery(rowForamt).Rows()
+
+ j := new([]*plannercore.ExplainInfoForEncode)
+ require.NoError(t, json.Unmarshal([]byte(resJSON[0][0].(string)), j))
+ var flatJSONRows []*plannercore.ExplainInfoForEncode
+ for _, row := range *j {
+ flatJSONRows = append(flatJSONRows, flatJSONPlan(row)...)
+ }
+ require.Equal(t, len(flatJSONRows), len(resRow))
+
+ for i, row := range resRow {
+ require.Contains(t, row[0], flatJSONRows[i].ID)
+ require.Equal(t, flatJSONRows[i].EstRows, row[1])
+ require.Equal(t, flatJSONRows[i].ActRows, row[2])
+ require.Equal(t, flatJSONRows[i].TaskType, row[3])
+ require.Equal(t, flatJSONRows[i].AccessObject, row[4])
+ require.Equal(t, flatJSONRows[i].OperatorInfo, row[6])
+ // executeInfo, memory, disk maybe vary in multi execution
+ require.NotEqual(t, flatJSONRows[i].ExecuteInfo, "")
+ require.NotEqual(t, flatJSONRows[i].MemoryInfo, "")
+ require.NotEqual(t, flatJSONRows[i].DiskInfo, "")
+ }
+ }
+}
diff --git a/executor/explainfor_test.go b/executor/explainfor_test.go
index 85652a5f04ddb..ddb0578338c6f 100644
--- a/executor/explainfor_test.go
+++ b/executor/explainfor_test.go
@@ -16,6 +16,7 @@ package executor_test
import (
"bytes"
+ "encoding/json"
"fmt"
"strconv"
"testing"
@@ -550,9 +551,9 @@ func TestIssue28259(t *testing.T) {
ps = []*util.ProcessInfo{tkProcess}
tk.Session().SetSessionManager(&testkit.MockSessionManager{PS: ps})
res = tk.MustQuery("explain for connection " + strconv.FormatUint(tkProcess.ID, 10))
- require.Len(t, res.Rows(), 4)
- require.Regexp(t, ".*Selection.*", res.Rows()[0][0])
- require.Regexp(t, ".*IndexFullScan.*", res.Rows()[3][0])
+ require.Len(t, res.Rows(), 3)
+ require.Regexp(t, ".*Selection.*", res.Rows()[1][0])
+ require.Regexp(t, ".*IndexFullScan.*", res.Rows()[2][0])
res = tk.MustQuery("explain format = 'brief' select col1 from UK_GCOL_VIRTUAL_18588 use index(UK_COL1) " +
"where col1 between -1696020282760139948 and -2619168038882941276 or col1 < -4004648990067362699;")
@@ -588,11 +589,9 @@ func TestIssue28259(t *testing.T) {
ps = []*util.ProcessInfo{tkProcess}
tk.Session().SetSessionManager(&testkit.MockSessionManager{PS: ps})
res = tk.MustQuery("explain for connection " + strconv.FormatUint(tkProcess.ID, 10))
- require.Len(t, res.Rows(), 5)
- require.Regexp(t, ".*Selection.*", res.Rows()[1][0])
- require.Equal(t, "lt(test.t.b, 1), or(and(ge(test.t.a, 2), le(test.t.a, 1)), lt(test.t.a, 1))", res.Rows()[1][4])
- require.Regexp(t, ".*IndexReader.*", res.Rows()[2][0])
- require.Regexp(t, ".*IndexRangeScan.*", res.Rows()[4][0])
+ require.Len(t, res.Rows(), 4)
+ require.Regexp(t, ".*Selection.*", res.Rows()[2][0])
+ require.Regexp(t, ".*IndexRangeScan.*", res.Rows()[3][0])
res = tk.MustQuery("explain format = 'brief' select a from t use index(idx) " +
"where (a between 0 and 2 or a < 2) and b < 1;")
@@ -635,12 +634,11 @@ func TestIssue28259(t *testing.T) {
ps = []*util.ProcessInfo{tkProcess}
tk.Session().SetSessionManager(&testkit.MockSessionManager{PS: ps})
res = tk.MustQuery("explain for connection " + strconv.FormatUint(tkProcess.ID, 10))
- require.Len(t, res.Rows(), 6)
- require.Regexp(t, ".*Selection.*", res.Rows()[1][0])
- require.Regexp(t, ".*IndexLookUp.*", res.Rows()[2][0])
- require.Regexp(t, ".*IndexRangeScan.*", res.Rows()[3][0])
- require.Regexp(t, ".*Selection.*", res.Rows()[4][0])
- require.Regexp(t, ".*TableRowIDScan.*", res.Rows()[5][0])
+ require.Len(t, res.Rows(), 5)
+ require.Regexp(t, ".*IndexLookUp.*", res.Rows()[1][0])
+ require.Regexp(t, ".*IndexRangeScan.*", res.Rows()[2][0])
+ require.Regexp(t, ".*Selection.*", res.Rows()[3][0])
+ require.Regexp(t, ".*TableRowIDScan.*", res.Rows()[4][0])
res = tk.MustQuery("explain format = 'brief' select /*+ USE_INDEX(t, idx) */ a from t use index(idx) " +
"where (a between 0 and 2 or a < 2) and b < 1;")
@@ -859,7 +857,7 @@ func TestIndexMerge4PlanCache(t *testing.T) {
tk.MustExec("prepare stmt from 'select /*+ use_index_merge(t1) */ * from t1 where c=? or (b=? and (a >= ? and a <= ?));';")
tk.MustQuery("execute stmt using @a, @a, @b, @a").Check(testkit.Rows("10 10 10"))
tk.MustQuery("execute stmt using @b, @b, @b, @b").Check(testkit.Rows("11 11 11"))
- tk.MustQuery("select @@last_plan_from_cache;").Check(testkit.Rows("1"))
+ tk.MustQuery("select @@last_plan_from_cache;").Check(testkit.Rows("0"))
tk.MustExec("prepare stmt from 'select /*+ use_index_merge(t1) */ * from t1 where c=10 or (a >=? and a <= ?);';")
tk.MustExec("set @a=9, @b=10, @c=11;")
@@ -1395,3 +1393,74 @@ func TestIssue28792(t *testing.T) {
r2 := tk.MustQuery("EXPLAIN SELECT t12.a, t12.b FROM t12 LEFT JOIN t97 use index () on t12.b = t97.b;").Rows()
require.Equal(t, r2, r1)
}
+
+func TestExplainForJSON(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk1 := testkit.NewTestKit(t, store)
+ tk2 := testkit.NewTestKit(t, store)
+
+ tk1.MustExec("use test")
+ tk1.MustExec("set @@tidb_enable_collect_execution_info=0;")
+ tk1.MustExec("drop table if exists t1")
+ tk1.MustExec("create table t1(id int);")
+ tk1.MustQuery("select * from t1;")
+ tk1RootProcess := tk1.Session().ShowProcess()
+ ps := []*util.ProcessInfo{tk1RootProcess}
+ tk1.Session().SetSessionManager(&testkit.MockSessionManager{PS: ps})
+ tk2.Session().SetSessionManager(&testkit.MockSessionManager{PS: ps})
+ resRow := tk2.MustQuery(fmt.Sprintf("explain format = 'row' for connection %d", tk1RootProcess.ID)).Rows()
+ resJSON := tk2.MustQuery(fmt.Sprintf("explain format = 'tidb_json' for connection %d", tk1RootProcess.ID)).Rows()
+
+ j := new([]*core.ExplainInfoForEncode)
+ require.NoError(t, json.Unmarshal([]byte(resJSON[0][0].(string)), j))
+ flatJSONRows := make([]*core.ExplainInfoForEncode, 0)
+ for _, row := range *j {
+ flatJSONRows = append(flatJSONRows, flatJSONPlan(row)...)
+ }
+ require.Equal(t, len(flatJSONRows), len(resRow))
+
+ for i, row := range resRow {
+ require.Contains(t, row[0], flatJSONRows[i].ID)
+ require.Equal(t, flatJSONRows[i].EstRows, row[1])
+ require.Equal(t, flatJSONRows[i].TaskType, row[2])
+ require.Equal(t, flatJSONRows[i].AccessObject, row[3])
+ require.Equal(t, flatJSONRows[i].OperatorInfo, row[4])
+ }
+
+ tk1.MustExec("set @@tidb_enable_collect_execution_info=1;")
+ tk1.MustExec("drop table if exists t2")
+ tk1.MustExec("create table t2(id int);")
+ tk1.MustQuery("select * from t2;")
+ tk1RootProcess = tk1.Session().ShowProcess()
+ ps = []*util.ProcessInfo{tk1RootProcess}
+ tk1.Session().SetSessionManager(&testkit.MockSessionManager{PS: ps})
+ tk2.Session().SetSessionManager(&testkit.MockSessionManager{PS: ps})
+ resRow = tk2.MustQuery(fmt.Sprintf("explain format = 'row' for connection %d", tk1RootProcess.ID)).Rows()
+ resJSON = tk2.MustQuery(fmt.Sprintf("explain format = 'tidb_json' for connection %d", tk1RootProcess.ID)).Rows()
+
+ j = new([]*core.ExplainInfoForEncode)
+ require.NoError(t, json.Unmarshal([]byte(resJSON[0][0].(string)), j))
+ flatJSONRows = []*core.ExplainInfoForEncode{}
+ for _, row := range *j {
+ flatJSONRows = append(flatJSONRows, flatJSONPlan(row)...)
+ }
+ require.Equal(t, len(flatJSONRows), len(resRow))
+
+ for i, row := range resRow {
+ require.Contains(t, row[0], flatJSONRows[i].ID)
+ require.Equal(t, flatJSONRows[i].EstRows, row[1])
+ require.Equal(t, flatJSONRows[i].ActRows, row[2])
+ require.Equal(t, flatJSONRows[i].TaskType, row[3])
+ require.Equal(t, flatJSONRows[i].AccessObject, row[4])
+ require.Equal(t, flatJSONRows[i].OperatorInfo, row[6])
+ // executeInfo, memory, disk maybe vary in multi execution
+ require.NotEqual(t, flatJSONRows[i].ExecuteInfo, "")
+ require.NotEqual(t, flatJSONRows[i].MemoryInfo, "")
+ require.NotEqual(t, flatJSONRows[i].DiskInfo, "")
+ }
+ // test syntax
+ tk2.MustExec(fmt.Sprintf("explain format = 'tidb_json' for connection %d", tk1RootProcess.ID))
+ tk2.MustExec(fmt.Sprintf("explain format = tidb_json for connection %d", tk1RootProcess.ID))
+ tk2.MustExec(fmt.Sprintf("explain format = 'TIDB_JSON' for connection %d", tk1RootProcess.ID))
+ tk2.MustExec(fmt.Sprintf("explain format = TIDB_JSON for connection %d", tk1RootProcess.ID))
+}
diff --git a/executor/fktest/BUILD.bazel b/executor/fktest/BUILD.bazel
index dbdae1843edaf..2c9f00dfa0624 100644
--- a/executor/fktest/BUILD.bazel
+++ b/executor/fktest/BUILD.bazel
@@ -8,12 +8,16 @@ go_test(
"main_test.go",
],
flaky = True,
+ shard_count = 20,
deps = [
"//config",
"//executor",
+ "//infoschema",
"//kv",
"//meta/autoid",
+ "//parser",
"//parser/ast",
+ "//parser/auth",
"//parser/format",
"//parser/model",
"//parser/mysql",
diff --git a/executor/fktest/foreign_key_test.go b/executor/fktest/foreign_key_test.go
index c704494ffb7f5..1dc92d6954a2e 100644
--- a/executor/fktest/foreign_key_test.go
+++ b/executor/fktest/foreign_key_test.go
@@ -21,12 +21,17 @@ import (
"strconv"
"strings"
"sync"
+ "sync/atomic"
"testing"
"time"
+ "github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/executor"
+ "github.com/pingcap/tidb/infoschema"
"github.com/pingcap/tidb/kv"
+ "github.com/pingcap/tidb/parser"
"github.com/pingcap/tidb/parser/ast"
+ "github.com/pingcap/tidb/parser/auth"
"github.com/pingcap/tidb/parser/format"
"github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/parser/mysql"
@@ -545,7 +550,7 @@ func TestForeignKeyOnInsertOnDuplicateParentTableCheck(t *testing.T) {
tk.MustQuery("select id, a, b, name from t2 order by id").Check(testkit.Rows("1 11 21 a"))
tk.MustExec("insert into t1 (id, a, b) values (1, 11, 21) on duplicate key update id=11")
- tk.MustGetDBError("insert into t1 (id, a, b) values (1, 11, 21) on duplicate key update a=a+10, b=b+20", plannercore.ErrRowIsReferenced2)
+ tk.MustGetDBError("insert into t1 (id, a, b) values (11, 11, 21) on duplicate key update a=a+10, b=b+20", plannercore.ErrRowIsReferenced2)
tk.MustQuery("select id, a, b from t1 order by id").Check(testkit.Rows("2 1112 2222", "3 1013 2023", "4 14 24", "11 11 21"))
tk.MustQuery("select id, a, b, name from t2 order by id").Check(testkit.Rows("1 11 21 a"))
}
@@ -567,6 +572,15 @@ func TestForeignKeyOnInsertOnDuplicateParentTableCheck(t *testing.T) {
tk.MustGetDBError("insert into t1 (id, a, b) values (1, 0, 0) on duplicate key update id=100+id", plannercore.ErrRowIsReferenced2)
tk.MustQuery("select id, a, b from t1 order by id").Check(testkit.Rows("1 111 21", "4 14 24", "102 12 22", "103 13 23"))
tk.MustQuery("select id, a, b, name from t2 order by id").Check(testkit.Rows("11 1 21 a"))
+
+ // Case-10: Test insert into parent table failed cause by foreign key check, see https://github.com/pingcap/tidb/issues/39200.
+ tk.MustExec("drop table if exists t1,t2;")
+ tk.MustExec("create table t1 (id int key);")
+ tk.MustExec("create table t2 (id int, foreign key fk(id) references t1(id));")
+ tk.MustExec("set @@foreign_key_checks=0")
+ tk.MustExec("insert into t2 values (1)")
+ tk.MustExec("set @@foreign_key_checks=1")
+ tk.MustExec("insert into t1 values (1) on duplicate key update id=2")
}
func TestForeignKey(t *testing.T) {
@@ -1957,6 +1971,7 @@ func TestShowCreateTableWithForeignKey(t *testing.T) {
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
+ tk.MustExec("set @@global.tidb_enable_foreign_key=0")
tk.MustExec("create table t1 (id int key, leader int, leader2 int, index(leader), index(leader2), constraint fk foreign key (leader) references t1(id) ON DELETE CASCADE ON UPDATE SET NULL);")
tk.MustQuery("show create table t1").Check(testkit.Rows("t1 CREATE TABLE `t1` (\n" +
" `id` int(11) NOT NULL,\n" +
@@ -1964,7 +1979,7 @@ func TestShowCreateTableWithForeignKey(t *testing.T) {
" `leader2` int(11) DEFAULT NULL,\n" +
" PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n" +
" KEY `leader` (`leader`),\n KEY `leader2` (`leader2`),\n" +
- " CONSTRAINT `fk` FOREIGN KEY (`leader`) REFERENCES `test`.`t1` (`id`) ON DELETE CASCADE ON UPDATE SET NULL /*T![FOREIGN KEY] INVALID */\n" +
+ " CONSTRAINT `fk` FOREIGN KEY (`leader`) REFERENCES `test`.`t1` (`id`) ON DELETE CASCADE ON UPDATE SET NULL /* FOREIGN KEY INVALID */\n" +
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
tk.MustExec("set @@global.tidb_enable_foreign_key=1")
tk.MustExec("alter table t1 add constraint fk2 foreign key (leader2) references t1 (id)")
@@ -1974,9 +1989,11 @@ func TestShowCreateTableWithForeignKey(t *testing.T) {
" `leader2` int(11) DEFAULT NULL,\n" +
" PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n" +
" KEY `leader` (`leader`),\n KEY `leader2` (`leader2`),\n" +
- " CONSTRAINT `fk` FOREIGN KEY (`leader`) REFERENCES `test`.`t1` (`id`) ON DELETE CASCADE ON UPDATE SET NULL /*T![FOREIGN KEY] INVALID */,\n" +
+ " CONSTRAINT `fk` FOREIGN KEY (`leader`) REFERENCES `test`.`t1` (`id`) ON DELETE CASCADE ON UPDATE SET NULL /* FOREIGN KEY INVALID */,\n" +
" CONSTRAINT `fk2` FOREIGN KEY (`leader2`) REFERENCES `test`.`t1` (`id`)\n" +
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
+ tk.MustExec("drop table t1")
+ tk.MustExec("create table t1 (id int key, leader int, leader2 int, index(leader), index(leader2), constraint fk foreign key (leader) references t1(id) /* FOREIGN KEY INVALID */);")
}
func TestDMLExplainAnalyzeFKInfo(t *testing.T) {
@@ -1995,18 +2012,19 @@ func TestDMLExplainAnalyzeFKInfo(t *testing.T) {
tk.MustExec("insert into t1 values (1), (2)")
tk.MustExec("insert into t2 values (1)")
res := tk.MustQuery("explain analyze insert ignore into t3 values (1, 1, 1), (2, 1, 1), (3, 2, 1), (4, 1, 1), (5, 2, 1), (6, 2, 1)")
- getExplainResultFn := func(res *testkit.Result) string {
- resBuff := bytes.NewBufferString("")
- for _, row := range res.Rows() {
- _, _ = fmt.Fprintf(resBuff, "%s\t", row)
- }
- return resBuff.String()
- }
- explain := getExplainResultFn(res)
- require.Regexpf(t, "time:.* loops:.* prepare:.* check_insert: {total_time:.* mem_insert_time:.* prefetch:.* fk_check:.* fk_num: 3.*", explain, "")
+ explain := getExplainResult(res)
+ require.Regexpf(t, "time:.* loops:.* prepare:.* check_insert: {total_time:.* mem_insert_time:.* prefetch:.* fk_check:.*", explain, "")
res = tk.MustQuery("explain analyze insert ignore into t3 values (7, null, null), (8, null, null)")
- explain = getExplainResultFn(res)
- require.NotContains(t, explain, "fk_check", explain, "")
+ explain = getExplainResult(res)
+ require.Regexpf(t, "time:.* loops:.* prepare:.* check_insert: {total_time:.* mem_insert_time:.* prefetch:.* fk_check:.*", explain, "")
+}
+
+func getExplainResult(res *testkit.Result) string {
+ resBuff := bytes.NewBufferString("")
+ for _, row := range res.Rows() {
+ _, _ = fmt.Fprintf(resBuff, "%s\t", row)
+ }
+ return resBuff.String()
}
func TestForeignKeyCascadeOnDiffColumnType(t *testing.T) {
@@ -2070,3 +2088,648 @@ func TestForeignKeyOnInsertOnDuplicateUpdate(t *testing.T) {
tk.MustQuery("select * from t2").Check(testkit.Rows("1"))
tk.MustQuery("select * from t3").Check(testkit.Rows("1"))
}
+
+func TestForeignKeyIssue39419(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("set @@foreign_key_checks=1")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key);")
+ tk.MustExec("create table t2 (id int key, a int, b int, " +
+ "foreign key fk_1 (a) references t1(id) ON DELETE SET NULL ON UPDATE SET NULL, " +
+ "foreign key fk_2 (b) references t1(id) ON DELETE CASCADE ON UPDATE CASCADE);")
+ tk.MustExec("insert into t1 values (1), (2), (3);")
+ tk.MustExec("insert into t2 values (1, 1, 1), (2, 2, 2), (3, 3, 3);")
+ tk.MustExec("update t1 set id=id+10 where id in (1, 3);")
+ tk.MustQuery("select * from t1 order by id").Check(testkit.Rows("2", "11", "13"))
+ tk.MustQuery("select * from t2 order by id").Check(testkit.Rows("1 11", "2 2 2", "3 13"))
+ tk.MustExec("delete from t1 where id = 2;")
+ tk.MustQuery("select * from t1 order by id").Check(testkit.Rows("11", "13"))
+ tk.MustQuery("select * from t2 order by id").Check(testkit.Rows("1 11", "3 13"))
+
+ tk.MustExec("drop table t1,t2")
+ tk.MustExec("create table t1 (id int, b int, index(id), foreign key fk_2 (b) references t1(id) ON UPDATE CASCADE);")
+ tk.MustExec("insert into t1 values (1, 1), (2, 2), (3, 3);")
+ tk.MustExec("update t1 set id=id+10 where id > 1")
+ tk.MustQuery("select * from t1 order by id").Check(testkit.Rows("1 1", "12 12", "13 13"))
+}
+
+func TestExplainAnalyzeDMLWithFKInfo(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("set @@foreign_key_checks=1")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key);")
+ tk.MustExec("create table t2 (id int key, foreign key fk(id) references t1(id) ON UPDATE CASCADE ON DELETE CASCADE);")
+ tk.MustExec("create table t3 (id int, unique index idx(id));")
+ tk.MustExec("create table t4 (id int, index idx_id(id),foreign key fk(id) references t3(id));")
+ tk.MustExec("create table t5 (id int key, id2 int, id3 int, unique index idx2(id2), index idx3(id3));")
+ tk.MustExec("create table t6 (id int, id2 int, id3 int, index idx_id(id), index idx_id2(id2), " +
+ "foreign key fk_1 (id) references t5(id) ON UPDATE CASCADE ON DELETE SET NULL, " +
+ "foreign key fk_2 (id2) references t5(id2) ON UPDATE CASCADE, " +
+ "foreign key fk_3 (id3) references t5(id3) ON DELETE CASCADE);")
+ tk.MustExec("create table t7(id int primary key, pid int, index(pid), foreign key(pid) references t7(id) on delete cascade);")
+
+ cases := []struct {
+ prepare []string
+ sql string
+ plan string
+ }{
+ // Test foreign key use primary key.
+ {
+ prepare: []string{
+ "insert into t1 values (1),(2),(3),(4),(5)",
+ },
+ sql: "explain analyze insert into t2 values (1),(2),(3);",
+ plan: "Insert_. N/A 0 root time:.*, loops:1, prepare:.*, insert:.*" +
+ "└─Foreign_Key_Check_. 0.00 0 root table:t1 total:.*, check:.*, lock:.*, foreign_keys:3 foreign_key:fk, check_exist N/A N/A",
+ },
+ {
+ sql: "explain analyze insert ignore into t2 values (10),(11),(12);",
+ plan: "Insert_.* fk_check.*" +
+ "└─Foreign_Key_Check_.* 0 root table:t1 total:0s, foreign_keys:3 foreign_key:fk, check_exist N/A N/A",
+ },
+ {
+ sql: "explain analyze update t2 set id=id+2 where id >1",
+ plan: "Update_.* 0 root time:.*, loops:1.*" +
+ "├─TableReader_.*" +
+ "│ └─TableRangeScan.*" +
+ "└─Foreign_Key_Check_.* 0 root table:t1 total:.*, check:.*, lock:.*, foreign_keys:2 foreign_key:fk, check_exist N/A N/A",
+ },
+ {
+ sql: "explain analyze delete from t1 where id>1",
+ plan: "Delete_.*" +
+ "├─TableReader_.*" +
+ "│ └─TableRangeScan_.*" +
+ "└─Foreign_Key_Cascade_.* 0 root table:t2 total:.*, foreign_keys:4 foreign_key:fk, on_delete:CASCADE N/A N/A.*" +
+ " └─Delete_.*" +
+ " └─Batch_Point_Get_.*",
+ },
+ {
+ sql: "explain analyze update t1 set id=id+1 where id = 1",
+ plan: "Update_.*" +
+ "├─Point_Get_.*" +
+ "└─Foreign_Key_Cascade_.* 0 root table:t2 total:.*, foreign_keys:1 foreign_key:fk, on_update:CASCADE N/A N/A.*" +
+ " └─Update_.*" +
+ " ├─Point_Get_.*" +
+ " └─Foreign_Key_Check_.*",
+ },
+ {
+ sql: "explain analyze insert into t1 values (1) on duplicate key update id = 100",
+ plan: "Insert_.*" +
+ "└─Foreign_Key_Cascade_.* 0 root table:t2 total:0s foreign_key:fk, on_update:CASCADE N/A N/A",
+ },
+ {
+ sql: "explain analyze insert into t1 values (2) on duplicate key update id = 100",
+ plan: "Insert_.*" +
+ "└─Foreign_Key_Cascade_.* 0 root table:t2 total:.*, foreign_keys:1 foreign_key:fk, on_update:CASCADE N/A N/A.*" +
+ " └─Update_.*" +
+ " ├─Point_Get_.*" +
+ " └─Foreign_Key_Check_.* 0 root table:t1 total:.*, check:.*, lock:.*, foreign_keys:1 foreign_key:fk, check_exist N/A N/A",
+ },
+ // Test foreign key use index.
+ {
+ prepare: []string{
+ "insert into t3 values (1),(2),(3),(4),(5)",
+ },
+ sql: "explain analyze insert into t4 values (1),(2),(3);",
+ plan: "Insert_.*" +
+ "└─Foreign_Key_Check_.* 0 root table:t3, index:idx total:.*, check:.*, lock:.*, foreign_keys:3 foreign_key:fk, check_exist N/A N/A",
+ },
+ {
+ sql: "explain analyze update t4 set id=id+2 where id >1",
+ plan: "Update_.*" +
+ "├─IndexReader_.*" +
+ "│ └─IndexRangeScan_.*" +
+ "└─Foreign_Key_Check_.* 0 root table:t3, index:idx total:.*, check:.*, lock:.*, foreign_keys:2 foreign_key:fk, check_exist N/A N/A",
+ },
+ {
+ sql: "explain analyze delete from t3 where id in (2,3)",
+ plan: "Delete_.*" +
+ "├─Batch_Point_Get_.*" +
+ "└─Foreign_Key_Check_.* 0 root table:t4, index:idx_id total:.*, check:.*, foreign_keys:2 foreign_key:fk, check_not_exist N/A N/A",
+ },
+ {
+ prepare: []string{
+ "insert into t3 values (2)",
+ },
+ sql: "explain analyze update t3 set id=id+1 where id = 2",
+ plan: "Update_.*" +
+ "├─Point_Get_.*" +
+ "└─Foreign_Key_Check_.* 0 root table:t4, index:idx_id total:.*, check:.*, foreign_keys:1 foreign_key:fk, check_not_exist N/A N/A",
+ },
+
+ {
+ sql: "explain analyze insert into t3 values (2) on duplicate key update id = 100",
+ plan: "Insert_.*" +
+ "└─Foreign_Key_Check_.* 0 root table:t4, index:idx_id total:0s foreign_key:fk, check_not_exist N/A N/A",
+ },
+ {
+ sql: "explain analyze insert into t3 values (3) on duplicate key update id = 100",
+ plan: "Insert_.*" +
+ "└─Foreign_Key_Check_.* 0 root table:t4, index:idx_id total:.*, check:.*, foreign_keys:1 foreign_key:fk, check_not_exist N/A N/A",
+ },
+ // Test multi-foreign keys in on table.
+ {
+ prepare: []string{
+ "insert into t5 values (1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5)",
+ },
+ sql: "explain analyze insert into t6 values (1,1,1)",
+ plan: "Insert_.*" +
+ "├─Foreign_Key_Check_.* 0 root table:t5 total:.*, check:.*, lock:.*, foreign_keys:1 foreign_key:fk_1, check_exist N/A N/A.*" +
+ "├─Foreign_Key_Check_.* 0 root table:t5, index:idx2 total:.*, check:.*, lock:.*, foreign_keys:1 foreign_key:fk_2, check_exist N/A N/A.*" +
+ "└─Foreign_Key_Check_.* 0 root table:t5, index:idx3 total:.*, check:.*, lock:.*, foreign_keys:1 foreign_key:fk_3, check_exist N/A N/A",
+ },
+ {
+ sql: "explain analyze insert ignore into t6 values (1,1,10)",
+ plan: "Insert_.* root time:.* loops:.* prepare:.* check_insert.* fk_check:.*" +
+ "├─Foreign_Key_Check.* 0 root table:t5 total:0s, foreign_keys:1 foreign_key:fk_1, check_exist N/A N/A.*" +
+ "├─Foreign_Key_Check.* 0 root table:t5, index:idx2 total:0s, foreign_keys:1 foreign_key:fk_2, check_exist N/A N/A.*" +
+ "└─Foreign_Key_Check.* 0 root table:t5, index:idx3 total:0s, foreign_keys:1 foreign_key:fk_3, check_exist N/A N/A",
+ },
+ {
+ sql: "explain analyze update t6 set id=id+1, id3=id2+1 where id = 1",
+ plan: "Update_.*" +
+ "├─IndexLookUp_.*" +
+ "│ ├─IndexRangeScan_.*" +
+ "│ └─TableRowIDScan_.*" +
+ "├─Foreign_Key_Check_.* 0 root table:t5 total:.*, check:.*, lock:.*, foreign_keys:1 foreign_key:fk_1, check_exist N/A N/A.*" +
+ "└─Foreign_Key_Check_.* 0 root table:t5, index:idx3 total:.*, check:.*, lock:.*, foreign_keys:1 foreign_key:fk_3, check_exist N/A N/A",
+ },
+ {
+ sql: "explain analyze delete from t5 where id in (4,5)",
+ plan: "Delete_.*" +
+ "├─Batch_Point_Get_.*" +
+ "├─Foreign_Key_Check_.* 0 root table:t6, index:idx_id2 total:.*, check:.*, foreign_keys:2 foreign_key:fk_2, check_not_exist N/A N/A.*" +
+ "├─Foreign_Key_Cascade_.* 0 root table:t6, index:idx_id total:.*, foreign_keys:2 foreign_key:fk_1, on_delete:SET NULL N/A N/A.*" +
+ "│ └─Update_.*" +
+ "│ │ ├─IndexRangeScan_.*" +
+ "│ │ └─TableRowIDScan_.*" +
+ "│ └─Foreign_Key_Check_.* 0 root table:t5 total:0s foreign_key:fk_1, check_exist N/A N/A.*" +
+ "└─Foreign_Key_Cascade_.* 0 root table:t6, index:fk_3 total:.*, foreign_keys:2 foreign_key:fk_3, on_delete:CASCADE N/A N/A.*" +
+ " └─Delete_.*" +
+ " └─IndexLookUp_.*" +
+ " ├─IndexRangeScan_.*" +
+ " └─TableRowIDScan_.*",
+ },
+ {
+ sql: "explain analyze update t5 set id=id+1, id2=id2+1 where id = 3",
+ plan: "Update_.*" +
+ "├─Point_Get_.*" +
+ "├─Foreign_Key_Cascade_.* 0 root table:t6, index:idx_id total:.*, foreign_keys:1 foreign_key:fk_1, on_update:CASCADE N/A N/A.*" +
+ "│ └─Update_.*" +
+ "│ ├─IndexLookUp_.*" +
+ "│ │ ├─IndexRangeScan_.*" +
+ "│ │ └─TableRowIDScan_.*" +
+ "│ └─Foreign_Key_Check_.* 0 root table:t5 total:0s foreign_key:fk_1, check_exist N/A N/A.*" +
+ "└─Foreign_Key_Cascade_.* 0 root table:t6, index:idx_id2 total:.*, foreign_keys:1 foreign_key:fk_2, on_update:CASCADE N/A N/A.*" +
+ " └─Update_.*" +
+ " ├─IndexLookUp_.*" +
+ " │ ├─IndexRangeScan_.*" +
+ " │ └─TableRowIDScan_.*" +
+ " └─Foreign_Key_Check_.* 0 root table:t5, index:idx2 total:0s foreign_key:fk_2, check_exist N/A N/A",
+ },
+ {
+ prepare: []string{
+ "insert into t5 values (10,10,10)",
+ },
+ sql: "explain analyze update t5 set id=id+1, id2=id2+1, id3=id3+1 where id = 10",
+ plan: "Update_.*" +
+ "├─Point_Get_.*" +
+ "├─Foreign_Key_Check_.* 0 root table:t6, index:fk_3 total:.*, check:.*, foreign_keys:1 foreign_key:.*, check_not_exist N/A N/A.*" +
+ "├─Foreign_Key_Cascade_.* 0 root table:t6, index:idx_id total:.*, foreign_keys:1 foreign_key:fk_1, on_update:CASCADE N/A N/A.*" +
+ "│ └─Update_.*" +
+ "│ ├─IndexLookUp_.*" +
+ "│ │ ├─IndexRangeScan_.*" +
+ "│ │ └─TableRowIDScan_.*" +
+ "│ └─Foreign_Key_Check_.*" +
+ "└─Foreign_Key_Cascade_.* 0 root table:t6, index:idx_id2 total:.*, foreign_keys:1 foreign_key:fk_2, on_update:CASCADE N/A N/A.*" +
+ " └─Update_.*" +
+ " ├─IndexLookUp_.*" +
+ " │ ├─IndexRangeScan_.*" +
+ " │ └─TableRowIDScan_.*" +
+ " └─Foreign_Key_Check_.* 0 root table:t5, index:idx2 total:0s foreign_key:fk_2, check_exist N/A N/A",
+ },
+ {
+ sql: "explain analyze insert into t5 values (1,1,1) on duplicate key update id = 100, id3=100",
+ plan: "Insert_.*" +
+ "├─Foreign_Key_Check_.* 0 root table:t6, index:fk_3 total:.*, check:.*, foreign_keys:1 foreign_key:fk_3, check_not_exist N/A N/A.*" +
+ "└─Foreign_Key_Cascade_.* 0 root table:t6, index:idx_id total:.*, foreign_keys:1 foreign_key:fk_1, on_update:CASCADE N/A N/A.*" +
+ " └─Update_.*" +
+ " ├─IndexLookUp_.*" +
+ " │ ├─IndexRangeScan_.*" +
+ " │ └─TableRowIDScan_.*" +
+ " └─Foreign_Key_Check_.* 0 root table:t5 total:0s foreign_key:fk_1, check_exist N/A N/A",
+ },
+ {
+ prepare: []string{
+ "insert into t7 values(0,0),(1,0),(2,1),(3,2),(4,3),(5,4),(6,5),(7,6),(8,7),(9,8),(10,9),(11,10),(12,11),(13,12),(14,13);",
+ },
+ sql: "explain analyze delete from t7 where id = 0;",
+ plan: "Delete_.*" +
+ "├─Point_Get_.*" +
+ "└─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:.* foreign_keys:1 foreign_key:fk_1, on_delete:CASCADE.*" +
+ " └─Delete_.*" +
+ " ├─UnionScan_.*" +
+ " │ └─IndexReader_.*" +
+ " │ └─IndexRangeScan_.*" +
+ " └─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:.* foreign_keys:2 foreign_key:fk_1, on_delete:CASCADE.*" +
+ " └─Delete_.*" +
+ " ├─UnionScan_.*" +
+ " │ └─IndexReader_.*" +
+ " │ └─IndexRangeScan_.*" +
+ " └─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:.*, foreign_keys:1 foreign_key:fk_1, on_delete:CASCADE.*" +
+ " └─Delete_.*" +
+ " ├─UnionScan_.*" +
+ " │ └─IndexReader_.*" +
+ " │ └─IndexRangeScan_.*" +
+ " └─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:.*, foreign_keys:1 foreign_key:fk_1, on_delete:CASCADE.*" +
+ " └─Delete_.*" +
+ " ├─UnionScan_.*" +
+ " │ └─IndexReader_.*" +
+ " │ └─IndexRangeScan_.*" +
+ " └─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:.*, foreign_keys:1 foreign_key:fk_1, on_delete:CASCADE.*" +
+ " └─Delete_.*" +
+ " ├─UnionScan_.*" +
+ " │ └─IndexReader_.*" +
+ " │ └─IndexRangeScan_.*" +
+ " └─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:.*, foreign_keys:1 foreign_key:fk_1, on_delete:CASCADE.*" +
+ " └─Delete_.*" +
+ " ├─UnionScan_.*" +
+ " │ └─IndexReader_.*" +
+ " │ └─IndexRangeScan_.*" +
+ " └─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:.*, foreign_keys:1 foreign_key:fk_1, on_delete:CASCADE.*" +
+ " └─Delete_.*" +
+ " ├─UnionScan_.*" +
+ " │ └─IndexReader_.*" +
+ " │ └─IndexRangeScan_.*" +
+ " └─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:.*, foreign_keys:1 foreign_key:fk_1, on_delete:CASCADE.*" +
+ " └─Delete_.*" +
+ " ├─UnionScan_.*" +
+ " │ └─IndexReader_.*" +
+ " │ └─IndexRangeScan_.*" +
+ " └─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:.*, foreign_keys:1 foreign_key:fk_1, on_delete:CASCADE.*" +
+ " └─Delete_.*" +
+ " ├─UnionScan_.*" +
+ " │ └─IndexReader_.*" +
+ " │ └─IndexRangeScan_.*" +
+ " └─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:.*, foreign_keys:1 foreign_key:fk_1, on_delete:CASCADE.*" +
+ " └─Delete_.*" +
+ " ├─UnionScan_.*" +
+ " │ └─IndexReader_.*" +
+ " │ └─IndexRangeScan_.*" +
+ " └─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:.*, foreign_keys:1 foreign_key:fk_1, on_delete:CASCADE.*" +
+ " └─Delete_.*" +
+ " ├─UnionScan_.*" +
+ " │ └─IndexReader_.*" +
+ " │ └─IndexRangeScan_.*" +
+ " └─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:.*, foreign_keys:1 foreign_key:fk_1, on_delete:CASCADE.*" +
+ " └─Delete_.*" +
+ " ├─UnionScan_.*" +
+ " │ └─IndexReader_.*" +
+ " │ └─IndexRangeScan_.*" +
+ " └─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:.*, foreign_keys:1 foreign_key:fk_1, on_delete:CASCADE.*" +
+ " └─Delete_.*" +
+ " ├─UnionScan_.*" +
+ " │ └─IndexReader_.*" +
+ " │ └─IndexRangeScan_.*" +
+ " └─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:.*, foreign_keys:1 foreign_key:fk_1, on_delete:CASCADE.*" +
+ " └─Delete_.*" +
+ " ├─UnionScan_.*" +
+ " │ └─IndexReader_.*" +
+ " │ └─IndexRangeScan_.*" +
+ " └─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:.*, foreign_keys:1 foreign_key:fk_1, on_delete:CASCADE.*" +
+ " └─Delete_.*" +
+ " ├─UnionScan_.*" +
+ " │ └─IndexReader_.*" +
+ " │ └─IndexRangeScan_.*" +
+ " └─Foreign_Key_Cascade_.* 0 root table:t7, index:pid total:0s foreign_key:fk_1, on_delete:CASCADE.*",
+ },
+ }
+ for _, ca := range cases {
+ for _, sql := range ca.prepare {
+ tk.MustExec(sql)
+ }
+ res := tk.MustQuery(ca.sql)
+ explain := getExplainResult(res)
+ require.Regexp(t, ca.plan, explain)
+ }
+}
+
+func TestForeignKeyRuntimeStats(t *testing.T) {
+ checkStats := executor.FKCheckRuntimeStats{
+ Total: time.Second * 3,
+ Check: time.Second * 2,
+ Lock: time.Second,
+ Keys: 10,
+ }
+ require.Equal(t, "total:3s, check:2s, lock:1s, foreign_keys:10", checkStats.String())
+ checkStats.Merge(checkStats.Clone())
+ require.Equal(t, "total:6s, check:4s, lock:2s, foreign_keys:20", checkStats.String())
+ cascadeStats := executor.FKCascadeRuntimeStats{
+ Total: time.Second,
+ Keys: 10,
+ }
+ require.Equal(t, "total:1s, foreign_keys:10", cascadeStats.String())
+ cascadeStats.Merge(cascadeStats.Clone())
+ require.Equal(t, "total:2s, foreign_keys:20", cascadeStats.String())
+}
+
+func TestPrivilegeCheckInForeignKeyCascade(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("set @@foreign_key_checks=1")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key);")
+ tk.MustExec("create table t2 (id int key, foreign key fk (id) references t1(id) ON DELETE CASCADE ON UPDATE CASCADE);")
+ tk.MustExec("insert into t1 values (1), (2), (3);")
+ cases := []struct {
+ prepares []string
+ sql string
+ err error
+ t1Rows []string
+ t2Rows []string
+ }{
+ {
+ prepares: []string{"grant insert on test.t2 to 'u1'@'%';"},
+ sql: "insert into t2 values (1), (2), (3);",
+ t1Rows: []string{"1", "2", "3"},
+ t2Rows: []string{"1", "2", "3"},
+ },
+ {
+ prepares: []string{"grant select, delete on test.t1 to 'u1'@'%';"},
+ sql: "delete from t1 where id=1;",
+ t1Rows: []string{"2", "3"},
+ t2Rows: []string{"2", "3"},
+ },
+ {
+ prepares: []string{"grant select, update on test.t1 to 'u1'@'%';"},
+ sql: "update t1 set id=id+10 where id=2;",
+ t1Rows: []string{"3", "12"},
+ t2Rows: []string{"3", "12"},
+ },
+ }
+ tk2 := testkit.NewTestKit(t, store)
+ tk2.MustExec("use test")
+ tk2.MustExec("set @@foreign_key_checks=1")
+ for _, ca := range cases {
+ tk.MustExec("drop user if exists 'u1'@'%'")
+ tk.MustExec("create user 'u1'@'%' identified by '';")
+ for _, sql := range ca.prepares {
+ tk.MustExec(sql)
+ }
+ err := tk2.Session().Auth(&auth.UserIdentity{Username: "u1", Hostname: "localhost", CurrentUser: true, AuthUsername: "u1", AuthHostname: "%"}, nil, []byte("012345678901234567890"))
+ require.NoError(t, err)
+ if ca.err == nil {
+ tk2.MustExec(ca.sql)
+ } else {
+ err = tk2.ExecToErr(ca.sql)
+ require.Error(t, err)
+ }
+ tk.MustQuery("select * from t1 order by id").Check(testkit.Rows(ca.t1Rows...))
+ tk.MustQuery("select * from t2 order by id").Check(testkit.Rows(ca.t2Rows...))
+ }
+}
+
+func TestTableLockInForeignKeyCascade(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("set @@foreign_key_checks=1")
+ tk.MustExec("use test")
+ tk2 := testkit.NewTestKit(t, store)
+ tk2.MustExec("use test")
+ tk2.MustExec("set @@foreign_key_checks=1")
+ // enable table lock
+ config.UpdateGlobal(func(conf *config.Config) {
+ conf.EnableTableLock = true
+ })
+ defer func() {
+ config.UpdateGlobal(func(conf *config.Config) {
+ conf.EnableTableLock = false
+ })
+ }()
+ tk.MustExec("create table t1 (id int key);")
+ tk.MustExec("create table t2 (id int key, foreign key fk (id) references t1(id) ON DELETE CASCADE ON UPDATE CASCADE);")
+ tk.MustExec("insert into t1 values (1), (2), (3);")
+ tk.MustExec("insert into t2 values (1), (2), (3);")
+ tk.MustExec("lock table t2 read;")
+ tk2.MustGetDBError("delete from t1 where id = 1", infoschema.ErrTableLocked)
+ tk.MustExec("unlock tables;")
+ tk2.MustExec("delete from t1 where id = 1")
+ tk.MustQuery("select * from t1 order by id").Check(testkit.Rows("2", "3"))
+ tk.MustQuery("select * from t2 order by id").Check(testkit.Rows("2", "3"))
+}
+
+func TestForeignKeyIssue39732(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_stmt_summary=1")
+ tk.MustExec("set @@foreign_key_checks=1")
+ tk.MustExec("use test")
+ tk.MustExec("create user 'u1'@'%' identified by '';")
+ tk.MustExec("GRANT ALL PRIVILEGES ON *.* TO 'u1'@'%'")
+ err := tk.Session().Auth(&auth.UserIdentity{Username: "u1", Hostname: "localhost", CurrentUser: true, AuthUsername: "u1", AuthHostname: "%"}, nil, []byte("012345678901234567890"))
+ require.NoError(t, err)
+ tk.MustExec("create table t1 (id int key, leader int, index(leader), foreign key (leader) references t1(id) ON DELETE CASCADE);")
+ tk.MustExec("insert into t1 values (1, null), (10, 1), (11, 1), (20, 10)")
+ tk.MustExec(`prepare stmt1 from 'delete from t1 where id = ?';`)
+ tk.MustExec(`set @a = 1;`)
+ tk.MustExec("execute stmt1 using @a;")
+ tk.MustQuery("select * from t1 order by id").Check(testkit.Rows())
+}
+
+func TestForeignKeyOnReplaceIntoChildTable(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.tidb_enable_foreign_key=1")
+ tk.MustExec("set @@foreign_key_checks=1")
+ tk.MustExec("use test")
+ tk.MustExec("create table t_data (id int, a int, b int)")
+ tk.MustExec("insert into t_data (id, a, b) values (1, 1, 1), (2, 2, 2);")
+ for _, ca := range foreignKeyTestCase1 {
+ tk.MustExec("drop table if exists t2;")
+ tk.MustExec("drop table if exists t1;")
+ for _, sql := range ca.prepareSQLs {
+ tk.MustExec(sql)
+ }
+ tk.MustExec("replace into t1 (id, a, b) values (1, 1, 1);")
+ tk.MustExec("replace into t2 (id, a, b) values (1, 1, 1)")
+ tk.MustGetDBError("replace into t1 (id, a, b) values (1, 2, 3);", plannercore.ErrRowIsReferenced2)
+ if !ca.notNull {
+ tk.MustExec("replace into t2 (id, a, b) values (2, null, 1)")
+ tk.MustExec("replace into t2 (id, a, b) values (3, 1, null)")
+ tk.MustExec("replace into t2 (id, a, b) values (4, null, null)")
+ }
+ tk.MustGetDBError("replace into t2 (id, a, b) values (5, 1, 0);", plannercore.ErrNoReferencedRow2)
+ tk.MustGetDBError("replace into t2 (id, a, b) values (6, 0, 1);", plannercore.ErrNoReferencedRow2)
+ tk.MustGetDBError("replace into t2 (id, a, b) values (7, 2, 2);", plannercore.ErrNoReferencedRow2)
+ // Test replace into from select.
+ tk.MustExec("delete from t2")
+ tk.MustExec("replace into t2 (id, a, b) select id, a, b from t_data where t_data.id=1")
+ tk.MustGetDBError("replace into t2 (id, a, b) select id, a, b from t_data where t_data.id=2", plannercore.ErrNoReferencedRow2)
+
+ // Test in txn
+ tk.MustExec("delete from t2")
+ tk.MustExec("begin")
+ tk.MustExec("delete from t1 where a=1")
+ tk.MustGetDBError("replace into t2 (id, a, b) values (1, 1, 1)", plannercore.ErrNoReferencedRow2)
+ tk.MustExec("replace into t1 (id, a, b) values (2, 2, 2)")
+ tk.MustExec("replace into t2 (id, a, b) values (2, 2, 2)")
+ tk.MustGetDBError("replace into t1 (id, a, b) values (2, 2, 3);", plannercore.ErrRowIsReferenced2)
+ tk.MustExec("rollback")
+ tk.MustQuery("select id, a, b from t1 order by id").Check(testkit.Rows("1 1 1"))
+ tk.MustQuery("select id, a, b from t2 order by id").Check(testkit.Rows())
+ }
+
+ // Case-10: test primary key is handle and contain foreign key column, and foreign key column has default value.
+ tk.MustExec("drop table if exists t2;")
+ tk.MustExec("drop table if exists t1;")
+ tk.MustExec("set @@tidb_enable_clustered_index=0;")
+ tk.MustExec("create table t1 (id int,a int, primary key(id));")
+ tk.MustExec("create table t2 (id int key,a int not null default 0, index (a), foreign key fk(a) references t1(id));")
+ tk.MustExec("replace into t1 values (1, 1);")
+ tk.MustExec("replace into t2 values (1, 1);")
+ tk.MustGetDBError("replace into t2 (id) values (10);", plannercore.ErrNoReferencedRow2)
+ tk.MustGetDBError("replace into t2 values (3, 2);", plannercore.ErrNoReferencedRow2)
+
+ // Case-11: test primary key is handle and contain foreign key column, and foreign key column doesn't have default value.
+ tk.MustExec("drop table if exists t2;")
+ tk.MustExec("create table t2 (id int key,a int, index (a), foreign key fk(a) references t1(id));")
+ tk.MustExec("replace into t2 values (1, 1);")
+ tk.MustExec("replace into t2 (id) values (10);")
+ tk.MustGetDBError("replace into t2 values (3, 2);", plannercore.ErrNoReferencedRow2)
+}
+
+func TestForeignKeyOnReplaceInto(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@foreign_key_checks=1")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key, a int, index (a));")
+ tk.MustExec("create table t2 (id int key, a int, index (a), constraint fk_1 foreign key (a) references t1(a));")
+ tk.MustExec("replace into t1 values (1, 1);")
+ tk.MustExec("replace into t2 values (1, 1);")
+ tk.MustExec("replace into t2 (id) values (2);")
+ tk.MustGetDBError("replace into t2 values (1, 2);", plannercore.ErrNoReferencedRow2)
+ // Test fk check on replace into parent table.
+ tk.MustGetDBError("replace into t1 values (1, 2);", plannercore.ErrRowIsReferenced2)
+ // Test fk cascade delete on replace into parent table.
+ tk.MustExec("alter table t2 drop foreign key fk_1")
+ tk.MustExec("alter table t2 add constraint fk_1 foreign key (a) references t1(a) on delete cascade")
+ tk.MustExec("replace into t1 values (1, 2);")
+ tk.MustQuery("select id, a from t1").Check(testkit.Rows("1 2"))
+ tk.MustQuery("select * from t2").Check(testkit.Rows("2 "))
+ // Test fk cascade delete on replace into parent table.
+ tk.MustExec("alter table t2 drop foreign key fk_1")
+ tk.MustExec("alter table t2 add constraint fk_1 foreign key (a) references t1(a) on delete set null")
+ tk.MustExec("delete from t2")
+ tk.MustExec("delete from t1")
+ tk.MustExec("replace into t1 values (1, 1);")
+ tk.MustExec("replace into t2 values (1, 1);")
+ tk.MustExec("replace into t1 values (1, 2);")
+ tk.MustQuery("select id, a from t1").Check(testkit.Rows("1 2"))
+ tk.MustQuery("select id, a from t2").Check(testkit.Rows("1 "))
+
+ // Test cascade delete in self table by replace into statement.
+ tk.MustExec("drop table t1,t2")
+ tk.MustExec("create table t1 (id int key, name varchar(10), leader int, index(leader), foreign key (leader) references t1(id) ON DELETE CASCADE);")
+ tk.MustExec("replace into t1 values (1, 'boss', null), (10, 'l1_a', 1), (11, 'l1_b', 1), (12, 'l1_c', 1)")
+ tk.MustExec("replace into t1 values (100, 'l2_a1', 10), (101, 'l2_a2', 10), (102, 'l2_a3', 10)")
+ tk.MustExec("replace into t1 values (110, 'l2_b1', 11), (111, 'l2_b2', 11), (112, 'l2_b3', 11)")
+ tk.MustExec("replace into t1 values (120, 'l2_c1', 12), (121, 'l2_c2', 12), (122, 'l2_c3', 12)")
+ tk.MustExec("replace into t1 values (1000,'l3_a1', 100)")
+ tk.MustExec("replace into t1 values (1, 'new-boss', null)")
+ tk.MustQuery("select id from t1 order by id").Check(testkit.Rows("1"))
+}
+
+func TestForeignKeyLargeTxnErr(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@foreign_key_checks=1")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int auto_increment key, pid int, name varchar(200), index(pid));")
+ tk.MustExec("insert into t1 (name) values ('abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890');")
+ for i := 0; i < 8; i++ {
+ tk.MustExec("insert into t1 (name) select name from t1;")
+ }
+ tk.MustQuery("select count(*) from t1").Check(testkit.Rows("256"))
+ tk.MustExec("update t1 set pid=1 where id>1")
+ tk.MustExec("alter table t1 add foreign key (pid) references t1 (id) on update cascade")
+ originLimit := atomic.LoadUint64(&kv.TxnTotalSizeLimit)
+ defer func() {
+ atomic.StoreUint64(&kv.TxnTotalSizeLimit, originLimit)
+ }()
+ // Set the limitation to a small value, make it easier to reach the limitation.
+ atomic.StoreUint64(&kv.TxnTotalSizeLimit, 10240)
+ tk.MustQuery("select sum(id) from t1").Check(testkit.Rows("32896"))
+ // foreign key cascade behaviour will cause ErrTxnTooLarge.
+ tk.MustGetDBError("update t1 set id=id+100000 where id=1", kv.ErrTxnTooLarge)
+ tk.MustQuery("select sum(id) from t1").Check(testkit.Rows("32896"))
+ tk.MustGetDBError("update t1 set id=id+100000 where id=1", kv.ErrTxnTooLarge)
+ tk.MustQuery("select id,pid from t1 where id<3 order by id").Check(testkit.Rows("1 ", "2 1"))
+ tk.MustExec("set @@foreign_key_checks=0")
+ tk.MustExec("update t1 set id=id+100000 where id=1")
+ tk.MustQuery("select id,pid from t1 where id<3 or pid is null order by id").Check(testkit.Rows("2 1", "100001 "))
+}
+
+func TestForeignKeyAndLockView(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int key)")
+ tk.MustExec("create table t2 (id int key, foreign key (id) references t1(id) ON DELETE CASCADE ON UPDATE CASCADE)")
+ tk.MustExec("insert into t1 values (1)")
+ tk.MustExec("insert into t2 values (1)")
+ tk.MustExec("begin pessimistic")
+ tk.MustExec("set @@foreign_key_checks=0")
+ tk.MustExec("update t2 set id=2")
+
+ tk2 := testkit.NewTestKit(t, store)
+ tk2.MustExec("set @@foreign_key_checks=1")
+ tk2.MustExec("use test")
+ var wg sync.WaitGroup
+ wg.Add(1)
+ go func() {
+ defer wg.Done()
+ tk2.MustExec("begin pessimistic")
+ tk2.MustExec("update t1 set id=2 where id=1")
+ tk2.MustExec("commit")
+ }()
+ time.Sleep(time.Millisecond * 200)
+ _, digest := parser.NormalizeDigest("update t1 set id=2 where id=1")
+ tk.MustQuery("select CURRENT_SQL_DIGEST from information_schema.tidb_trx where state='LockWaiting' and db='test'").Check(testkit.Rows(digest.String()))
+ tk.MustGetErrMsg("update t1 set id=2", "[executor:1213]Deadlock found when trying to get lock; try restarting transaction")
+ wg.Wait()
+}
+
+func TestForeignKeyAndMemoryTracker(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@foreign_key_checks=1")
+ tk.MustExec("use test")
+ tk.MustExec("create table t1 (id int auto_increment key, pid int, name varchar(200), index(pid));")
+ tk.MustExec("insert into t1 (name) values ('abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz');")
+ for i := 0; i < 8; i++ {
+ tk.MustExec("insert into t1 (name) select name from t1;")
+ }
+ tk.MustQuery("select count(*) from t1").Check(testkit.Rows("256"))
+ tk.MustExec("update t1 set pid=1 where id>1")
+ tk.MustExec("alter table t1 add foreign key (pid) references t1 (id) on update cascade")
+ tk.MustQuery("select sum(id) from t1").Check(testkit.Rows("32896"))
+ defer tk.MustExec("SET GLOBAL tidb_mem_oom_action = DEFAULT")
+ tk.MustExec("SET GLOBAL tidb_mem_oom_action='CANCEL'")
+ tk.MustExec("set @@tidb_mem_quota_query=40960;")
+ // foreign key cascade behaviour will exceed memory quota.
+ err := tk.ExecToErr("update t1 set id=id+100000 where id=1")
+ require.Error(t, err)
+ require.Contains(t, err.Error(), "Out Of Memory Quota!")
+ tk.MustQuery("select id,pid from t1 where id = 1").Check(testkit.Rows("1 "))
+ tk.MustExec("set @@foreign_key_checks=0")
+ // After disable foreign_key_checks, following DML will execute successful.
+ tk.MustExec("update t1 set id=id+100000 where id=1")
+ tk.MustQuery("select id,pid from t1 where id<3 or pid is null order by id").Check(testkit.Rows("2 1", "100001 "))
+}
diff --git a/executor/foreign_key.go b/executor/foreign_key.go
index 62dbb400537e2..9908a72fd4b04 100644
--- a/executor/foreign_key.go
+++ b/executor/foreign_key.go
@@ -15,8 +15,11 @@
package executor
import (
+ "bytes"
"context"
+ "strconv"
"sync/atomic"
+ "time"
"github.com/pingcap/errors"
"github.com/pingcap/tidb/kv"
@@ -31,6 +34,7 @@ import (
"github.com/pingcap/tidb/types"
driver "github.com/pingcap/tidb/types/parser_driver"
"github.com/pingcap/tidb/util/codec"
+ "github.com/pingcap/tidb/util/execdetails"
"github.com/pingcap/tidb/util/set"
"github.com/tikv/client-go/v2/txnkv/txnsnapshot"
)
@@ -60,12 +64,16 @@ type FKCheckExec struct {
// FKCheckRuntimeStats contains the FKCheckExec runtime stats.
type FKCheckRuntimeStats struct {
- Keys int
+ Total time.Duration
+ Check time.Duration
+ Lock time.Duration
+ Keys int
}
// FKCascadeExec uses to execute foreign key cascade behaviour.
type FKCascadeExec struct {
*fkValueHelper
+ plan *plannercore.FKCascade
b *executorBuilder
tp plannercore.FKCascadeType
referredFK *model.ReferredFKInfo
@@ -78,6 +86,8 @@ type FKCascadeExec struct {
fkValues [][]types.Datum
// new-value-key => UpdatedValuesCouple
fkUpdatedValuesMap map[string]*UpdatedValuesCouple
+
+ stats *FKCascadeRuntimeStats
}
// UpdatedValuesCouple contains the updated new row the old rows, exporting for test.
@@ -86,6 +96,12 @@ type UpdatedValuesCouple struct {
OldValuesList [][]types.Datum
}
+// FKCascadeRuntimeStats contains the FKCascadeExec runtime stats.
+type FKCascadeRuntimeStats struct {
+ Total time.Duration
+ Keys int
+}
+
func buildTblID2FKCheckExecs(sctx sessionctx.Context, tblID2Table map[int64]table.Table, tblID2FKChecks map[int64][]*plannercore.FKCheck) (map[int64][]*FKCheckExec, error) {
fkChecksMap := make(map[int64][]*FKCheckExec)
for tid, tbl := range tblID2Table {
@@ -137,6 +153,10 @@ func buildFKCheckExec(sctx sessionctx.Context, tbl table.Table, fkCheck *planner
}
func (fkc *FKCheckExec) insertRowNeedToCheck(sc *stmtctx.StatementContext, row []types.Datum) error {
+ if fkc.ReferredFK != nil {
+ // Insert into parent table doesn't need to do foreign key check.
+ return nil
+ }
return fkc.addRowNeedToCheck(sc, row)
}
@@ -171,6 +191,20 @@ func (fkc *FKCheckExec) addRowNeedToCheck(sc *stmtctx.StatementContext, row []ty
}
func (fkc *FKCheckExec) doCheck(ctx context.Context) error {
+ if fkc.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl != nil {
+ fkc.stats = &FKCheckRuntimeStats{}
+ defer fkc.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(fkc.ID(), fkc.stats)
+ }
+ if len(fkc.toBeCheckedKeys) == 0 && len(fkc.toBeCheckedPrefixKeys) == 0 {
+ return nil
+ }
+ start := time.Now()
+ if fkc.stats != nil {
+ defer func() {
+ fkc.stats.Keys = len(fkc.toBeCheckedKeys) + len(fkc.toBeCheckedPrefixKeys)
+ fkc.stats.Total = time.Since(start)
+ }()
+ }
txn, err := fkc.ctx.Txn(false)
if err != nil {
return err
@@ -183,6 +217,9 @@ func (fkc *FKCheckExec) doCheck(ctx context.Context) error {
if err != nil {
return err
}
+ if fkc.stats != nil {
+ fkc.stats.Check = time.Since(start)
+ }
if len(fkc.toBeLockedKeys) == 0 {
return nil
}
@@ -198,6 +235,9 @@ func (fkc *FKCheckExec) doCheck(ctx context.Context) error {
// doLockKeys may set TxnCtx.ForUpdate to 1, then if the lock meet write conflict, TiDB can't retry for update.
// So reset TxnCtx.ForUpdate to 0 then can be retry if meet write conflict.
atomic.StoreUint32(&sessVars.TxnCtx.ForUpdate, forUpdate)
+ if fkc.stats != nil {
+ fkc.stats.Lock = time.Since(start) - fkc.stats.Check
+ }
return err
}
@@ -473,6 +513,10 @@ type fkCheckKey struct {
}
func (fkc FKCheckExec) checkRows(ctx context.Context, sc *stmtctx.StatementContext, txn kv.Transaction, rows []toBeCheckedRow) error {
+ if fkc.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl != nil {
+ fkc.stats = &FKCheckRuntimeStats{}
+ defer fkc.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(fkc.ID(), fkc.stats)
+ }
if len(rows) == 0 {
return nil
}
@@ -585,6 +629,7 @@ func (b *executorBuilder) buildFKCascadeExec(tbl table.Table, fkCascade *planner
return &FKCascadeExec{
b: b,
fkValueHelper: helper,
+ plan: fkCascade,
tp: fkCascade.Tp,
referredFK: fkCascade.ReferredFK,
childTable: fkCascade.ChildTable.Meta(),
@@ -637,6 +682,7 @@ func (fkc *FKCascadeExec) buildExecutor(ctx context.Context) (Executor, error) {
if err != nil || p == nil {
return nil, err
}
+ fkc.plan.CascadePlans = append(fkc.plan.CascadePlans, p)
e := fkc.b.build(p)
return e, fkc.b.err
}
@@ -668,6 +714,9 @@ func (fkc *FKCascadeExec) buildFKCascadePlan(ctx context.Context) (plannercore.P
case model.ReferOptionCascade:
couple := fkc.fetchUpdatedValuesCouple()
if couple != nil && len(couple.NewValues) != 0 {
+ if fkc.stats != nil {
+ fkc.stats.Keys += len(couple.OldValuesList)
+ }
stmtNode = GenCascadeUpdateAST(fkc.referredFK.ChildSchema, fkc.childTable.Name, indexName, fkc.fkCols, couple)
}
case model.ReferOptionSetNull:
@@ -683,7 +732,7 @@ func (fkc *FKCascadeExec) buildFKCascadePlan(ctx context.Context) (plannercore.P
if err != nil {
return nil, err
}
- finalPlan, _, err := planner.Optimize(ctx, sctx, stmtNode, fkc.b.is)
+ finalPlan, err := planner.OptimizeForForeignKeyCascade(ctx, sctx, stmtNode, fkc.b.is)
if err != nil {
return nil, err
}
@@ -699,6 +748,9 @@ func (fkc *FKCascadeExec) fetchOnDeleteOrUpdateFKValues() [][]types.Datum {
fkValues = fkc.fkValues[:maxHandleFKValueInOneCascade]
fkc.fkValues = fkc.fkValues[maxHandleFKValueInOneCascade:]
}
+ if fkc.stats != nil {
+ fkc.stats.Keys += len(fkValues)
+ }
return fkValues
}
@@ -811,3 +863,87 @@ func genWhereConditionAstForMultiColumn(cols []*model.ColumnInfo, fkValues [][]t
List: valueList,
}
}
+
+// String implements the RuntimeStats interface.
+func (s *FKCheckRuntimeStats) String() string {
+ buf := bytes.NewBuffer(make([]byte, 0, 32))
+ buf.WriteString("total:")
+ buf.WriteString(execdetails.FormatDuration(s.Total))
+ if s.Check > 0 {
+ buf.WriteString(", check:")
+ buf.WriteString(execdetails.FormatDuration(s.Check))
+ }
+ if s.Lock > 0 {
+ buf.WriteString(", lock:")
+ buf.WriteString(execdetails.FormatDuration(s.Lock))
+ }
+ if s.Keys > 0 {
+ buf.WriteString(", foreign_keys:")
+ buf.WriteString(strconv.Itoa(s.Keys))
+ }
+ return buf.String()
+}
+
+// Clone implements the RuntimeStats interface.
+func (s *FKCheckRuntimeStats) Clone() execdetails.RuntimeStats {
+ newRs := &FKCheckRuntimeStats{
+ Total: s.Total,
+ Check: s.Check,
+ Lock: s.Lock,
+ Keys: s.Keys,
+ }
+ return newRs
+}
+
+// Merge implements the RuntimeStats interface.
+func (s *FKCheckRuntimeStats) Merge(other execdetails.RuntimeStats) {
+ tmp, ok := other.(*FKCheckRuntimeStats)
+ if !ok {
+ return
+ }
+ s.Total += tmp.Total
+ s.Check += tmp.Check
+ s.Lock += tmp.Lock
+ s.Keys += tmp.Keys
+}
+
+// Tp implements the RuntimeStats interface.
+func (s *FKCheckRuntimeStats) Tp() int {
+ return execdetails.TpFKCheckRuntimeStats
+}
+
+// String implements the RuntimeStats interface.
+func (s *FKCascadeRuntimeStats) String() string {
+ buf := bytes.NewBuffer(make([]byte, 0, 32))
+ buf.WriteString("total:")
+ buf.WriteString(execdetails.FormatDuration(s.Total))
+ if s.Keys > 0 {
+ buf.WriteString(", foreign_keys:")
+ buf.WriteString(strconv.Itoa(s.Keys))
+ }
+ return buf.String()
+}
+
+// Clone implements the RuntimeStats interface.
+func (s *FKCascadeRuntimeStats) Clone() execdetails.RuntimeStats {
+ newRs := &FKCascadeRuntimeStats{
+ Total: s.Total,
+ Keys: s.Keys,
+ }
+ return newRs
+}
+
+// Merge implements the RuntimeStats interface.
+func (s *FKCascadeRuntimeStats) Merge(other execdetails.RuntimeStats) {
+ tmp, ok := other.(*FKCascadeRuntimeStats)
+ if !ok {
+ return
+ }
+ s.Total += tmp.Total
+ s.Keys += tmp.Keys
+}
+
+// Tp implements the RuntimeStats interface.
+func (s *FKCascadeRuntimeStats) Tp() int {
+ return execdetails.TpFKCascadeRuntimeStats
+}
diff --git a/executor/grant_test.go b/executor/grant_test.go
index 4c9cb867f792f..3a7720d620673 100644
--- a/executor/grant_test.go
+++ b/executor/grant_test.go
@@ -99,10 +99,10 @@ func TestGrantDBScope(t *testing.T) {
}
// Grant in wrong scope.
- _, err := tk.Exec(` grant create user on test.* to 'testDB1'@'localhost';`)
+ err := tk.ExecToErr(` grant create user on test.* to 'testDB1'@'localhost';`)
require.True(t, terror.ErrorEqual(err, executor.ErrWrongUsage.GenWithStackByArgs("DB GRANT", "GLOBAL PRIVILEGES")))
- _, err = tk.Exec("GRANT SUPER ON test.* TO 'testDB1'@'localhost';")
+ err = tk.ExecToErr("GRANT SUPER ON test.* TO 'testDB1'@'localhost';")
require.True(t, terror.ErrorEqual(err, executor.ErrWrongUsage.GenWithStackByArgs("DB GRANT", "NON-DB PRIVILEGES")))
}
@@ -168,8 +168,8 @@ func TestGrantTableScope(t *testing.T) {
require.Greater(t, strings.Index(p, mysql.Priv2SetStr[v]), -1)
}
- _, err := tk.Exec("GRANT SUPER ON test2 TO 'testTbl1'@'localhost';")
- require.EqualError(t, err, "[executor:1144]Illegal GRANT/REVOKE command; please consult the manual to see which privileges can be used")
+ tk.MustGetErrMsg("GRANT SUPER ON test2 TO 'testTbl1'@'localhost';",
+ "[executor:1144]Illegal GRANT/REVOKE command; please consult the manual to see which privileges can be used")
}
func TestGrantColumnScope(t *testing.T) {
@@ -213,8 +213,8 @@ func TestGrantColumnScope(t *testing.T) {
require.Greater(t, strings.Index(p, mysql.Priv2SetStr[v]), -1)
}
- _, err := tk.Exec("GRANT SUPER(c2) ON test3 TO 'testCol1'@'localhost';")
- require.EqualError(t, err, "[executor:1221]Incorrect usage of COLUMN GRANT and NON-COLUMN PRIVILEGES")
+ tk.MustGetErrMsg("GRANT SUPER(c2) ON test3 TO 'testCol1'@'localhost';",
+ "[executor:1221]Incorrect usage of COLUMN GRANT and NON-COLUMN PRIVILEGES")
}
func TestIssue2456(t *testing.T) {
@@ -394,7 +394,7 @@ func TestMaintainRequire(t *testing.T) {
// test show create user
tk.MustExec(`CREATE USER 'u3'@'%' require issuer '/CN=TiDB admin/OU=TiDB/O=PingCAP/L=San Francisco/ST=California/C=US' subject '/CN=tester1/OU=TiDB/O=PingCAP.Inc/L=Haidian/ST=Beijing/C=ZH' cipher 'AES128-GCM-SHA256'`)
- tk.MustQuery("show create user 'u3'").Check(testkit.Rows("CREATE USER 'u3'@'%' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE CIPHER 'AES128-GCM-SHA256' ISSUER '/CN=TiDB admin/OU=TiDB/O=PingCAP/L=San Francisco/ST=California/C=US' SUBJECT '/CN=tester1/OU=TiDB/O=PingCAP.Inc/L=Haidian/ST=Beijing/C=ZH' PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK"))
+ tk.MustQuery("show create user 'u3'").Check(testkit.Rows("CREATE USER 'u3'@'%' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE CIPHER 'AES128-GCM-SHA256' ISSUER '/CN=TiDB admin/OU=TiDB/O=PingCAP/L=San Francisco/ST=California/C=US' SUBJECT '/CN=tester1/OU=TiDB/O=PingCAP.Inc/L=Haidian/ST=Beijing/C=ZH' PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT"))
// check issuer/subject/cipher value
err := tk.ExecToErr(`CREATE USER 'u4'@'%' require issuer 'CN=TiDB,OU=PingCAP'`)
diff --git a/executor/hash_table.go b/executor/hash_table.go
index d2b294f52d9ad..2ba840d04fdc9 100644
--- a/executor/hash_table.go
+++ b/executor/hash_table.go
@@ -92,6 +92,10 @@ func (s *hashStatistic) String() string {
return fmt.Sprintf("probe_collision:%v, build:%v", s.probeCollision, execdetails.FormatDuration(s.buildTableElapse))
}
+type hashNANullBucket struct {
+ entries []*naEntry
+}
+
// hashRowContainer handles the rows and the hash map of a table.
// NOTE: a hashRowContainer may be shallow copied by the invoker, define all the
// member attributes as pointer type to avoid unexpected problems.
@@ -104,7 +108,7 @@ type hashRowContainer struct {
hashTable baseHashTable
// hashNANullBucket stores the rows with any null value in NAAJ join key columns.
// After build process, NANUllBucket is read only here for multi probe worker.
- hashNANullBucket []*naEntry
+ hashNANullBucket *hashNANullBucket
rowContainer *chunk.RowContainer
memTracker *memory.Tracker
@@ -113,7 +117,7 @@ type hashRowContainer struct {
chkBuf *chunk.Chunk
}
-func newHashRowContainer(sCtx sessionctx.Context, estCount int, hCtx *hashContext, allTypes []*types.FieldType) *hashRowContainer {
+func newHashRowContainer(sCtx sessionctx.Context, hCtx *hashContext, allTypes []*types.FieldType) *hashRowContainer {
maxChunkSize := sCtx.GetSessionVars().MaxChunkSize
rc := chunk.NewRowContainer(allTypes, maxChunkSize)
c := &hashRowContainer{
@@ -124,6 +128,9 @@ func newHashRowContainer(sCtx sessionctx.Context, estCount int, hCtx *hashContex
rowContainer: rc,
memTracker: memory.NewTracker(memory.LabelForRowContainer, -1),
}
+ if isNAAJ := len(hCtx.naKeyColIdx) > 0; isNAAJ {
+ c.hashNANullBucket = &hashNANullBucket{}
+ }
rc.GetMemTracker().AttachTo(c.GetMemTracker())
return c
}
@@ -248,7 +255,7 @@ func (c *hashRowContainer) GetNullBucketRows(probeHCtx *hashContext, probeSideRo
mayMatchedRow chunk.Row
)
matched = matched[:0]
- for _, nullEntry := range c.hashNANullBucket {
+ for _, nullEntry := range c.hashNANullBucket.entries {
mayMatchedRow, c.chkBuf, err = c.rowContainer.GetRowAndAppendToChunk(nullEntry.ptr, c.chkBuf)
if err != nil {
return nil, err
@@ -394,7 +401,7 @@ func (c *hashRowContainer) PutChunkSelected(chk *chunk.Chunk, selected, ignoreNu
// collect the null rows to slice.
rowPtr := chunk.RowPtr{ChkIdx: chkIdx, RowIdx: uint32(i)}
// do not directly ref the null bits map here, because the bit map will be reset and reused in next batch of chunk data.
- c.hashNANullBucket = append(c.hashNANullBucket, &naEntry{rowPtr, c.hCtx.naColNullBitMap[i].Clone()})
+ c.hashNANullBucket.entries = append(c.hashNANullBucket.entries, &naEntry{rowPtr, c.hCtx.naColNullBitMap[i].Clone()})
} else {
// insert the not-null rows to hash table.
key := c.hCtx.hashVals[i].Sum64()
diff --git a/executor/hash_table_test.go b/executor/hash_table_test.go
index 3b4a4acee5284..0a387e0e7e5b6 100644
--- a/executor/hash_table_test.go
+++ b/executor/hash_table_test.go
@@ -127,7 +127,7 @@ func testHashRowContainer(t *testing.T, hashFunc func() hash.Hash64, spill bool)
for i := 0; i < numRows; i++ {
hCtx.hashVals = append(hCtx.hashVals, hashFunc())
}
- rowContainer := newHashRowContainer(sctx, 0, hCtx, colTypes)
+ rowContainer := newHashRowContainer(sctx, hCtx, colTypes)
copiedRC = rowContainer.ShallowCopy()
tracker := rowContainer.GetMemTracker()
tracker.SetLabel(memory.LabelForBuildSideResult)
diff --git a/executor/historical_stats_test.go b/executor/historical_stats_test.go
new file mode 100644
index 0000000000000..6ae23dcebb365
--- /dev/null
+++ b/executor/historical_stats_test.go
@@ -0,0 +1,245 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package executor_test
+
+import (
+ "encoding/json"
+ "fmt"
+ "strconv"
+ "testing"
+ "time"
+
+ "github.com/pingcap/tidb/parser/model"
+ "github.com/pingcap/tidb/sessionctx/variable"
+ "github.com/pingcap/tidb/statistics/handle"
+ "github.com/pingcap/tidb/testkit"
+ "github.com/stretchr/testify/require"
+)
+
+func TestRecordHistoryStatsAfterAnalyze(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@tidb_analyze_version = 2")
+ tk.MustExec("set global tidb_enable_historical_stats = 0")
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(a int, b varchar(10))")
+
+ h := dom.StatsHandle()
+ is := dom.InfoSchema()
+ tableInfo, err := is.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
+ require.NoError(t, err)
+
+ // 1. switch off the tidb_enable_historical_stats, and there is no records in table `mysql.stats_history`
+ rows := tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_history where table_id = '%d'", tableInfo.Meta().ID)).Rows()
+ num, _ := strconv.Atoi(rows[0][0].(string))
+ require.Equal(t, num, 0)
+
+ tk.MustExec("analyze table t with 2 topn")
+ rows = tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_history where table_id = '%d'", tableInfo.Meta().ID)).Rows()
+ num, _ = strconv.Atoi(rows[0][0].(string))
+ require.Equal(t, num, 0)
+
+ // 2. switch on the tidb_enable_historical_stats and do analyze
+ tk.MustExec("set global tidb_enable_historical_stats = 1")
+ defer tk.MustExec("set global tidb_enable_historical_stats = 0")
+ tk.MustExec("analyze table t with 2 topn")
+ // dump historical stats
+ hsWorker := dom.GetHistoricalStatsWorker()
+ tblID := hsWorker.GetOneHistoricalStatsTable()
+ err = hsWorker.DumpHistoricalStats(tblID, h)
+ require.Nil(t, err)
+ rows = tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_history where table_id = '%d'", tableInfo.Meta().ID)).Rows()
+ num, _ = strconv.Atoi(rows[0][0].(string))
+ require.GreaterOrEqual(t, num, 1)
+
+ // 3. dump current stats json
+ dumpJSONTable, err := h.DumpStatsToJSON("test", tableInfo.Meta(), nil, true)
+ require.NoError(t, err)
+ jsOrigin, _ := json.Marshal(dumpJSONTable)
+
+ // 4. get the historical stats json
+ rows = tk.MustQuery(fmt.Sprintf("select * from mysql.stats_history where table_id = '%d' and create_time = ("+
+ "select create_time from mysql.stats_history where table_id = '%d' order by create_time desc limit 1) "+
+ "order by seq_no", tableInfo.Meta().ID, tableInfo.Meta().ID)).Rows()
+ num = len(rows)
+ require.GreaterOrEqual(t, num, 1)
+ data := make([][]byte, num)
+ for i, row := range rows {
+ data[i] = []byte(row[1].(string))
+ }
+ jsonTbl, err := handle.BlocksToJSONTable(data)
+ require.NoError(t, err)
+ jsCur, err := json.Marshal(jsonTbl)
+ require.NoError(t, err)
+ // 5. historical stats must be equal to the current stats
+ require.JSONEq(t, string(jsOrigin), string(jsCur))
+}
+
+func TestRecordHistoryStatsMetaAfterAnalyze(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@tidb_analyze_version = 2")
+ tk.MustExec("set global tidb_enable_historical_stats = 0")
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(a int, b int)")
+ tk.MustExec("analyze table test.t")
+
+ h := dom.StatsHandle()
+ is := dom.InfoSchema()
+ tableInfo, err := is.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
+ require.NoError(t, err)
+
+ // 1. switch off the tidb_enable_historical_stats, and there is no record in table `mysql.stats_meta_history`
+ tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_meta_history where table_id = '%d'", tableInfo.Meta().ID)).Check(testkit.Rows("0"))
+ // insert demo tuples, and there is no record either.
+ insertNums := 5
+ for i := 0; i < insertNums; i++ {
+ tk.MustExec("insert into test.t (a,b) values (1,1), (2,2), (3,3)")
+ err := h.DumpStatsDeltaToKV(handle.DumpDelta)
+ require.NoError(t, err)
+ }
+ tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_meta_history where table_id = '%d'", tableInfo.Meta().ID)).Check(testkit.Rows("0"))
+
+ // 2. switch on the tidb_enable_historical_stats and insert tuples to produce count/modifyCount delta change.
+ tk.MustExec("set global tidb_enable_historical_stats = 1")
+ defer tk.MustExec("set global tidb_enable_historical_stats = 0")
+
+ for i := 0; i < insertNums; i++ {
+ tk.MustExec("insert into test.t (a,b) values (1,1), (2,2), (3,3)")
+ err := h.DumpStatsDeltaToKV(handle.DumpDelta)
+ require.NoError(t, err)
+ }
+ tk.MustQuery(fmt.Sprintf("select modify_count, count from mysql.stats_meta_history where table_id = '%d' order by create_time", tableInfo.Meta().ID)).Sort().Check(
+ testkit.Rows("18 18", "21 21", "24 24", "27 27", "30 30"))
+ tk.MustQuery(fmt.Sprintf("select distinct source from mysql.stats_meta_history where table_id = '%d'", tableInfo.Meta().ID)).Sort().Check(testkit.Rows("flush stats"))
+
+ // assert delete
+ tk.MustExec("delete from test.t where test.t.a = 1")
+ err = h.DumpStatsDeltaToKV(handle.DumpAll)
+ require.NoError(t, err)
+ tk.MustQuery(fmt.Sprintf("select modify_count, count from mysql.stats_meta where table_id = '%d' order by create_time desc", tableInfo.Meta().ID)).Sort().Check(
+ testkit.Rows("40 20"))
+ tk.MustQuery(fmt.Sprintf("select modify_count, count from mysql.stats_meta_history where table_id = '%d' order by create_time desc limit 1", tableInfo.Meta().ID)).Sort().Check(
+ testkit.Rows("40 20"))
+
+ // assert update
+ tk.MustExec("update test.t set test.t.b = 4 where test.t.a = 2")
+ err = h.DumpStatsDeltaToKV(handle.DumpAll)
+ require.NoError(t, err)
+ tk.MustQuery(fmt.Sprintf("select modify_count, count from mysql.stats_meta where table_id = '%d' order by create_time desc", tableInfo.Meta().ID)).Sort().Check(
+ testkit.Rows("50 20"))
+ tk.MustQuery(fmt.Sprintf("select modify_count, count from mysql.stats_meta_history where table_id = '%d' order by create_time desc limit 1", tableInfo.Meta().ID)).Sort().Check(
+ testkit.Rows("50 20"))
+}
+
+func TestGCHistoryStatsAfterDropTable(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set global tidb_enable_historical_stats = 1")
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(a int, b varchar(10))")
+ tk.MustExec("analyze table test.t")
+ is := dom.InfoSchema()
+ tableInfo, err := is.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
+ require.NoError(t, err)
+ // dump historical stats
+ h := dom.StatsHandle()
+ hsWorker := dom.GetHistoricalStatsWorker()
+ tblID := hsWorker.GetOneHistoricalStatsTable()
+ err = hsWorker.DumpHistoricalStats(tblID, h)
+ require.Nil(t, err)
+
+ // assert the records of history stats table
+ tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_meta_history where table_id = '%d' order by create_time",
+ tableInfo.Meta().ID)).Check(testkit.Rows("1"))
+ tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_history where table_id = '%d'",
+ tableInfo.Meta().ID)).Check(testkit.Rows("1"))
+ // drop the table and gc stats
+ tk.MustExec("drop table t")
+ h.GCStats(is, 0)
+
+ // assert stats_history tables delete the record of dropped table
+ tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_meta_history where table_id = '%d' order by create_time",
+ tableInfo.Meta().ID)).Check(testkit.Rows("0"))
+ tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_history where table_id = '%d'",
+ tableInfo.Meta().ID)).Check(testkit.Rows("0"))
+}
+
+func TestGCOutdatedHistoryStats(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set global tidb_enable_historical_stats = 1")
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(a int, b varchar(10))")
+ tk.MustExec("analyze table test.t")
+ is := dom.InfoSchema()
+ tableInfo, err := is.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
+ require.NoError(t, err)
+ // dump historical stats
+ h := dom.StatsHandle()
+ hsWorker := dom.GetHistoricalStatsWorker()
+ tblID := hsWorker.GetOneHistoricalStatsTable()
+ err = hsWorker.DumpHistoricalStats(tblID, h)
+ require.Nil(t, err)
+
+ // assert the records of history stats table
+ tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_meta_history where table_id = '%d' order by create_time",
+ tableInfo.Meta().ID)).Check(testkit.Rows("1"))
+ tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_history where table_id = '%d'",
+ tableInfo.Meta().ID)).Check(testkit.Rows("1"))
+
+ variable.HistoricalStatsDuration.Store(1 * time.Second)
+ time.Sleep(2 * time.Second)
+ err = dom.StatsHandle().ClearOutdatedHistoryStats()
+ require.NoError(t, err)
+ // assert the records of history stats table
+ tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_meta_history where table_id = '%d' order by create_time",
+ tableInfo.Meta().ID)).Check(testkit.Rows("0"))
+ tk.MustQuery(fmt.Sprintf("select count(*) from mysql.stats_history where table_id = '%d'",
+ tableInfo.Meta().ID)).Check(testkit.Rows("0"))
+}
+
+func TestPartitionTableHistoricalStats(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set global tidb_enable_historical_stats = 1")
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec(`CREATE TABLE t (a int, b int, index idx(b))
+PARTITION BY RANGE ( a ) (
+PARTITION p0 VALUES LESS THAN (6)
+)`)
+ tk.MustExec("delete from mysql.stats_history")
+
+ tk.MustExec("analyze table test.t")
+ // dump historical stats
+ h := dom.StatsHandle()
+ hsWorker := dom.GetHistoricalStatsWorker()
+
+ // assert global table and partition table be dumped
+ tblID := hsWorker.GetOneHistoricalStatsTable()
+ err := hsWorker.DumpHistoricalStats(tblID, h)
+ require.NoError(t, err)
+ tblID = hsWorker.GetOneHistoricalStatsTable()
+ err = hsWorker.DumpHistoricalStats(tblID, h)
+ require.NoError(t, err)
+ tk.MustQuery("select count(*) from mysql.stats_history").Check(testkit.Rows("2"))
+}
diff --git a/executor/index_lookup_hash_join.go b/executor/index_lookup_hash_join.go
index c54b60749601d..58bd84ff6e4d6 100644
--- a/executor/index_lookup_hash_join.go
+++ b/executor/index_lookup_hash_join.go
@@ -134,7 +134,6 @@ func (e *IndexNestedLoopHashJoin) Open(ctx context.Context) error {
e.innerPtrBytes = make([][]byte, 0, 8)
if e.runtimeStats != nil {
e.stats = &indexLookUpJoinRuntimeStats{}
- e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
}
e.finished.Store(false)
return nil
@@ -288,6 +287,9 @@ func (e *IndexNestedLoopHashJoin) isDryUpTasks(ctx context.Context) bool {
// Close implements the IndexNestedLoopHashJoin Executor interface.
func (e *IndexNestedLoopHashJoin) Close() error {
+ if e.stats != nil {
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
+ }
if e.cancelFunc != nil {
e.cancelFunc()
}
diff --git a/executor/index_lookup_join.go b/executor/index_lookup_join.go
index 05cc337d3d7ee..187e83cc0f763 100644
--- a/executor/index_lookup_join.go
+++ b/executor/index_lookup_join.go
@@ -171,7 +171,6 @@ func (e *IndexLookUpJoin) Open(ctx context.Context) error {
e.finished.Store(false)
if e.runtimeStats != nil {
e.stats = &indexLookUpJoinRuntimeStats{}
- e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
}
e.cancelFunc = nil
return nil
@@ -765,6 +764,9 @@ func (iw *innerWorker) hasNullInJoinKey(row chunk.Row) bool {
// Close implements the Executor interface.
func (e *IndexLookUpJoin) Close() error {
+ if e.stats != nil {
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
+ }
if e.cancelFunc != nil {
e.cancelFunc()
}
diff --git a/executor/index_lookup_join_test.go b/executor/index_lookup_join_test.go
index 2f251761b71c2..600f052b1225e 100644
--- a/executor/index_lookup_join_test.go
+++ b/executor/index_lookup_join_test.go
@@ -401,6 +401,7 @@ func TestIssue27138(t *testing.T) {
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
+ tk.MustExec("set tidb_cost_model_version=1")
tk.MustExec("drop table if exists t1,t2")
tk.MustExec("set @old_tidb_partition_prune_mode=@@tidb_partition_prune_mode")
@@ -427,17 +428,19 @@ PARTITIONS 1`)
// Why does the t2.prefiller need be at least 2^32 ? If smaller the bug will not appear!?!
tk.MustExec("insert into t2 values ( pow(2,32), 1, 1), ( pow(2,32)+1, 2, 0)")
+ tk.MustExec(`analyze table t1`)
+ tk.MustExec(`analyze table t2`)
// Why must it be = 1 and not 2?
- tk.MustQuery("explain select /* +INL_JOIN(t1,t2) */ t1.id, t1.pc from t1 where id in ( select prefiller from t2 where t2.postfiller = 1 )").Check(testkit.Rows("" +
- "IndexJoin_15 10.00 root inner join, inner:TableReader_14, outer key:test.t2.prefiller, inner key:test.t1.id, equal cond:eq(test.t2.prefiller, test.t1.id)]\n" +
- "[├─HashAgg_25(Build) 8.00 root group by:test.t2.prefiller, funcs:firstrow(test.t2.prefiller)->test.t2.prefiller]\n" +
- "[│ └─TableReader_26 8.00 root data:HashAgg_20]\n" +
- "[│ └─HashAgg_20 8.00 cop[tikv] group by:test.t2.prefiller, ]\n" +
- "[│ └─Selection_24 10.00 cop[tikv] eq(test.t2.postfiller, 1)]\n" +
- "[│ └─TableFullScan_23 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo]\n" +
- "[└─TableReader_14(Probe) 8.00 root partition:all data:TableRangeScan_13]\n" +
- "[ └─TableRangeScan_13 8.00 cop[tikv] table:t1 range: decided by [eq(test.t1.id, test.t2.prefiller)], keep order:false, stats:pseudo"))
+ tk.MustQuery("explain format='brief' select /* +INL_JOIN(t1,t2) */ t1.id, t1.pc from t1 where id in ( select prefiller from t2 where t2.postfiller = 1 )").Check(testkit.Rows(""+
+ `IndexJoin 1.25 root inner join, inner:TableReader, outer key:test.t2.prefiller, inner key:test.t1.id, equal cond:eq(test.t2.prefiller, test.t1.id)`,
+ `├─HashAgg(Build) 1.00 root group by:test.t2.prefiller, funcs:firstrow(test.t2.prefiller)->test.t2.prefiller`,
+ `│ └─TableReader 1.00 root data:HashAgg`,
+ `│ └─HashAgg 1.00 cop[tikv] group by:test.t2.prefiller, `,
+ `│ └─Selection 1.00 cop[tikv] eq(test.t2.postfiller, 1)`,
+ `│ └─TableFullScan 2.00 cop[tikv] table:t2 keep order:false`,
+ `└─TableReader(Probe) 1.00 root partition:all data:TableRangeScan`,
+ ` └─TableRangeScan 1.00 cop[tikv] table:t1 range: decided by [eq(test.t1.id, test.t2.prefiller)], keep order:false, stats:pseudo`))
tk.MustQuery("show warnings").Check(testkit.Rows())
// without fix it fails with: "runtime error: index out of range [0] with length 0"
tk.MustQuery("select /* +INL_JOIN(t1,t2) */ t1.id, t1.pc from t1 where id in ( select prefiller from t2 where t2.postfiller = 1 )").Check(testkit.Rows())
diff --git a/executor/index_lookup_merge_join.go b/executor/index_lookup_merge_join.go
index 8bd379944c825..e0fb176fff589 100644
--- a/executor/index_lookup_merge_join.go
+++ b/executor/index_lookup_merge_join.go
@@ -715,6 +715,9 @@ func (imw *innerMergeWorker) fetchNextInnerResult(ctx context.Context, task *loo
// Close implements the Executor interface.
func (e *IndexLookUpMergeJoin) Close() error {
+ if e.runtimeStats != nil {
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.runtimeStats)
+ }
if e.cancelFunc != nil {
e.cancelFunc()
e.cancelFunc = nil
diff --git a/executor/index_merge_reader.go b/executor/index_merge_reader.go
index 0e7eb394710fd..8dc359fa37163 100644
--- a/executor/index_merge_reader.go
+++ b/executor/index_merge_reader.go
@@ -94,8 +94,8 @@ type IndexMergeReaderExecutor struct {
workerStarted bool
keyRanges [][]kv.KeyRange
- resultCh chan *lookupTableTask
- resultCurr *lookupTableTask
+ resultCh chan *indexMergeTableTask
+ resultCurr *indexMergeTableTask
feedbacks []*statistics.QueryFeedback
// memTracker is used to track the memory usage of this executor.
@@ -118,6 +118,16 @@ type IndexMergeReaderExecutor struct {
isCorColInPartialFilters []bool
isCorColInTableFilter bool
isCorColInPartialAccess []bool
+
+ // Whether it's intersection or union.
+ isIntersection bool
+}
+
+type indexMergeTableTask struct {
+ lookupTableTask
+
+ // parTblIdx are only used in indexMergeProcessWorker.fetchLoopIntersection.
+ parTblIdx int
}
// Table implements the dataSourceExecutor interface.
@@ -129,7 +139,12 @@ func (e *IndexMergeReaderExecutor) Table() table.Table {
func (e *IndexMergeReaderExecutor) Open(ctx context.Context) (err error) {
e.keyRanges = make([][]kv.KeyRange, 0, len(e.partialPlans))
e.initRuntimeStats()
-
+ if e.isCorColInTableFilter {
+ e.tableRequest.Executors, err = constructDistExec(e.ctx, e.tblPlans)
+ if err != nil {
+ return err
+ }
+ }
if err = e.rebuildRangeForCorCol(); err != nil {
return err
}
@@ -150,7 +165,7 @@ func (e *IndexMergeReaderExecutor) Open(ctx context.Context) (err error) {
}
}
e.finished = make(chan struct{})
- e.resultCh = make(chan *lookupTableTask, atomic.LoadInt32(&LookupTableTaskChannelSize))
+ e.resultCh = make(chan *indexMergeTableTask, atomic.LoadInt32(&LookupTableTaskChannelSize))
e.memTracker = memory.NewTracker(e.id, -1)
e.memTracker.AttachTo(e.ctx.GetSessionVars().StmtCtx.MemTracker)
return nil
@@ -194,7 +209,7 @@ func (e *IndexMergeReaderExecutor) buildKeyRangesForTable(tbl table.Table) (rang
if err != nil {
return nil, err
}
- keyRanges := append(firstKeyRanges, secondKeyRanges...)
+ keyRanges := append(firstKeyRanges.FirstPartitionRange(), secondKeyRanges.FirstPartitionRange()...)
ranges = append(ranges, keyRanges)
continue
}
@@ -202,15 +217,15 @@ func (e *IndexMergeReaderExecutor) buildKeyRangesForTable(tbl table.Table) (rang
if err != nil {
return nil, err
}
- ranges = append(ranges, keyRange)
+ ranges = append(ranges, keyRange.FirstPartitionRange())
}
return ranges, nil
}
func (e *IndexMergeReaderExecutor) startWorkers(ctx context.Context) error {
exitCh := make(chan struct{})
- workCh := make(chan *lookupTableTask, 1)
- fetchCh := make(chan *lookupTableTask, len(e.keyRanges))
+ workCh := make(chan *indexMergeTableTask, 1)
+ fetchCh := make(chan *indexMergeTableTask, len(e.keyRanges))
e.startIndexMergeProcessWorker(ctx, workCh, fetchCh)
@@ -237,12 +252,12 @@ func (e *IndexMergeReaderExecutor) startWorkers(ctx context.Context) error {
return nil
}
-func (e *IndexMergeReaderExecutor) waitPartialWorkersAndCloseFetchChan(fetchCh chan *lookupTableTask) {
+func (e *IndexMergeReaderExecutor) waitPartialWorkersAndCloseFetchChan(fetchCh chan *indexMergeTableTask) {
e.idxWorkerWg.Wait()
close(fetchCh)
}
-func (e *IndexMergeReaderExecutor) startIndexMergeProcessWorker(ctx context.Context, workCh chan<- *lookupTableTask, fetch <-chan *lookupTableTask) {
+func (e *IndexMergeReaderExecutor) startIndexMergeProcessWorker(ctx context.Context, workCh chan<- *indexMergeTableTask, fetch <-chan *indexMergeTableTask) {
idxMergeProcessWorker := &indexMergeProcessWorker{
indexMerge: e,
stats: e.stats,
@@ -252,15 +267,19 @@ func (e *IndexMergeReaderExecutor) startIndexMergeProcessWorker(ctx context.Cont
defer trace.StartRegion(ctx, "IndexMergeProcessWorker").End()
util.WithRecovery(
func() {
- idxMergeProcessWorker.fetchLoop(ctx, fetch, workCh, e.resultCh, e.finished)
+ if e.isIntersection {
+ idxMergeProcessWorker.fetchLoopIntersection(ctx, fetch, workCh, e.resultCh, e.finished)
+ } else {
+ idxMergeProcessWorker.fetchLoopUnion(ctx, fetch, workCh, e.resultCh, e.finished)
+ }
},
- idxMergeProcessWorker.handleLoopFetcherPanic(ctx, e.resultCh),
+ idxMergeProcessWorker.handleLoopFetcherPanic(ctx, e.resultCh, "IndexMergeProcessWorker", nil),
)
e.processWokerWg.Done()
}()
}
-func (e *IndexMergeReaderExecutor) startPartialIndexWorker(ctx context.Context, exitCh <-chan struct{}, fetchCh chan<- *lookupTableTask, workID int) error {
+func (e *IndexMergeReaderExecutor) startPartialIndexWorker(ctx context.Context, exitCh <-chan struct{}, fetchCh chan<- *indexMergeTableTask, workID int) error {
if e.runtimeStats != nil {
collExec := true
e.dagPBs[workID].CollectExecutionSummaries = &collExec
@@ -297,7 +316,7 @@ func (e *IndexMergeReaderExecutor) startPartialIndexWorker(ctx context.Context,
// We got correlated column, so need to refresh Selection operator.
var err error
if e.dagPBs[workID].Executors, err = constructDistExec(e.ctx, e.partialPlans[workID]); err != nil {
- worker.syncErr(e.resultCh, err)
+ syncErr(e.resultCh, err)
return
}
}
@@ -331,12 +350,12 @@ func (e *IndexMergeReaderExecutor) startPartialIndexWorker(ctx context.Context,
})
kvReq, err := builder.SetKeyRanges(keyRange).Build()
if err != nil {
- worker.syncErr(e.resultCh, err)
+ syncErr(e.resultCh, err)
return
}
result, err := distsql.SelectWithRuntimeStats(ctx, e.ctx, kvReq, e.handleCols.GetFieldsTypes(), e.feedbacks[workID], getPhysicalPlanIDs(e.partialPlans[workID]), e.getPartitalPlanID(workID))
if err != nil {
- worker.syncErr(e.resultCh, err)
+ syncErr(e.resultCh, err)
return
}
worker.batchSize = e.maxChunkSize
@@ -349,7 +368,7 @@ func (e *IndexMergeReaderExecutor) startPartialIndexWorker(ctx context.Context,
// fetch all data from this partition
ctx1, cancel := context.WithCancel(ctx)
- _, fetchErr := worker.fetchHandles(ctx1, result, exitCh, fetchCh, e.resultCh, e.finished, e.handleCols)
+ _, fetchErr := worker.fetchHandles(ctx1, result, exitCh, fetchCh, e.resultCh, e.finished, e.handleCols, parTblIdx)
if fetchErr != nil { // this error is synced in fetchHandles(), don't sync it again
e.feedbacks[workID].Invalidate()
}
@@ -370,7 +389,7 @@ func (e *IndexMergeReaderExecutor) startPartialIndexWorker(ctx context.Context,
return nil
}
-func (e *IndexMergeReaderExecutor) startPartialTableWorker(ctx context.Context, exitCh <-chan struct{}, fetchCh chan<- *lookupTableTask, workID int) error {
+func (e *IndexMergeReaderExecutor) startPartialTableWorker(ctx context.Context, exitCh <-chan struct{}, fetchCh chan<- *indexMergeTableTask, workID int) error {
ts := e.partialPlans[workID][0].(*plannercore.PhysicalTableScan)
tbls := make([]table.Table, 0, 1)
@@ -412,13 +431,13 @@ func (e *IndexMergeReaderExecutor) startPartialTableWorker(ctx context.Context,
if e.isCorColInPartialFilters[workID] {
if e.dagPBs[workID].Executors, err = constructDistExec(e.ctx, e.partialPlans[workID]); err != nil {
- worker.syncErr(e.resultCh, err)
+ syncErr(e.resultCh, err)
return
}
partialTableReader.dagPB = e.dagPBs[workID]
}
- for _, tbl := range tbls {
+ for parTblIdx, tbl := range tbls {
// check if this executor is closed
select {
case <-e.finished:
@@ -430,7 +449,7 @@ func (e *IndexMergeReaderExecutor) startPartialTableWorker(ctx context.Context,
partialTableReader.table = tbl
if err = partialTableReader.Open(ctx); err != nil {
logutil.Logger(ctx).Error("open Select result failed:", zap.Error(err))
- worker.syncErr(e.resultCh, err)
+ syncErr(e.resultCh, err)
break
}
worker.batchSize = e.maxChunkSize
@@ -443,7 +462,7 @@ func (e *IndexMergeReaderExecutor) startPartialTableWorker(ctx context.Context,
// fetch all handles from this table
ctx1, cancel := context.WithCancel(ctx)
- _, fetchErr := worker.fetchHandles(ctx1, exitCh, fetchCh, e.resultCh, e.finished, e.handleCols)
+ _, fetchErr := worker.fetchHandles(ctx1, exitCh, fetchCh, e.resultCh, e.finished, e.handleCols, parTblIdx)
if fetchErr != nil { // this error is synced in fetchHandles, so don't sync it again
e.feedbacks[workID].Invalidate()
}
@@ -470,7 +489,6 @@ func (e *IndexMergeReaderExecutor) initRuntimeStats() {
e.stats = &IndexMergeRuntimeStat{
Concurrency: e.ctx.GetSessionVars().IndexLookupConcurrency(),
}
- e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
}
}
@@ -498,16 +516,8 @@ type partialTableWorker struct {
partition table.PhysicalTable // it indicates if this worker is accessing a particular partition table
}
-func (w *partialTableWorker) syncErr(resultCh chan<- *lookupTableTask, err error) {
- doneCh := make(chan error, 1)
- doneCh <- err
- resultCh <- &lookupTableTask{
- doneCh: doneCh,
- }
-}
-
-func (w *partialTableWorker) fetchHandles(ctx context.Context, exitCh <-chan struct{}, fetchCh chan<- *lookupTableTask, resultCh chan<- *lookupTableTask,
- finished <-chan struct{}, handleCols plannercore.HandleCols) (count int64, err error) {
+func (w *partialTableWorker) fetchHandles(ctx context.Context, exitCh <-chan struct{}, fetchCh chan<- *indexMergeTableTask, resultCh chan<- *indexMergeTableTask,
+ finished <-chan struct{}, handleCols plannercore.HandleCols, parTblIdx int) (count int64, err error) {
chk := w.sc.GetSessionVars().GetNewChunkWithCapacity(retTypes(w.tableReader), w.maxChunkSize, w.maxChunkSize, w.tableReader.base().AllocPool)
var basic *execdetails.BasicRuntimeStats
if be := w.tableReader.base(); be != nil && be.runtimeStats != nil {
@@ -517,14 +527,14 @@ func (w *partialTableWorker) fetchHandles(ctx context.Context, exitCh <-chan str
start := time.Now()
handles, retChunk, err := w.extractTaskHandles(ctx, chk, handleCols)
if err != nil {
- w.syncErr(resultCh, err)
+ syncErr(resultCh, err)
return count, err
}
if len(handles) == 0 {
return count, nil
}
count += int64(len(handles))
- task := w.buildTableTask(handles, retChunk)
+ task := w.buildTableTask(handles, retChunk, parTblIdx)
if w.stats != nil {
atomic.AddInt64(&w.stats.FetchIdxTime, int64(time.Since(start)))
}
@@ -570,19 +580,22 @@ func (w *partialTableWorker) extractTaskHandles(ctx context.Context, chk *chunk.
return handles, retChk, nil
}
-func (w *partialTableWorker) buildTableTask(handles []kv.Handle, retChk *chunk.Chunk) *lookupTableTask {
- task := &lookupTableTask{
- handles: handles,
- idxRows: retChk,
+func (w *partialTableWorker) buildTableTask(handles []kv.Handle, retChk *chunk.Chunk, parTblIdx int) *indexMergeTableTask {
+ task := &indexMergeTableTask{
+ lookupTableTask: lookupTableTask{
+ handles: handles,
+ idxRows: retChk,
- partitionTable: w.partition,
+ partitionTable: w.partition,
+ },
+ parTblIdx: parTblIdx,
}
task.doneCh = make(chan error, 1)
return task
}
-func (e *IndexMergeReaderExecutor) startIndexMergeTableScanWorker(ctx context.Context, workCh <-chan *lookupTableTask) {
+func (e *IndexMergeReaderExecutor) startIndexMergeTableScanWorker(ctx context.Context, workCh <-chan *indexMergeTableTask) {
lookupConcurrencyLimit := e.ctx.GetSessionVars().IndexLookupConcurrency()
e.tblWorkerWg.Add(lookupConcurrencyLimit)
for i := 0; i < lookupConcurrencyLimit; i++ {
@@ -597,7 +610,7 @@ func (e *IndexMergeReaderExecutor) startIndexMergeTableScanWorker(ctx context.Co
ctx1, cancel := context.WithCancel(ctx)
go func() {
defer trace.StartRegion(ctx, "IndexMergeTableScanWorker").End()
- var task *lookupTableTask
+ var task *indexMergeTableTask
util.WithRecovery(
func() { task = worker.pickAndExecTask(ctx1) },
worker.handlePickAndExecTaskPanic(ctx1, task),
@@ -622,11 +635,6 @@ func (e *IndexMergeReaderExecutor) buildFinalTableReader(ctx context.Context, tb
plans: e.tblPlans,
netDataSize: e.dataAvgRowSize * float64(len(handles)),
}
- if e.isCorColInTableFilter {
- if tableReaderExec.dagPB.Executors, err = constructDistExec(e.ctx, e.tblPlans); err != nil {
- return nil, err
- }
- }
tableReaderExec.buildVirtualColumnInfo()
// Reorder handles because SplitKeyRangesByLocations() requires startKey of kvRanges is ordered.
// Also it's good for performance.
@@ -666,7 +674,7 @@ func (e *IndexMergeReaderExecutor) Next(ctx context.Context, req *chunk.Chunk) e
}
}
-func (e *IndexMergeReaderExecutor) getResultTask() (*lookupTableTask, error) {
+func (e *IndexMergeReaderExecutor) getResultTask() (*indexMergeTableTask, error) {
if e.resultCurr != nil && e.resultCurr.cursor < len(e.resultCurr.rows) {
return e.resultCurr, nil
}
@@ -686,7 +694,7 @@ func (e *IndexMergeReaderExecutor) getResultTask() (*lookupTableTask, error) {
return e.resultCurr, nil
}
-func (e *IndexMergeReaderExecutor) handleHandlesFetcherPanic(ctx context.Context, resultCh chan<- *lookupTableTask, worker string) func(r interface{}) {
+func (e *IndexMergeReaderExecutor) handleHandlesFetcherPanic(ctx context.Context, resultCh chan<- *indexMergeTableTask, worker string) func(r interface{}) {
return func(r interface{}) {
if r == nil {
return
@@ -696,14 +704,19 @@ func (e *IndexMergeReaderExecutor) handleHandlesFetcherPanic(ctx context.Context
logutil.Logger(ctx).Error(err4Panic.Error())
doneCh := make(chan error, 1)
doneCh <- err4Panic
- resultCh <- &lookupTableTask{
- doneCh: doneCh,
+ resultCh <- &indexMergeTableTask{
+ lookupTableTask: lookupTableTask{
+ doneCh: doneCh,
+ },
}
}
}
// Close implements Exec Close interface.
func (e *IndexMergeReaderExecutor) Close() error {
+ if e.stats != nil {
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
+ }
if e.finished == nil {
return nil
}
@@ -722,8 +735,8 @@ type indexMergeProcessWorker struct {
stats *IndexMergeRuntimeStat
}
-func (w *indexMergeProcessWorker) fetchLoop(ctx context.Context, fetchCh <-chan *lookupTableTask,
- workCh chan<- *lookupTableTask, resultCh chan<- *lookupTableTask, finished <-chan struct{}) {
+func (w *indexMergeProcessWorker) fetchLoopUnion(ctx context.Context, fetchCh <-chan *indexMergeTableTask,
+ workCh chan<- *indexMergeTableTask, resultCh chan<- *indexMergeTableTask, finished <-chan struct{}) {
defer func() {
close(workCh)
close(resultCh)
@@ -755,11 +768,13 @@ func (w *indexMergeProcessWorker) fetchLoop(ctx context.Context, fetchCh <-chan
if len(fhs) == 0 {
continue
}
- task := &lookupTableTask{
- handles: fhs,
- doneCh: make(chan error, 1),
+ task := &indexMergeTableTask{
+ lookupTableTask: lookupTableTask{
+ handles: fhs,
+ doneCh: make(chan error, 1),
- partitionTable: task.partitionTable,
+ partitionTable: task.partitionTable,
+ },
}
if w.stats != nil {
w.stats.IndexMergeProcess += time.Since(start)
@@ -775,18 +790,197 @@ func (w *indexMergeProcessWorker) fetchLoop(ctx context.Context, fetchCh <-chan
}
}
-func (w *indexMergeProcessWorker) handleLoopFetcherPanic(ctx context.Context, resultCh chan<- *lookupTableTask) func(r interface{}) {
+type intersectionProcessWorker struct {
+ // key: parTblIdx, val: HandleMap
+ // Value of MemAwareHandleMap is *int to avoid extra Get().
+ handleMapsPerWorker map[int]*kv.MemAwareHandleMap[*int]
+ workerID int
+ workerCh chan *indexMergeTableTask
+ indexMerge *IndexMergeReaderExecutor
+ memTracker *memory.Tracker
+ batchSize int
+
+ // When rowDelta == memConsumeBatchSize, Consume(memUsage)
+ rowDelta int64
+ mapUsageDelta int64
+}
+
+func (w *intersectionProcessWorker) consumeMemDelta() {
+ w.memTracker.Consume(w.mapUsageDelta + w.rowDelta*int64(unsafe.Sizeof(int(0))))
+ w.mapUsageDelta = 0
+ w.rowDelta = 0
+}
+
+func (w *intersectionProcessWorker) doIntersectionPerPartition(ctx context.Context, workCh chan<- *indexMergeTableTask, resultCh chan<- *indexMergeTableTask, finished <-chan struct{}) {
+ defer w.memTracker.Detach()
+
+ for task := range w.workerCh {
+ var ok bool
+ var hMap *kv.MemAwareHandleMap[*int]
+ if hMap, ok = w.handleMapsPerWorker[task.parTblIdx]; !ok {
+ hMap = kv.NewMemAwareHandleMap[*int]()
+ w.handleMapsPerWorker[task.parTblIdx] = hMap
+ }
+ var mapDelta int64
+ var rowDelta int64
+ for _, h := range task.handles {
+ // Use *int to avoid Get() again.
+ if cntPtr, ok := hMap.Get(h); ok {
+ (*cntPtr)++
+ } else {
+ cnt := 1
+ mapDelta += hMap.Set(h, &cnt) + int64(h.ExtraMemSize())
+ rowDelta += 1
+ }
+ }
+
+ logutil.BgLogger().Debug("intersectionProcessWorker handle tasks", zap.Int("workerID", w.workerID),
+ zap.Int("task.handles", len(task.handles)), zap.Int64("rowDelta", rowDelta))
+
+ w.mapUsageDelta += mapDelta
+ w.rowDelta += rowDelta
+ if w.rowDelta >= int64(w.batchSize) {
+ w.consumeMemDelta()
+ }
+ failpoint.Inject("testIndexMergeIntersectionWorkerPanic", nil)
+ }
+ if w.rowDelta > 0 {
+ w.consumeMemDelta()
+ }
+
+ // We assume the result of intersection is small, so no need to track memory.
+ intersectedMap := make(map[int][]kv.Handle, len(w.handleMapsPerWorker))
+ for parTblIdx, hMap := range w.handleMapsPerWorker {
+ hMap.Range(func(h kv.Handle, val interface{}) bool {
+ if *(val.(*int)) == len(w.indexMerge.partialPlans) {
+ // Means all partial paths have this handle.
+ intersectedMap[parTblIdx] = append(intersectedMap[parTblIdx], h)
+ }
+ return true
+ })
+ }
+
+ tasks := make([]*indexMergeTableTask, 0, len(w.handleMapsPerWorker))
+ for parTblIdx, intersected := range intersectedMap {
+ // Split intersected[parTblIdx] to avoid task is too large.
+ for len(intersected) > 0 {
+ length := w.batchSize
+ if length > len(intersected) {
+ length = len(intersected)
+ }
+ task := &indexMergeTableTask{
+ lookupTableTask: lookupTableTask{
+ handles: intersected[:length],
+ doneCh: make(chan error, 1),
+ },
+ }
+ intersected = intersected[length:]
+ if w.indexMerge.partitionTableMode {
+ task.partitionTable = w.indexMerge.prunedPartitions[parTblIdx]
+ }
+ tasks = append(tasks, task)
+ logutil.BgLogger().Debug("intersectionProcessWorker build tasks",
+ zap.Int("parTblIdx", parTblIdx), zap.Int("task.handles", len(task.handles)))
+ }
+ }
+ for _, task := range tasks {
+ select {
+ case <-ctx.Done():
+ return
+ case <-finished:
+ return
+ case workCh <- task:
+ resultCh <- task
+ }
+ }
+}
+
+// For each partition(dynamic mode), a map is used to do intersection. Key of the map is handle, and value is the number of times it occurs.
+// If the value of handle equals the number of partial paths, it should be sent to final_table_scan_worker.
+// To avoid too many goroutines, each intersectionProcessWorker can handle multiple partitions.
+func (w *indexMergeProcessWorker) fetchLoopIntersection(ctx context.Context, fetchCh <-chan *indexMergeTableTask,
+ workCh chan<- *indexMergeTableTask, resultCh chan<- *indexMergeTableTask, finished <-chan struct{}) {
+ defer func() {
+ close(workCh)
+ close(resultCh)
+ }()
+
+ if w.stats != nil {
+ start := time.Now()
+ defer func() {
+ w.stats.IndexMergeProcess += time.Since(start)
+ }()
+ }
+
+ // One goroutine may handle one or multiple partitions.
+ // Max number of partition number is 8192, we use ExecutorConcurrency to avoid too many goroutines.
+ maxWorkerCnt := w.indexMerge.ctx.GetSessionVars().IndexMergeIntersectionConcurrency()
+ maxChannelSize := atomic.LoadInt32(&LookupTableTaskChannelSize)
+ batchSize := w.indexMerge.ctx.GetSessionVars().IndexLookupSize
+
+ partCnt := 1
+ if w.indexMerge.partitionTableMode {
+ partCnt = len(w.indexMerge.prunedPartitions)
+ }
+ workerCnt := mathutil.Min(partCnt, maxWorkerCnt)
+ failpoint.Inject("testIndexMergeIntersectionConcurrency", func(val failpoint.Value) {
+ con := val.(int)
+ if con != workerCnt {
+ panic(fmt.Sprintf("unexpected workerCnt, expect %d, got %d", con, workerCnt))
+ }
+ })
+
+ workers := make([]*intersectionProcessWorker, 0, workerCnt)
+ wg := util.WaitGroupWrapper{}
+ errCh := make(chan bool, workerCnt)
+ for i := 0; i < workerCnt; i++ {
+ tracker := memory.NewTracker(w.indexMerge.id, -1)
+ tracker.AttachTo(w.indexMerge.memTracker)
+ worker := &intersectionProcessWorker{
+ workerID: i,
+ handleMapsPerWorker: make(map[int]*kv.MemAwareHandleMap[*int]),
+ workerCh: make(chan *indexMergeTableTask, maxChannelSize),
+ indexMerge: w.indexMerge,
+ memTracker: tracker,
+ batchSize: batchSize,
+ }
+ wg.RunWithRecover(func() {
+ defer trace.StartRegion(ctx, "IndexMergeIntersectionProcessWorker").End()
+ worker.doIntersectionPerPartition(ctx, workCh, resultCh, finished)
+ }, w.handleLoopFetcherPanic(ctx, resultCh, "IndexMergeIntersectionProcessWorker", errCh))
+ workers = append(workers, worker)
+ }
+loop:
+ for task := range fetchCh {
+ select {
+ case workers[task.parTblIdx%workerCnt].workerCh <- task:
+ case <-errCh:
+ break loop
+ }
+ }
+ for _, processWorker := range workers {
+ close(processWorker.workerCh)
+ }
+ wg.Wait()
+}
+
+func (w *indexMergeProcessWorker) handleLoopFetcherPanic(ctx context.Context, resultCh chan<- *indexMergeTableTask, worker string, extraCh chan bool) func(r interface{}) {
return func(r interface{}) {
if r == nil {
return
}
+ if extraCh != nil {
+ extraCh <- true
+ }
- err4Panic := errors.Errorf("panic in IndexMergeReaderExecutor indexMergeTableWorker: %v", r)
+ err4Panic := errors.Errorf("panic in IndexMergeReaderExecutor %s: %v", worker, r)
logutil.Logger(ctx).Error(err4Panic.Error())
doneCh := make(chan error, 1)
doneCh <- err4Panic
- resultCh <- &lookupTableTask{
- doneCh: doneCh,
+ resultCh <- &indexMergeTableTask{
+ lookupTableTask: lookupTableTask{
+ doneCh: doneCh,
+ },
}
}
}
@@ -801,11 +995,13 @@ type partialIndexWorker struct {
partition table.PhysicalTable // it indicates if this worker is accessing a particular partition table
}
-func (w *partialIndexWorker) syncErr(resultCh chan<- *lookupTableTask, err error) {
+func syncErr(resultCh chan<- *indexMergeTableTask, err error) {
doneCh := make(chan error, 1)
doneCh <- err
- resultCh <- &lookupTableTask{
- doneCh: doneCh,
+ resultCh <- &indexMergeTableTask{
+ lookupTableTask: lookupTableTask{
+ doneCh: doneCh,
+ },
}
}
@@ -813,23 +1009,23 @@ func (w *partialIndexWorker) fetchHandles(
ctx context.Context,
result distsql.SelectResult,
exitCh <-chan struct{},
- fetchCh chan<- *lookupTableTask,
- resultCh chan<- *lookupTableTask,
+ fetchCh chan<- *indexMergeTableTask,
+ resultCh chan<- *indexMergeTableTask,
finished <-chan struct{},
- handleCols plannercore.HandleCols) (count int64, err error) {
+ handleCols plannercore.HandleCols,
+ parTblIdx int) (count int64, err error) {
chk := chunk.NewChunkWithCapacity(handleCols.GetFieldsTypes(), w.maxChunkSize)
var basicStats *execdetails.BasicRuntimeStats
if w.stats != nil {
if w.idxID != 0 {
- basicStats = &execdetails.BasicRuntimeStats{}
- w.sc.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(w.idxID, basicStats)
+ basicStats = w.sc.GetSessionVars().StmtCtx.RuntimeStatsColl.GetBasicRuntimeStats(w.idxID)
}
}
for {
start := time.Now()
handles, retChunk, err := w.extractTaskHandles(ctx, chk, result, handleCols)
if err != nil {
- w.syncErr(resultCh, err)
+ syncErr(resultCh, err)
return count, err
}
if len(handles) == 0 {
@@ -839,7 +1035,7 @@ func (w *partialIndexWorker) fetchHandles(
return count, nil
}
count += int64(len(handles))
- task := w.buildTableTask(handles, retChunk)
+ task := w.buildTableTask(handles, retChunk, parTblIdx)
if w.stats != nil {
atomic.AddInt64(&w.stats.FetchIdxTime, int64(time.Since(start)))
}
@@ -885,12 +1081,15 @@ func (w *partialIndexWorker) extractTaskHandles(ctx context.Context, chk *chunk.
return handles, retChk, nil
}
-func (w *partialIndexWorker) buildTableTask(handles []kv.Handle, retChk *chunk.Chunk) *lookupTableTask {
- task := &lookupTableTask{
- handles: handles,
- idxRows: retChk,
+func (w *partialIndexWorker) buildTableTask(handles []kv.Handle, retChk *chunk.Chunk, parTblIdx int) *indexMergeTableTask {
+ task := &indexMergeTableTask{
+ lookupTableTask: lookupTableTask{
+ handles: handles,
+ idxRows: retChk,
- partitionTable: w.partition,
+ partitionTable: w.partition,
+ },
+ parTblIdx: parTblIdx,
}
task.doneCh = make(chan error, 1)
@@ -899,7 +1098,7 @@ func (w *partialIndexWorker) buildTableTask(handles []kv.Handle, retChk *chunk.C
type indexMergeTableScanWorker struct {
stats *IndexMergeRuntimeStat
- workCh <-chan *lookupTableTask
+ workCh <-chan *indexMergeTableTask
finished <-chan struct{}
indexMergeExec *IndexMergeReaderExecutor
tblPlans []plannercore.PhysicalPlan
@@ -908,7 +1107,7 @@ type indexMergeTableScanWorker struct {
memTracker *memory.Tracker
}
-func (w *indexMergeTableScanWorker) pickAndExecTask(ctx context.Context) (task *lookupTableTask) {
+func (w *indexMergeTableScanWorker) pickAndExecTask(ctx context.Context) (task *indexMergeTableTask) {
var ok bool
for {
waitStart := time.Now()
@@ -931,7 +1130,7 @@ func (w *indexMergeTableScanWorker) pickAndExecTask(ctx context.Context) (task *
}
}
-func (w *indexMergeTableScanWorker) handlePickAndExecTaskPanic(ctx context.Context, task *lookupTableTask) func(r interface{}) {
+func (w *indexMergeTableScanWorker) handlePickAndExecTaskPanic(ctx context.Context, task *indexMergeTableTask) func(r interface{}) {
return func(r interface{}) {
if r == nil {
return
@@ -943,7 +1142,7 @@ func (w *indexMergeTableScanWorker) handlePickAndExecTaskPanic(ctx context.Conte
}
}
-func (w *indexMergeTableScanWorker) executeTask(ctx context.Context, task *lookupTableTask) error {
+func (w *indexMergeTableScanWorker) executeTask(ctx context.Context, task *indexMergeTableTask) error {
tbl := w.indexMergeExec.table
if w.indexMergeExec.partitionTableMode {
tbl = task.partitionTable
diff --git a/executor/index_merge_reader_test.go b/executor/index_merge_reader_test.go
index 58dfa71814f28..79d2d8b895a81 100644
--- a/executor/index_merge_reader_test.go
+++ b/executor/index_merge_reader_test.go
@@ -23,7 +23,9 @@ import (
"testing"
"time"
+ "github.com/pingcap/failpoint"
"github.com/pingcap/tidb/testkit"
+ "github.com/pingcap/tidb/testkit/testutil"
"github.com/pingcap/tidb/util"
"github.com/stretchr/testify/require"
)
@@ -86,7 +88,7 @@ func TestIndexMergeReaderIssue25045(t *testing.T) {
tk.MustExec("create table t1(a int primary key, b int, c int, key(b), key(c));")
tk.MustExec("INSERT INTO t1 VALUES (10, 10, 10), (11, 11, 11)")
tk.MustQuery("explain format='brief' select /*+ use_index_merge(t1) */ * from t1 where c=10 or (b=10 and a=10);").Check(testkit.Rows(
- "IndexMerge 0.01 root ",
+ "IndexMerge 0.01 root type: union",
"├─IndexRangeScan(Build) 10.00 cop[tikv] table:t1, index:c(c) range:[10,10], keep order:false, stats:pseudo",
"├─TableRangeScan(Build) 1.00 cop[tikv] table:t1 range:[10,10], keep order:false, stats:pseudo",
"└─Selection(Probe) 0.01 cop[tikv] or(eq(test.t1.c, 10), and(eq(test.t1.b, 10), eq(test.t1.a, 10)))",
@@ -230,44 +232,64 @@ func TestIndexMergeInTransaction(t *testing.T) {
tk.MustExec("begin;")
// Expect two IndexScan(c1, c2).
tk.MustQuery("explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < 10) and c3 < 10;").Check(testkit.Rows(
- "IndexMerge_9 1841.86 root ",
+ "IndexMerge_9 1841.86 root type: union",
"├─IndexRangeScan_5(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo",
"├─IndexRangeScan_6(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo",
"└─Selection_8(Probe) 1841.86 cop[tikv] lt(test.t1.c3, 10)",
" └─TableRowIDScan_7 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo"))
// Expect one IndexScan(c2) and one TableScan(pk).
tk.MustQuery("explain select /*+ use_index_merge(t1) */ * from t1 where (pk < 10 or c2 < 10) and c3 < 10;").Check(testkit.Rows(
- "IndexMerge_9 1106.67 root ",
+ "IndexMerge_9 1106.67 root type: union",
"├─TableRangeScan_5(Build) 3333.33 cop[tikv] table:t1 range:[-inf,10), keep order:false, stats:pseudo",
"├─IndexRangeScan_6(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo",
"└─Selection_8(Probe) 1106.67 cop[tikv] lt(test.t1.c3, 10)",
" └─TableRowIDScan_7 3330.01 cop[tikv] table:t1 keep order:false, stats:pseudo"))
+ tk.MustQuery("explain select /*+ use_index_merge(t1, c1, c2, c3) */ * from t1 where c1 < 10 and c2 < 10 and c3 < 10;").Check(testkit.Rows(
+ "IndexMerge_9 367.05 root type: intersection",
+ "├─IndexRangeScan_5(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo",
+ "├─IndexRangeScan_6(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo",
+ "├─IndexRangeScan_7(Build) 3323.33 cop[tikv] table:t1, index:c3(c3) range:[-inf,10), keep order:false, stats:pseudo",
+ "└─TableRowIDScan_8(Probe) 367.05 cop[tikv] table:t1 keep order:false, stats:pseudo"))
// Test with normal key.
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < -1) and c3 < 10;").Check(testkit.Rows())
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (c1 < -1 or c2 < 10) and c3 < 10;").Check(testkit.Rows())
+ tk.MustQuery("select /*+ use_index_merge(t1, c1, c2, c3) */ * from t1 where (c1 < 10 and c2 < -1) and c3 < 10;").Check(testkit.Rows())
+ tk.MustQuery("select /*+ use_index_merge(t1, c1, c2, c3) */ * from t1 where (c1 < -1 and c2 < 10) and c3 < 10;").Check(testkit.Rows())
+
tk.MustExec("insert into t1 values(1, 1, 1, 1);")
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < -1) and c3 < 10;").Check(testkit.Rows("1 1 1 1"))
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (c1 < -1 or c2 < 10) and c3 < 10;").Check(testkit.Rows("1 1 1 1"))
+ tk.MustQuery("select /*+ use_index_merge(t1, c1, c2, c3) */ * from t1 where (c1 < 10 and c2 < 10) and c3 < 10;").Check(testkit.Rows("1 1 1 1"))
+ tk.MustQuery("select /*+ use_index_merge(t1, c1, c2, c3) */ * from t1 where (c1 < 10 and c2 < 10) and c3 > 10;").Check(testkit.Rows())
+
tk.MustExec("update t1 set c3 = 100 where c3 = 1;")
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < -1) and c3 < 10;").Check(testkit.Rows())
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (c1 < -1 or c2 < 10) and c3 < 10;").Check(testkit.Rows())
+ tk.MustQuery("select /*+ use_index_merge(t1, c1, c2, c3) */ * from t1 where (c1 < 10 and c2 < 10) and c3 > 10;").Check(testkit.Rows("1 1 100 1"))
+
tk.MustExec("delete from t1;")
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < -1) and c3 < 10;").Check(testkit.Rows())
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (c1 < -1 or c2 < 10) and c3 < 10;").Check(testkit.Rows())
+ tk.MustQuery("select /*+ use_index_merge(t1, c1, c2, c3) */ * from t1 where (c1 < 10 and c2 < 10) and c3 > 10;").Check(testkit.Rows())
// Test with primary key, so the partialPlan is TableScan.
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (pk < -1 or c2 < 10) and c3 < 10;").Check(testkit.Rows())
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (pk < 10 or c2 < -1) and c3 < 10;").Check(testkit.Rows())
+ tk.MustQuery("select /*+ use_index_merge(t1, c2, c3, primary) */ * from t1 where (pk < -1 and c2 < 10) and c3 < 10;").Check(testkit.Rows())
+ tk.MustQuery("select /*+ use_index_merge(t1, c2, c3, primary) */ * from t1 where (pk < 10 and c2 < -1) and c3 < 10;").Check(testkit.Rows())
tk.MustExec("insert into t1 values(1, 1, 1, 1);")
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (pk < -1 or c2 < 10) and c3 < 10;").Check(testkit.Rows("1 1 1 1"))
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (pk < 10 or c2 < -1) and c3 < 10;").Check(testkit.Rows("1 1 1 1"))
+ tk.MustQuery("select /*+ use_index_merge(t1, c2, c3, primary) */ * from t1 where (pk < 10 and c2 < 10) and c3 < 10;").Check(testkit.Rows("1 1 1 1"))
tk.MustExec("update t1 set c3 = 100 where c3 = 1;")
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (pk < -1 or c2 < 10) and c3 < 10;").Check(testkit.Rows())
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (pk < 10 or c2 < -1) and c3 < 10;").Check(testkit.Rows())
+ tk.MustQuery("select /*+ use_index_merge(t1, c2, c3, primary) */ * from t1 where (pk < 10 and c2 < 10) and c3 > 10;").Check(testkit.Rows("1 1 100 1"))
tk.MustExec("delete from t1;")
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (pk < -1 or c2 < 10) and c3 < 10;").Check(testkit.Rows())
tk.MustQuery("select /*+ use_index_merge(t1) */ * from t1 where (pk < 10 or c2 < -1) and c3 < 10;").Check(testkit.Rows())
+ tk.MustQuery("select /*+ use_index_merge(t1, c2, c3, primary) */ * from t1 where (pk < 10 and c2 < 10) and c3 > 10;").Check(testkit.Rows())
tk.MustExec("commit;")
if i == 1 {
@@ -281,14 +303,14 @@ func TestIndexMergeInTransaction(t *testing.T) {
tk.MustExec("begin;")
tk.MustQuery("explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 10 or c2 < 10) and c3 < 10 for update;").Check(testkit.Rows(
"SelectLock_6 1841.86 root for update 0",
- "└─IndexMerge_11 1841.86 root ",
+ "└─IndexMerge_11 1841.86 root type: union",
" ├─IndexRangeScan_7(Build) 3323.33 cop[tikv] table:t1, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo",
" ├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo",
" └─Selection_10(Probe) 1841.86 cop[tikv] lt(test.t1.c3, 10)",
" └─TableRowIDScan_9 5542.21 cop[tikv] table:t1 keep order:false, stats:pseudo"))
tk.MustQuery("explain select /*+ use_index_merge(t1) */ * from t1 where (pk < 10 or c2 < 10) and c3 < 10 for update;").Check(testkit.Rows(
"SelectLock_6 1106.67 root for update 0",
- "└─IndexMerge_11 1106.67 root ",
+ "└─IndexMerge_11 1106.67 root type: union",
" ├─TableRangeScan_7(Build) 3333.33 cop[tikv] table:t1 range:[-inf,10), keep order:false, stats:pseudo",
" ├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo",
" └─Selection_10(Probe) 1106.67 cop[tikv] lt(test.t1.c3, 10)",
@@ -403,7 +425,7 @@ func TestIndexMergeReaderInTransIssue30685(t *testing.T) {
tk.MustExec("insert into t1 values(1, 1, 1, 1);")
tk.MustQuery("explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < -1 or c3 < 10) and c4 < 10;").Check(testkit.Rows(
"UnionScan_6 1841.86 root lt(test.t1.c4, 10), or(lt(test.t1.c1, -1), lt(test.t1.c3, 10))",
- "└─IndexMerge_11 1841.86 root ",
+ "└─IndexMerge_11 1841.86 root type: union",
" ├─TableRangeScan_7(Build) 3323.33 cop[tikv] table:t1 range:[-inf,-1), keep order:false, stats:pseudo",
" ├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c3(c3) range:[-inf,10), keep order:false, stats:pseudo",
" └─Selection_10(Probe) 1841.86 cop[tikv] lt(test.t1.c4, 10)",
@@ -422,7 +444,7 @@ func TestIndexMergeReaderInTransIssue30685(t *testing.T) {
tk.MustExec("insert into t1 values('b', 1, 1, 1);")
tk.MustQuery("explain select /*+ use_index_merge(t1) */ * from t1 where (c1 < 'a' or c3 < 10) and c4 < 10;").Check(testkit.Rows(
"UnionScan_6 1841.86 root lt(test.t1.c4, 10), or(lt(test.t1.c1, \"a\"), lt(test.t1.c3, 10))",
- "└─IndexMerge_11 1841.86 root ",
+ "└─IndexMerge_11 1841.86 root type: union",
" ├─TableRangeScan_7(Build) 3323.33 cop[tikv] table:t1 range:[-inf,\"a\"), keep order:false, stats:pseudo",
" ├─IndexRangeScan_8(Build) 3323.33 cop[tikv] table:t1, index:c3(c3) range:[-inf,10), keep order:false, stats:pseudo",
" └─Selection_10(Probe) 1841.86 cop[tikv] lt(test.t1.c4, 10)",
@@ -524,19 +546,19 @@ func TestPessimisticLockOnPartitionForIndexMerge(t *testing.T) {
" ├─IndexReader(Build) 3.00 root index:IndexFullScan",
" │ └─IndexFullScan 3.00 cop[tikv] table:t2, index:c_datetime(c_datetime) keep order:false",
" └─PartitionUnion(Probe) 5545.21 root ",
- " ├─IndexMerge 5542.21 root ",
+ " ├─IndexMerge 5542.21 root type: union",
" │ ├─IndexRangeScan(Build) 3323.33 cop[tikv] table:t1, partition:p0, index:c1(c1) range:[-inf,10), keep order:false, stats:pseudo",
" │ ├─IndexRangeScan(Build) 3323.33 cop[tikv] table:t1, partition:p0, index:c2(c2) range:[-inf,10), keep order:false, stats:pseudo",
" │ └─TableRowIDScan(Probe) 5542.21 cop[tikv] table:t1, partition:p0 keep order:false, stats:pseudo",
- " ├─IndexMerge 1.00 root ",
+ " ├─IndexMerge 1.00 root type: union",
" │ ├─IndexRangeScan(Build) 1.00 cop[tikv] table:t1, partition:p1, index:c1(c1) range:[-inf,10), keep order:false",
" │ ├─IndexRangeScan(Build) 1.00 cop[tikv] table:t1, partition:p1, index:c2(c2) range:[-inf,10), keep order:false",
" │ └─TableRowIDScan(Probe) 1.00 cop[tikv] table:t1, partition:p1 keep order:false",
- " ├─IndexMerge 1.00 root ",
+ " ├─IndexMerge 1.00 root type: union",
" │ ├─IndexRangeScan(Build) 1.00 cop[tikv] table:t1, partition:p2, index:c1(c1) range:[-inf,10), keep order:false",
" │ ├─IndexRangeScan(Build) 1.00 cop[tikv] table:t1, partition:p2, index:c2(c2) range:[-inf,10), keep order:false",
" │ └─TableRowIDScan(Probe) 1.00 cop[tikv] table:t1, partition:p2 keep order:false",
- " └─IndexMerge 1.00 root ",
+ " └─IndexMerge 1.00 root type: union",
" ├─IndexRangeScan(Build) 1.00 cop[tikv] table:t1, partition:p3, index:c1(c1) range:[-inf,10), keep order:false",
" ├─IndexRangeScan(Build) 1.00 cop[tikv] table:t1, partition:p3, index:c2(c2) range:[-inf,10), keep order:false",
" └─TableRowIDScan(Probe) 1.00 cop[tikv] table:t1, partition:p3 keep order:false",
@@ -566,3 +588,193 @@ func TestPessimisticLockOnPartitionForIndexMerge(t *testing.T) {
// TODO: add support for index merge reader in dynamic tidb_partition_prune_mode
}
+
+func TestIndexMergeIntersectionConcurrency(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t1")
+ tk.MustExec("create table t1(c1 int, c2 bigint, c3 bigint, primary key(c1), key(c2), key(c3)) partition by hash(c1) partitions 10;")
+ tk.MustExec("insert into t1 values(1, 1, 3000), (2, 1, 1)")
+ tk.MustExec("analyze table t1;")
+ tk.MustExec("set tidb_partition_prune_mode = 'dynamic'")
+ res := tk.MustQuery("explain select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > 1024").Rows()
+ require.Contains(t, res[1][0], "IndexMerge")
+
+ // Default is tidb_executor_concurrency.
+ res = tk.MustQuery("select @@tidb_executor_concurrency;").Sort().Rows()
+ defExecCon := res[0][0].(string)
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/executor/testIndexMergeIntersectionConcurrency", fmt.Sprintf("return(%s)", defExecCon)))
+ defer func() {
+ require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/executor/testIndexMergeIntersectionConcurrency"))
+ }()
+ tk.MustQuery("select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > 1024").Check(testkit.Rows("1"))
+
+ tk.MustExec("set tidb_executor_concurrency = 10")
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/executor/testIndexMergeIntersectionConcurrency", "return(10)"))
+ tk.MustQuery("select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > 1024").Check(testkit.Rows("1"))
+ // workerCnt = min(part_num, concurrency)
+ tk.MustExec("set tidb_executor_concurrency = 20")
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/executor/testIndexMergeIntersectionConcurrency", "return(10)"))
+ tk.MustQuery("select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > 1024").Check(testkit.Rows("1"))
+ tk.MustExec("set tidb_executor_concurrency = 2")
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/executor/testIndexMergeIntersectionConcurrency", "return(2)"))
+ tk.MustQuery("select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > 1024").Check(testkit.Rows("1"))
+
+ tk.MustExec("set tidb_index_merge_intersection_concurrency = 9")
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/executor/testIndexMergeIntersectionConcurrency", "return(9)"))
+ tk.MustQuery("select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > 1024").Check(testkit.Rows("1"))
+ tk.MustExec("set tidb_index_merge_intersection_concurrency = 21")
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/executor/testIndexMergeIntersectionConcurrency", "return(10)"))
+ tk.MustQuery("select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > 1024").Check(testkit.Rows("1"))
+ tk.MustExec("set tidb_index_merge_intersection_concurrency = 3")
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/executor/testIndexMergeIntersectionConcurrency", "return(3)"))
+ tk.MustQuery("select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > 1024").Check(testkit.Rows("1"))
+
+ // Concurrency only works for dynamic pruning partition table, so real concurrency is 1.
+ tk.MustExec("set tidb_partition_prune_mode = 'static'")
+ tk.MustExec("set tidb_index_merge_intersection_concurrency = 9")
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/executor/testIndexMergeIntersectionConcurrency", "return(1)"))
+ tk.MustQuery("select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > 1024").Check(testkit.Rows("1"))
+
+ // Concurrency only works for dynamic pruning partition table. so real concurrency is 1.
+ tk.MustExec("drop table if exists t1")
+ tk.MustExec("create table t1(c1 int, c2 bigint, c3 bigint, primary key(c1), key(c2), key(c3));")
+ tk.MustExec("insert into t1 values(1, 1, 3000), (2, 1, 1)")
+ tk.MustExec("set tidb_index_merge_intersection_concurrency = 9")
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/executor/testIndexMergeIntersectionConcurrency", "return(1)"))
+ tk.MustQuery("select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > 1024").Check(testkit.Rows("1"))
+}
+
+func TestIntersectionWithDifferentConcurrency(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+
+ var execCon []int
+ tblSchemas := []string{
+ // partition table
+ "create table t1(c1 int, c2 bigint, c3 bigint, primary key(c1), key(c2), key(c3)) partition by hash(c1) partitions 10;",
+ // non-partition table
+ "create table t1(c1 int, c2 bigint, c3 bigint, primary key(c1), key(c2), key(c3));",
+ }
+
+ for tblIdx, tblSchema := range tblSchemas {
+ if tblIdx == 0 {
+ // Test different intersectionProcessWorker with partition table(10 partitions).
+ execCon = []int{1, 3, 10, 11, 20}
+ } else {
+ // Default concurrency.
+ execCon = []int{5}
+ }
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t1;")
+ tk.MustExec(tblSchema)
+
+ const queryCnt int = 10
+ const rowCnt int = 1000
+ curRowCnt := 0
+ insertStr := "insert into t1 values"
+ for i := 0; i < rowCnt; i++ {
+ if i != 0 {
+ insertStr += ", "
+ }
+ insertStr += fmt.Sprintf("(%d, %d, %d)", i, rand.Int(), rand.Int())
+ curRowCnt++
+ }
+ tk.MustExec(insertStr)
+ tk.MustExec("analyze table t1")
+
+ for _, concurrency := range execCon {
+ tk.MustExec(fmt.Sprintf("set tidb_executor_concurrency = %d", concurrency))
+ for i := 0; i < 2; i++ {
+ if i == 0 {
+ // Dynamic mode.
+ tk.MustExec("set tidb_partition_prune_mode = 'dynamic'")
+ res := tk.MustQuery("explain select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > 1024")
+ require.Contains(t, res.Rows()[1][0], "IndexMerge")
+ } else {
+ tk.MustExec("set tidb_partition_prune_mode = 'static'")
+ res := tk.MustQuery("explain select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > 1024")
+ if tblIdx == 0 {
+ // partition table
+ require.Contains(t, res.Rows()[1][0], "PartitionUnion")
+ require.Contains(t, res.Rows()[2][0], "IndexMerge")
+ } else {
+ require.Contains(t, res.Rows()[1][0], "IndexMerge")
+ }
+ }
+ for i := 0; i < queryCnt; i++ {
+ c3 := rand.Intn(1024)
+ res := tk.MustQuery(fmt.Sprintf("select /*+ no_index_merge() */ c1 from t1 where c2 < 1024 and c3 > %d", c3)).Sort().Rows()
+ tk.MustQuery(fmt.Sprintf("select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > %d", c3)).Sort().Check(res)
+ }
+
+ // In tranaction
+ for i := 0; i < queryCnt; i++ {
+ tk.MustExec("begin;")
+ r := rand.Intn(3)
+ if r == 0 {
+ tk.MustExec(fmt.Sprintf("update t1 set c3 = %d where c1 = %d", rand.Int(), rand.Intn(rowCnt)))
+ } else if r == 1 {
+ tk.MustExec(fmt.Sprintf("delete from t1 where c1 = %d", rand.Intn(rowCnt)))
+ } else if r == 2 {
+ tk.MustExec(fmt.Sprintf("insert into t1 values(%d, %d, %d)", curRowCnt, rand.Int(), rand.Int()))
+ curRowCnt++
+ }
+ c3 := rand.Intn(1024)
+ res := tk.MustQuery(fmt.Sprintf("select /*+ no_index_merge() */ c1 from t1 where c2 < 1024 and c3 > %d", c3)).Sort().Rows()
+ tk.MustQuery(fmt.Sprintf("select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > %d", c3)).Sort().Check(res)
+ tk.MustExec("commit;")
+ }
+ }
+ }
+ tk.MustExec("drop table t1")
+ }
+}
+
+func TestIntersectionWorkerPanic(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t1")
+ tk.MustExec("create table t1(c1 int, c2 bigint, c3 bigint, primary key(c1), key(c2), key(c3)) partition by hash(c1) partitions 10;")
+ tk.MustExec("insert into t1 values(1, 1, 3000), (2, 1, 1)")
+ tk.MustExec("analyze table t1;")
+ tk.MustExec("set tidb_partition_prune_mode = 'dynamic'")
+ res := tk.MustQuery("explain select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > 1024").Rows()
+ require.Contains(t, res[1][0], "IndexMerge")
+
+ // Test panic in intersection.
+ require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/executor/testIndexMergeIntersectionWorkerPanic", "panic"))
+ err := tk.QueryToErr("select /*+ use_index_merge(t1, primary, c2, c3) */ c1 from t1 where c2 < 1024 and c3 > 1024")
+ require.Contains(t, err.Error(), "IndexMergeReaderExecutor")
+ require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/executor/testIndexMergeIntersectionWorkerPanic"))
+}
+
+func TestIntersectionMemQuota(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t1")
+ tk.MustExec("create table t1(pk varchar(100) primary key, c1 int, c2 int, index idx1(c1), index idx2(c2))")
+
+ insertStr := "insert into t1 values"
+ for i := 0; i < 20; i++ {
+ if i != 0 {
+ insertStr += ", "
+ }
+ insertStr += fmt.Sprintf("('%s', %d, %d)", testutil.RandStringRunes(100), 1, 1)
+ }
+ tk.MustExec(insertStr)
+ res := tk.MustQuery("explain select /*+ use_index_merge(t1, primary, idx1, idx2) */ c1 from t1 where c1 < 1024 and c2 < 1024").Rows()
+ require.Contains(t, res[1][0], "IndexMerge")
+
+ tk.MustExec("set global tidb_mem_oom_action='CANCEL'")
+ defer tk.MustExec("set global tidb_mem_oom_action = DEFAULT")
+ tk.MustExec("set @@tidb_mem_quota_query = 4000")
+ err := tk.QueryToErr("select /*+ use_index_merge(t1, primary, idx1, idx2) */ c1 from t1 where c1 < 1024 and c2 < 1024")
+ require.Contains(t, err.Error(), "Out Of Memory Quota!")
+}
diff --git a/executor/infoschema_cluster_table_test.go b/executor/infoschema_cluster_table_test.go
index 012cd98178443..5729af8de9dd1 100644
--- a/executor/infoschema_cluster_table_test.go
+++ b/executor/infoschema_cluster_table_test.go
@@ -290,7 +290,7 @@ func TestTableStorageStats(t *testing.T) {
"test 2",
))
rows := tk.MustQuery("select TABLE_NAME from information_schema.TABLE_STORAGE_STATS where TABLE_SCHEMA = 'mysql';").Rows()
- result := 40
+ result := 44
require.Len(t, rows, result)
// More tests about the privileges.
diff --git a/executor/infoschema_reader.go b/executor/infoschema_reader.go
index b3b881c1f65fa..472220bb2dcc6 100644
--- a/executor/infoschema_reader.go
+++ b/executor/infoschema_reader.go
@@ -386,7 +386,7 @@ func getAutoIncrementID(ctx sessionctx.Context, schema *model.DBInfo, tblInfo *m
if err != nil {
return 0, err
}
- return tbl.Allocators(ctx).Get(autoid.RowIDAllocType).Base() + 1, nil
+ return tbl.Allocators(ctx).Get(autoid.AutoIncrementType).Base() + 1, nil
}
func hasPriv(ctx sessionctx.Context, priv mysql.PrivilegeType) bool {
@@ -2607,7 +2607,17 @@ func (e *tidbTrxTableRetriever) retrieve(ctx context.Context, sctx sessionctx.Co
row = append(row, types.NewDatum(nil))
}
} else {
- row = append(row, e.txnInfo[i].ToDatum(c.Name.O))
+ switch c.Name.O {
+ case txninfo.MemBufferBytesStr:
+ memDBFootprint := sctx.GetSessionVars().MemDBFootprint
+ var bytesConsumed int64
+ if memDBFootprint != nil {
+ bytesConsumed = memDBFootprint.BytesConsumed()
+ }
+ row = append(row, types.NewDatum(bytesConsumed))
+ default:
+ row = append(row, e.txnInfo[i].ToDatum(c.Name.O))
+ }
}
}
res = append(res, row)
diff --git a/executor/infoschema_reader_test.go b/executor/infoschema_reader_test.go
index c55c51031fa24..79c2b418e18d2 100644
--- a/executor/infoschema_reader_test.go
+++ b/executor/infoschema_reader_test.go
@@ -151,7 +151,7 @@ func TestColumnsTables(t *testing.T) {
tk.MustExec("drop table if exists t")
tk.MustExec("create table t (bit bit(10) DEFAULT b'100')")
tk.MustQuery("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't'").Check(testkit.Rows(
- "def test t bit 1 b'100' YES bit 10 0 bit(10) unsigned select,insert,update,references "))
+ "def test t bit 1 b'100' YES bit 10 0 bit(10) select,insert,update,references "))
tk.MustExec("drop table if exists t")
tk.MustExec("set time_zone='+08:00'")
@@ -165,6 +165,11 @@ func TestColumnsTables(t *testing.T) {
tk.MustExec("drop table if exists t")
tk.MustExec("create table t (a bit DEFAULT (rand()))")
tk.MustQuery("select column_default from information_schema.columns where TABLE_NAME='t' and TABLE_SCHEMA='test';").Check(testkit.Rows("rand()"))
+
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("CREATE TABLE t (`COL3` bit(1) NOT NULL,b year) ;")
+ tk.MustQuery("select column_type from information_schema.columns where TABLE_SCHEMA = 'test' and TABLE_NAME = 't';").
+ Check(testkit.Rows("bit(1)", "year(4)"))
}
func TestEngines(t *testing.T) {
@@ -249,7 +254,7 @@ func TestDDLJobs(t *testing.T) {
tk.MustExec("create table tt (a int);")
tk.MustExec("alter table tt add index t(a), add column b int")
tk.MustQuery("select db_name, table_name, job_type from information_schema.DDL_JOBS limit 3").Check(
- testkit.Rows("test_ddl_jobs tt alter table multi-schema change", "test_ddl_jobs tt add index /* subjob */", "test_ddl_jobs tt add column /* subjob */"))
+ testkit.Rows("test_ddl_jobs tt alter table multi-schema change", "test_ddl_jobs tt add index /* subjob */ /* txn-merge */", "test_ddl_jobs tt add column /* subjob */"))
}
func TestKeyColumnUsage(t *testing.T) {
diff --git a/executor/insert.go b/executor/insert.go
index 9b286297351b9..1a4eb27d3c6f6 100644
--- a/executor/insert.go
+++ b/executor/insert.go
@@ -70,7 +70,6 @@ func (e *InsertExec) exec(ctx context.Context, rows [][]types.Datum) error {
return err
}
setOptionForTopSQL(sessVars.StmtCtx, txn)
- txnSize := txn.Size()
sessVars.StmtCtx.AddRecordRows(uint64(len(rows)))
// If you use the IGNORE keyword, duplicate-key error that occurs while executing the INSERT statement are ignored.
// For example, without IGNORE, a row that duplicates an existing UNIQUE index or PRIMARY KEY value in
@@ -113,7 +112,6 @@ func (e *InsertExec) exec(ctx context.Context, rows [][]types.Datum) error {
e.stats.CheckInsertTime += time.Since(start)
}
}
- e.memTracker.Consume(int64(txn.Size() - txnSize))
return nil
}
@@ -160,6 +158,12 @@ func prefetchConflictedOldRows(ctx context.Context, txn kv.Transaction, rows []t
for _, r := range rows {
for _, uk := range r.uniqueKeys {
if val, found := values[string(uk.newKey)]; found {
+ if tablecodec.IsTempIndexKey(uk.newKey) {
+ if tablecodec.CheckTempIndexValueIsDelete(val) {
+ continue
+ }
+ val = tablecodec.DecodeTempIndexOriginValue(val)
+ }
handle, err := tablecodec.DecodeHandleInUniqueIndexValue(val, uk.commonHandle)
if err != nil {
return err
@@ -264,6 +268,14 @@ func (e *InsertExec) batchUpdateDupRows(ctx context.Context, newRows [][]types.D
}
return err
}
+ // Since the temp index stores deleted key with marked 'deleteu' for unique key at the end
+ // of value, So if return a key we check and skip deleted key.
+ if tablecodec.IsTempIndexKey(uk.newKey) {
+ if tablecodec.CheckTempIndexValueIsDelete(val) {
+ continue
+ }
+ val = tablecodec.DecodeTempIndexOriginValue(val)
+ }
handle, err := tablecodec.DecodeHandleInUniqueIndexValue(val, uk.commonHandle)
if err != nil {
return err
@@ -329,9 +341,10 @@ func (e *InsertExec) Next(ctx context.Context, req *chunk.Chunk) error {
// Close implements the Executor Close interface.
func (e *InsertExec) Close() error {
+ if e.runtimeStats != nil && e.stats != nil {
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
+ }
defer e.memTracker.ReplaceBytesUsed(0)
- e.ctx.GetSessionVars().CurrInsertValues = chunk.Row{}
- e.ctx.GetSessionVars().CurrInsertBatchExtraCols = e.ctx.GetSessionVars().CurrInsertBatchExtraCols[0:0:0]
e.setMessage()
if e.SelectExec != nil {
return e.SelectExec.Close()
diff --git a/executor/insert_common.go b/executor/insert_common.go
index 5bb7feb2441da..862c82a88da90 100644
--- a/executor/insert_common.go
+++ b/executor/insert_common.go
@@ -32,6 +32,7 @@ import (
"github.com/pingcap/tidb/parser/ast"
"github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/parser/mysql"
+ "github.com/pingcap/tidb/planner/core"
"github.com/pingcap/tidb/sessionctx"
"github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/sessiontxn"
@@ -388,7 +389,7 @@ func (e *InsertValues) evalRow(ctx context.Context, list []expression.Expression
e.evalBuffer.SetDatum(offset, val1)
}
// Row may lack of generated column, autoIncrement column, empty column here.
- return e.fillRow(ctx, row, hasValue)
+ return e.fillRow(ctx, row, hasValue, rowIdx)
}
var emptyRow chunk.Row
@@ -422,7 +423,7 @@ func (e *InsertValues) fastEvalRow(ctx context.Context, list []expression.Expres
offset := e.insertColumns[i].Offset
row[offset], hasValue[offset] = val1, true
}
- return e.fillRow(ctx, row, hasValue)
+ return e.fillRow(ctx, row, hasValue, rowIdx)
}
// setValueForRefColumn set some default values for the row to eval the row value with other columns,
@@ -562,7 +563,7 @@ func (e *InsertValues) getRow(ctx context.Context, vals []types.Datum) ([]types.
hasValue[offset] = true
}
- return e.fillRow(ctx, row, hasValue)
+ return e.fillRow(ctx, row, hasValue, 0)
}
// getColDefaultValue gets the column default value.
@@ -647,7 +648,7 @@ func (e *InsertValues) fillColValue(ctx context.Context, datum types.Datum, idx
// `insert|replace values` can guarantee consecutive autoID in a batch.
// Other statements like `insert select from` don't guarantee consecutive autoID.
// https://dev.mysql.com/doc/refman/8.0/en/innodb-auto-increment-handling.html
-func (e *InsertValues) fillRow(ctx context.Context, row []types.Datum, hasValue []bool) ([]types.Datum, error) {
+func (e *InsertValues) fillRow(ctx context.Context, row []types.Datum, hasValue []bool, rowIdx int) ([]types.Datum, error) {
gCols := make([]*table.Column, 0)
tCols := e.Table.Cols()
if e.hasExtraHandle {
@@ -693,6 +694,9 @@ func (e *InsertValues) fillRow(ctx context.Context, row []types.Datum, hasValue
for i, gCol := range gCols {
colIdx := gCol.ColumnInfo.Offset
val, err := e.GenExprs[i].Eval(chunk.MutRowFromDatums(row).ToRow())
+ if err != nil && gCol.FieldType.IsArray() {
+ return nil, completeError(tbl, gCol.Offset, rowIdx, err)
+ }
if e.ctx.GetSessionVars().StmtCtx.HandleTruncate(err) != nil {
return nil, err
}
@@ -708,6 +712,29 @@ func (e *InsertValues) fillRow(ctx context.Context, row []types.Datum, hasValue
return row, nil
}
+func completeError(tbl *model.TableInfo, offset int, rowIdx int, err error) error {
+ name := "expression_index"
+ for _, idx := range tbl.Indices {
+ for _, column := range idx.Columns {
+ if column.Offset == offset {
+ name = idx.Name.O
+ break
+ }
+ }
+ }
+
+ if expression.ErrInvalidJSONForFuncIndex.Equal(err) {
+ return expression.ErrInvalidJSONForFuncIndex.GenWithStackByArgs(name)
+ }
+ if types.ErrOverflow.Equal(err) {
+ return expression.ErrDataOutOfRangeFuncIndex.GenWithStackByArgs(name, rowIdx+1)
+ }
+ if types.ErrDataTooLong.Equal(err) {
+ return expression.ErrFuncIndexDataIsTooLong.GenWithStackByArgs(name)
+ }
+ return err
+}
+
// isAutoNull can help judge whether a datum is AutoIncrement Null quickly.
// This used to help lazyFillAutoIncrement to find consecutive N datum backwards for batch autoID alloc.
func (e *InsertValues) isAutoNull(ctx context.Context, d types.Datum, col *table.Column) bool {
@@ -745,7 +772,16 @@ func setDatumAutoIDAndCast(ctx sessionctx.Context, d *types.Datum, id int64, col
var err error
*d, err = table.CastValue(ctx, *d, col.ToInfo(), false, false)
if err == nil && d.GetInt64() < id {
- // Auto ID is out of range, the truncated ID is possible to duplicate with an existing ID.
+ // Auto ID is out of range.
+ sc := ctx.GetSessionVars().StmtCtx
+ insertPlan, ok := sc.GetPlan().(*core.Insert)
+ if ok && sc.TruncateAsWarning && len(insertPlan.OnDuplicate) > 0 {
+ // Fix issue #38950: AUTO_INCREMENT is incompatible with mysql
+ // An auto id out of range error occurs in `insert ignore into ... on duplicate ...`.
+ // We should allow the SQL to be executed successfully.
+ return nil
+ }
+ // The truncated ID is possible to duplicate with an existing ID.
// To prevent updating unrelated rows in the REPLACE statement, it is better to throw an error.
return autoid.ErrAutoincReadFailed
}
@@ -778,7 +814,8 @@ func (e *InsertValues) lazyAdjustAutoIncrementDatum(ctx context.Context, rows []
}
// Use the value if it's not null and not 0.
if recordID != 0 {
- err = e.Table.Allocators(e.ctx).Get(autoid.RowIDAllocType).Rebase(ctx, recordID, true)
+ alloc := e.Table.Allocators(e.ctx).Get(autoid.AutoIncrementType)
+ err = alloc.Rebase(ctx, recordID, true)
if err != nil {
return nil, err
}
@@ -871,7 +908,7 @@ func (e *InsertValues) adjustAutoIncrementDatum(ctx context.Context, d types.Dat
}
// Use the value if it's not null and not 0.
if recordID != 0 {
- err = e.Table.Allocators(e.ctx).Get(autoid.RowIDAllocType).Rebase(ctx, recordID, true)
+ err = e.Table.Allocators(e.ctx).Get(autoid.AutoIncrementType).Rebase(ctx, recordID, true)
if err != nil {
return types.Datum{}, err
}
@@ -1007,7 +1044,7 @@ func (e *InsertValues) allocAutoRandomID(ctx context.Context, fieldType *types.F
if err != nil {
return 0, err
}
- currentShard := e.ctx.GetSessionVars().TxnCtx.GetCurrentShard(1)
+ currentShard := e.ctx.GetSessionVars().GetCurrentShard(1)
return shardFmt.Compose(currentShard, autoRandomID), nil
}
@@ -1091,12 +1128,7 @@ func (e *InsertValues) collectRuntimeStatsEnabled() bool {
BasicRuntimeStats: e.runtimeStats,
SnapshotRuntimeStats: snapshotStats,
AllocatorRuntimeStats: autoid.NewAllocatorRuntimeStats(),
- FKCheckStats: &FKCheckRuntimeStats{},
- }
- for _, fkc := range e.fkChecks {
- fkc.stats = e.stats.FKCheckStats
}
- e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
}
return true
}
@@ -1299,7 +1331,6 @@ type InsertRuntimeStat struct {
CheckInsertTime time.Duration
Prefetch time.Duration
FKCheckTime time.Duration
- FKCheckStats *FKCheckRuntimeStats
}
func (e *InsertRuntimeStat) String() string {
@@ -1341,10 +1372,8 @@ func (e *InsertRuntimeStat) String() string {
execdetails.FormatDuration(e.CheckInsertTime),
execdetails.FormatDuration(e.CheckInsertTime-e.Prefetch),
execdetails.FormatDuration(e.Prefetch)))
- if e.FKCheckStats != nil && e.FKCheckStats.Keys > 0 {
- buf.WriteString(fmt.Sprintf(", fk_check: %v, fk_num: %v",
- execdetails.FormatDuration(e.FKCheckTime),
- e.FKCheckStats.Keys))
+ if e.FKCheckTime > 0 {
+ buf.WriteString(fmt.Sprintf(", fk_check: %v", execdetails.FormatDuration(e.FKCheckTime)))
}
if e.SnapshotRuntimeStats != nil {
if rpc := e.SnapshotRuntimeStats.String(); len(rpc) > 0 {
@@ -1376,10 +1405,6 @@ func (e *InsertRuntimeStat) Clone() execdetails.RuntimeStats {
if e.AllocatorRuntimeStats != nil {
newRs.AllocatorRuntimeStats = e.AllocatorRuntimeStats.Clone()
}
- if e.FKCheckStats != nil {
- fkCheckStats := *e.FKCheckStats
- newRs.FKCheckStats = &fkCheckStats
- }
return newRs
}
diff --git a/executor/insert_test.go b/executor/insert_test.go
index 53d0c62cc9776..acd8d6736b219 100644
--- a/executor/insert_test.go
+++ b/executor/insert_test.go
@@ -419,6 +419,34 @@ func TestInsertValueForCastDecimalField(t *testing.T) {
tk.MustQuery(`select cast(a as decimal) from t1;`).Check(testkit.Rows(`9999999999`))
}
+func TestInsertForMultiValuedIndex(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec(`drop table if exists t1;`)
+ tk.MustExec(`create table t1(a json, b int, unique index idx((cast(a as signed array))));`)
+ tk.MustExec(`insert into t1 values ('[1,11]', 1);`)
+ tk.MustExec(`insert into t1 values ('[2, 22]', 2);`)
+ tk.MustQuery(`select * from t1;`).Check(testkit.Rows(`[1, 11] 1`, `[2, 22] 2`))
+ tk.MustGetErrMsg(`insert into t1 values ('[2, 222]', 2);`, "[kv:1062]Duplicate entry '2' for key 't1.idx'")
+ tk.MustExec(`replace into t1 values ('[1, 10]', 10)`)
+ tk.MustQuery(`select * from t1;`).Check(testkit.Rows(`[2, 22] 2`, `[1, 10] 10`))
+ tk.MustExec(`replace into t1 values ('[1, 2]', 1)`)
+ tk.MustQuery(`select * from t1;`).Check(testkit.Rows(`[1, 2] 1`))
+ tk.MustExec(`replace into t1 values ('[1, 11]', 1)`)
+ tk.MustExec(`insert into t1 values ('[2, 22]', 2);`)
+ tk.MustQuery(`select * from t1;`).Check(testkit.Rows(`[1, 11] 1`, `[2, 22] 2`))
+ tk.MustExec(`insert ignore into t1 values ('[1]', 2);`)
+ tk.MustQuery(`select * from t1;`).Check(testkit.Rows(`[1, 11] 1`, `[2, 22] 2`))
+ tk.MustExec(`insert ignore into t1 values ('[1, 2]', 2);`)
+ tk.MustQuery(`select * from t1;`).Check(testkit.Rows(`[1, 11] 1`, `[2, 22] 2`))
+ tk.MustExec(`insert into t1 values ('[2]', 2) on duplicate key update b = 10;`)
+ tk.MustQuery(`select * from t1;`).Check(testkit.Rows(`[1, 11] 1`, `[2, 22] 10`))
+ tk.MustGetErrMsg(`insert into t1 values ('[2, 1]', 2) on duplicate key update a = '[1,2]';`, "[kv:1062]Duplicate entry '[1, 2]' for key 't1.idx'")
+ tk.MustGetErrMsg(`insert into t1 values ('[1,2]', 2) on duplicate key update a = '[1,2]';`, "[kv:1062]Duplicate entry '[1, 2]' for key 't1.idx'")
+ tk.MustGetErrMsg(`insert into t1 values ('[11, 22]', 2) on duplicate key update a = '[1,2]';`, "[kv:1062]Duplicate entry '[1, 2]' for key 't1.idx'")
+}
+
func TestInsertDateTimeWithTimeZone(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
@@ -589,435 +617,6 @@ func TestAllowInvalidDates(t *testing.T) {
runWithMode("ALLOW_INVALID_DATES")
}
-func TestInsertWithAutoidSchema(t *testing.T) {
- store := testkit.CreateMockStore(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec(`use test`)
- tk.MustExec(`create table t1(id int primary key auto_increment, n int);`)
- tk.MustExec(`create table t2(id int unsigned primary key auto_increment, n int);`)
- tk.MustExec(`create table t3(id tinyint primary key auto_increment, n int);`)
- tk.MustExec(`create table t4(id int primary key, n float auto_increment, key I_n(n));`)
- tk.MustExec(`create table t5(id int primary key, n float unsigned auto_increment, key I_n(n));`)
- tk.MustExec(`create table t6(id int primary key, n double auto_increment, key I_n(n));`)
- tk.MustExec(`create table t7(id int primary key, n double unsigned auto_increment, key I_n(n));`)
- // test for inserting multiple values
- tk.MustExec(`create table t8(id int primary key auto_increment, n int);`)
-
- tests := []struct {
- insert string
- query string
- result [][]interface{}
- }{
- {
- `insert into t1(id, n) values(1, 1)`,
- `select * from t1 where id = 1`,
- testkit.Rows(`1 1`),
- },
- {
- `insert into t1(n) values(2)`,
- `select * from t1 where id = 2`,
- testkit.Rows(`2 2`),
- },
- {
- `insert into t1(n) values(3)`,
- `select * from t1 where id = 3`,
- testkit.Rows(`3 3`),
- },
- {
- `insert into t1(id, n) values(-1, 4)`,
- `select * from t1 where id = -1`,
- testkit.Rows(`-1 4`),
- },
- {
- `insert into t1(n) values(5)`,
- `select * from t1 where id = 4`,
- testkit.Rows(`4 5`),
- },
- {
- `insert into t1(id, n) values('5', 6)`,
- `select * from t1 where id = 5`,
- testkit.Rows(`5 6`),
- },
- {
- `insert into t1(n) values(7)`,
- `select * from t1 where id = 6`,
- testkit.Rows(`6 7`),
- },
- {
- `insert into t1(id, n) values(7.4, 8)`,
- `select * from t1 where id = 7`,
- testkit.Rows(`7 8`),
- },
- {
- `insert into t1(id, n) values(7.5, 9)`,
- `select * from t1 where id = 8`,
- testkit.Rows(`8 9`),
- },
- {
- `insert into t1(n) values(9)`,
- `select * from t1 where id = 9`,
- testkit.Rows(`9 9`),
- },
- // test last insert id
- {
- `insert into t1 values(3000, -1), (null, -2)`,
- `select * from t1 where id = 3000`,
- testkit.Rows(`3000 -1`),
- },
- {
- `;`,
- `select * from t1 where id = 3001`,
- testkit.Rows(`3001 -2`),
- },
- {
- `;`,
- `select last_insert_id()`,
- testkit.Rows(`3001`),
- },
- {
- `insert into t2(id, n) values(1, 1)`,
- `select * from t2 where id = 1`,
- testkit.Rows(`1 1`),
- },
- {
- `insert into t2(n) values(2)`,
- `select * from t2 where id = 2`,
- testkit.Rows(`2 2`),
- },
- {
- `insert into t2(n) values(3)`,
- `select * from t2 where id = 3`,
- testkit.Rows(`3 3`),
- },
- {
- `insert into t3(id, n) values(1, 1)`,
- `select * from t3 where id = 1`,
- testkit.Rows(`1 1`),
- },
- {
- `insert into t3(n) values(2)`,
- `select * from t3 where id = 2`,
- testkit.Rows(`2 2`),
- },
- {
- `insert into t3(n) values(3)`,
- `select * from t3 where id = 3`,
- testkit.Rows(`3 3`),
- },
- {
- `insert into t3(id, n) values(-1, 4)`,
- `select * from t3 where id = -1`,
- testkit.Rows(`-1 4`),
- },
- {
- `insert into t3(n) values(5)`,
- `select * from t3 where id = 4`,
- testkit.Rows(`4 5`),
- },
- {
- `insert into t4(id, n) values(1, 1)`,
- `select * from t4 where id = 1`,
- testkit.Rows(`1 1`),
- },
- {
- `insert into t4(id) values(2)`,
- `select * from t4 where id = 2`,
- testkit.Rows(`2 2`),
- },
- {
- `insert into t4(id, n) values(3, -1)`,
- `select * from t4 where id = 3`,
- testkit.Rows(`3 -1`),
- },
- {
- `insert into t4(id) values(4)`,
- `select * from t4 where id = 4`,
- testkit.Rows(`4 3`),
- },
- {
- `insert into t4(id, n) values(5, 5.5)`,
- `select * from t4 where id = 5`,
- testkit.Rows(`5 5.5`),
- },
- {
- `insert into t4(id) values(6)`,
- `select * from t4 where id = 6`,
- testkit.Rows(`6 7`),
- },
- {
- `insert into t4(id, n) values(7, '7.7')`,
- `select * from t4 where id = 7`,
- testkit.Rows(`7 7.7`),
- },
- {
- `insert into t4(id) values(8)`,
- `select * from t4 where id = 8`,
- testkit.Rows(`8 9`),
- },
- {
- `insert into t4(id, n) values(9, 10.4)`,
- `select * from t4 where id = 9`,
- testkit.Rows(`9 10.4`),
- },
- {
- `insert into t4(id) values(10)`,
- `select * from t4 where id = 10`,
- testkit.Rows(`10 11`),
- },
- {
- `insert into t5(id, n) values(1, 1)`,
- `select * from t5 where id = 1`,
- testkit.Rows(`1 1`),
- },
- {
- `insert into t5(id) values(2)`,
- `select * from t5 where id = 2`,
- testkit.Rows(`2 2`),
- },
- {
- `insert into t5(id) values(3)`,
- `select * from t5 where id = 3`,
- testkit.Rows(`3 3`),
- },
- {
- `insert into t6(id, n) values(1, 1)`,
- `select * from t6 where id = 1`,
- testkit.Rows(`1 1`),
- },
- {
- `insert into t6(id) values(2)`,
- `select * from t6 where id = 2`,
- testkit.Rows(`2 2`),
- },
- {
- `insert into t6(id, n) values(3, -1)`,
- `select * from t6 where id = 3`,
- testkit.Rows(`3 -1`),
- },
- {
- `insert into t6(id) values(4)`,
- `select * from t6 where id = 4`,
- testkit.Rows(`4 3`),
- },
- {
- `insert into t6(id, n) values(5, 5.5)`,
- `select * from t6 where id = 5`,
- testkit.Rows(`5 5.5`),
- },
- {
- `insert into t6(id) values(6)`,
- `select * from t6 where id = 6`,
- testkit.Rows(`6 7`),
- },
- {
- `insert into t6(id, n) values(7, '7.7')`,
- `select * from t4 where id = 7`,
- testkit.Rows(`7 7.7`),
- },
- {
- `insert into t6(id) values(8)`,
- `select * from t4 where id = 8`,
- testkit.Rows(`8 9`),
- },
- {
- `insert into t6(id, n) values(9, 10.4)`,
- `select * from t6 where id = 9`,
- testkit.Rows(`9 10.4`),
- },
- {
- `insert into t6(id) values(10)`,
- `select * from t6 where id = 10`,
- testkit.Rows(`10 11`),
- },
- {
- `insert into t7(id, n) values(1, 1)`,
- `select * from t7 where id = 1`,
- testkit.Rows(`1 1`),
- },
- {
- `insert into t7(id) values(2)`,
- `select * from t7 where id = 2`,
- testkit.Rows(`2 2`),
- },
- {
- `insert into t7(id) values(3)`,
- `select * from t7 where id = 3`,
- testkit.Rows(`3 3`),
- },
-
- // the following is test for insert multiple values.
- {
- `insert into t8(n) values(1),(2)`,
- `select * from t8 where id = 1`,
- testkit.Rows(`1 1`),
- },
- {
- `;`,
- `select * from t8 where id = 2`,
- testkit.Rows(`2 2`),
- },
- {
- `;`,
- `select last_insert_id();`,
- testkit.Rows(`1`),
- },
- // test user rebase and auto alloc mixture.
- {
- `insert into t8 values(null, 3),(-1, -1),(null,4),(null, 5)`,
- `select * from t8 where id = 3`,
- testkit.Rows(`3 3`),
- },
- // -1 won't rebase allocator here cause -1 < base.
- {
- `;`,
- `select * from t8 where id = -1`,
- testkit.Rows(`-1 -1`),
- },
- {
- `;`,
- `select * from t8 where id = 4`,
- testkit.Rows(`4 4`),
- },
- {
- `;`,
- `select * from t8 where id = 5`,
- testkit.Rows(`5 5`),
- },
- {
- `;`,
- `select last_insert_id();`,
- testkit.Rows(`3`),
- },
- {
- `insert into t8 values(null, 6),(10, 7),(null, 8)`,
- `select * from t8 where id = 6`,
- testkit.Rows(`6 6`),
- },
- // 10 will rebase allocator here.
- {
- `;`,
- `select * from t8 where id = 10`,
- testkit.Rows(`10 7`),
- },
- {
- `;`,
- `select * from t8 where id = 11`,
- testkit.Rows(`11 8`),
- },
- {
- `;`,
- `select last_insert_id()`,
- testkit.Rows(`6`),
- },
- // fix bug for last_insert_id should be first allocated id in insert rows (skip the rebase id).
- {
- `insert into t8 values(100, 9),(null,10),(null,11)`,
- `select * from t8 where id = 100`,
- testkit.Rows(`100 9`),
- },
- {
- `;`,
- `select * from t8 where id = 101`,
- testkit.Rows(`101 10`),
- },
- {
- `;`,
- `select * from t8 where id = 102`,
- testkit.Rows(`102 11`),
- },
- {
- `;`,
- `select last_insert_id()`,
- testkit.Rows(`101`),
- },
- // test with sql_mode: NO_AUTO_VALUE_ON_ZERO.
- {
- `;`,
- `select @@sql_mode`,
- testkit.Rows(`ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION`),
- },
- {
- `;`,
- "set session sql_mode = `ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO`",
- nil,
- },
- {
- `insert into t8 values (0, 12), (null, 13)`,
- `select * from t8 where id = 0`,
- testkit.Rows(`0 12`),
- },
- {
- `;`,
- `select * from t8 where id = 103`,
- testkit.Rows(`103 13`),
- },
- {
- `;`,
- `select last_insert_id()`,
- testkit.Rows(`103`),
- },
- // test without sql_mode: NO_AUTO_VALUE_ON_ZERO.
- {
- `;`,
- "set session sql_mode = `ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION`",
- nil,
- },
- // value 0 will be substitute by autoid.
- {
- `insert into t8 values (0, 14), (null, 15)`,
- `select * from t8 where id = 104`,
- testkit.Rows(`104 14`),
- },
- {
- `;`,
- `select * from t8 where id = 105`,
- testkit.Rows(`105 15`),
- },
- {
- `;`,
- `select last_insert_id()`,
- testkit.Rows(`104`),
- },
- // last test : auto increment allocation can find in retryInfo.
- {
- `retry : insert into t8 values (null, 16), (null, 17)`,
- `select * from t8 where id = 1000`,
- testkit.Rows(`1000 16`),
- },
- {
- `;`,
- `select * from t8 where id = 1001`,
- testkit.Rows(`1001 17`),
- },
- {
- `;`,
- `select last_insert_id()`,
- // this insert doesn't has the last_insert_id, should be same as the last insert case.
- testkit.Rows(`104`),
- },
- }
-
- for _, tt := range tests {
- if strings.HasPrefix(tt.insert, "retry : ") {
- // it's the last retry insert case, change the sessionVars.
- retryInfo := &variable.RetryInfo{Retrying: true}
- retryInfo.AddAutoIncrementID(1000)
- retryInfo.AddAutoIncrementID(1001)
- tk.Session().GetSessionVars().RetryInfo = retryInfo
- tk.MustExec(tt.insert[8:])
- tk.Session().GetSessionVars().RetryInfo = &variable.RetryInfo{}
- } else {
- tk.MustExec(tt.insert)
- }
- if tt.query == "set session sql_mode = `ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO`" ||
- tt.query == "set session sql_mode = `ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION`" {
- tk.MustExec(tt.query)
- } else {
- tk.MustQuery(tt.query).Check(tt.result)
- }
- }
-}
-
func TestPartitionInsertOnDuplicate(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
@@ -1139,75 +738,6 @@ func TestInsertFloatOverflow(t *testing.T) {
tk.MustExec("drop table if exists t,t1")
}
-// TestAutoIDIncrementAndOffset There is a potential issue in MySQL: when the value of auto_increment_offset is greater
-// than that of auto_increment_increment, the value of auto_increment_offset is ignored
-// (https://dev.mysql.com/doc/refman/8.0/en/replication-options-master.html#sysvar_auto_increment_increment),
-// This issue is a flaw of the implementation of MySQL and it doesn't exist in TiDB.
-func TestAutoIDIncrementAndOffset(t *testing.T) {
- store := testkit.CreateMockStore(t)
- tk := testkit.NewTestKit(t, store)
- tk.MustExec(`use test`)
- // Test for offset is larger than increment.
- tk.Session().GetSessionVars().AutoIncrementIncrement = 5
- tk.Session().GetSessionVars().AutoIncrementOffset = 10
- tk.MustExec(`create table io (a int key auto_increment)`)
- tk.MustExec(`insert into io values (null),(null),(null)`)
- tk.MustQuery(`select * from io`).Check(testkit.Rows("10", "15", "20"))
- tk.MustExec(`drop table io`)
-
- // Test handle is PK.
- tk.MustExec(`create table io (a int key auto_increment)`)
- tk.Session().GetSessionVars().AutoIncrementOffset = 10
- tk.Session().GetSessionVars().AutoIncrementIncrement = 2
- tk.MustExec(`insert into io values (),(),()`)
- tk.MustQuery(`select * from io`).Check(testkit.Rows("10", "12", "14"))
- tk.MustExec(`delete from io`)
-
- // Test reset the increment.
- tk.Session().GetSessionVars().AutoIncrementIncrement = 5
- tk.MustExec(`insert into io values (),(),()`)
- tk.MustQuery(`select * from io`).Check(testkit.Rows("15", "20", "25"))
- tk.MustExec(`delete from io`)
-
- tk.Session().GetSessionVars().AutoIncrementIncrement = 10
- tk.MustExec(`insert into io values (),(),()`)
- tk.MustQuery(`select * from io`).Check(testkit.Rows("30", "40", "50"))
- tk.MustExec(`delete from io`)
-
- tk.Session().GetSessionVars().AutoIncrementIncrement = 5
- tk.MustExec(`insert into io values (),(),()`)
- tk.MustQuery(`select * from io`).Check(testkit.Rows("55", "60", "65"))
- tk.MustExec(`drop table io`)
-
- // Test handle is not PK.
- tk.Session().GetSessionVars().AutoIncrementIncrement = 2
- tk.Session().GetSessionVars().AutoIncrementOffset = 10
- tk.MustExec(`create table io (a int, b int auto_increment, key(b))`)
- tk.MustExec(`insert into io(b) values (null),(null),(null)`)
- // AutoID allocation will take increment and offset into consideration.
- tk.MustQuery(`select b from io`).Check(testkit.Rows("10", "12", "14"))
- // HandleID allocation will ignore the increment and offset.
- tk.MustQuery(`select _tidb_rowid from io`).Check(testkit.Rows("15", "16", "17"))
- tk.MustExec(`delete from io`)
-
- tk.Session().GetSessionVars().AutoIncrementIncrement = 10
- tk.MustExec(`insert into io(b) values (null),(null),(null)`)
- tk.MustQuery(`select b from io`).Check(testkit.Rows("20", "30", "40"))
- tk.MustQuery(`select _tidb_rowid from io`).Check(testkit.Rows("41", "42", "43"))
-
- // Test invalid value.
- tk.Session().GetSessionVars().AutoIncrementIncrement = -1
- tk.Session().GetSessionVars().AutoIncrementOffset = -2
- tk.MustGetErrMsg(`insert into io(b) values (null),(null),(null)`,
- "[autoid:8060]Invalid auto_increment settings: auto_increment_increment: -1, auto_increment_offset: -2, both of them must be in range [1..65535]")
- tk.MustExec(`delete from io`)
-
- tk.Session().GetSessionVars().AutoIncrementIncrement = 65536
- tk.Session().GetSessionVars().AutoIncrementOffset = 65536
- tk.MustGetErrMsg(`insert into io(b) values (null),(null),(null)`,
- "[autoid:8060]Invalid auto_increment settings: auto_increment_increment: 65536, auto_increment_offset: 65536, both of them must be in range [1..65535]")
-}
-
// Fix https://github.com/pingcap/tidb/issues/32601.
func TestTextTooLongError(t *testing.T) {
store := testkit.CreateMockStore(t)
@@ -1393,6 +923,22 @@ func TestInsertErrorMsg(t *testing.T) {
tk.MustExec(`create table t (a int primary key, b datetime, d date)`)
tk.MustContainErrMsg(`insert into t values (1, '2019-02-11 30:00:00', '2019-01-31')`,
"Incorrect datetime value: '2019-02-11 30:00:00' for column 'b' at row 1")
+
+ // test for Issue #35289
+ tk.MustExec("CREATE TABLE t1 (a BINARY(16) PRIMARY KEY);")
+ tk.MustExec(`INSERT INTO t1 VALUES (AES_ENCRYPT('a','a'));`)
+ err := tk.ExecToErr(`INSERT INTO t1 VALUES (AES_ENCRYPT('a','a'));`)
+ require.Error(t, err, `ERROR 1062 (23000): Duplicate entry '{ W]\xA1\x06u\x9D\xBD\xB1\xA3.\xE2\xD9\xA7t' for key 't1.PRIMARY'`)
+
+ tk.MustExec(`INSERT INTO t1 VALUES (AES_ENCRYPT('b','b'));`)
+ err = tk.ExecToErr(`INSERT INTO t1 VALUES (AES_ENCRYPT('b','b'));`)
+ require.Error(t, err, "ERROR 1062 (23000): Duplicate entry '\\x0C\\x1E\\x8DG`\\xEB\\x93 F&BC\\xF0\\xB5\\xF4\\xB7' for key 't1.PRIMARY'")
+
+ tk.MustExec("drop table if exists t1")
+ tk.MustExec("create table t1 (a bit primary key) engine=innodb;")
+ tk.MustExec("insert into t1 values (b'0');")
+ err = tk.ExecToErr(`insert into t1 values (b'0');`)
+ require.Error(t, err, `ERROR 1062 (23000): Duplicate entry '\x00' for key 't1.PRIMARY'`)
}
func TestIssue16366(t *testing.T) {
@@ -1554,8 +1100,7 @@ func TestInsertRuntimeStat(t *testing.T) {
stats.Merge(stats.Clone())
require.Equal(t, "prepare: 6s, check_insert: {total_time: 4s, mem_insert_time: 2s, prefetch: 2s}", stats.String())
stats.FKCheckTime = time.Second
- stats.FKCheckStats = &executor.FKCheckRuntimeStats{Keys: 20}
- require.Equal(t, "prepare: 6s, check_insert: {total_time: 4s, mem_insert_time: 2s, prefetch: 2s, fk_check: 1s, fk_num: 20}", stats.String())
+ require.Equal(t, "prepare: 6s, check_insert: {total_time: 4s, mem_insert_time: 2s, prefetch: 2s, fk_check: 1s}", stats.String())
}
func TestDuplicateEntryMessage(t *testing.T) {
diff --git a/executor/issuetest/BUILD.bazel b/executor/issuetest/BUILD.bazel
new file mode 100644
index 0000000000000..8d930738d2b7c
--- /dev/null
+++ b/executor/issuetest/BUILD.bazel
@@ -0,0 +1,28 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_test")
+
+go_test(
+ name = "issuetest_test",
+ srcs = [
+ "executor_issue_test.go",
+ "main_test.go",
+ ],
+ flaky = True,
+ shard_count = 50,
+ deps = [
+ "//autoid_service",
+ "//config",
+ "//kv",
+ "//meta/autoid",
+ "//parser/auth",
+ "//parser/charset",
+ "//parser/mysql",
+ "//sessionctx/variable",
+ "//statistics",
+ "//testkit",
+ "//util",
+ "@com_github_pingcap_failpoint//:failpoint",
+ "@com_github_stretchr_testify//require",
+ "@com_github_tikv_client_go_v2//tikv",
+ "@org_uber_go_goleak//:goleak",
+ ],
+)
diff --git a/executor/executor_issue_test.go b/executor/issuetest/executor_issue_test.go
similarity index 89%
rename from executor/executor_issue_test.go
rename to executor/issuetest/executor_issue_test.go
index f0b52422c19a2..8dcbf251cdf89 100644
--- a/executor/executor_issue_test.go
+++ b/executor/issuetest/executor_issue_test.go
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package executor_test
+package issuetest_test
import (
"context"
@@ -22,6 +22,7 @@ import (
"testing"
"github.com/pingcap/failpoint"
+ _ "github.com/pingcap/tidb/autoid_service"
"github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/parser/auth"
@@ -133,6 +134,7 @@ func TestIssue24210(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
+ tk.MustExec("set tidb_cost_model_version=1")
// for ProjectionExec
require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/executor/mockProjectionExecBaseExecutorOpenReturnedError", `return(true)`))
@@ -531,6 +533,7 @@ func TestFix31537(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
+ tk.MustExec("set @@foreign_key_checks=0")
tk.MustExec(`CREATE TABLE trade (
t_id bigint(16) NOT NULL AUTO_INCREMENT,
t_dts datetime NOT NULL,
@@ -579,6 +582,7 @@ func TestIssue30382(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
+ tk.MustExec("set tidb_cost_model_version=2")
tk.MustExec("set @@session.tidb_enable_list_partition = ON;")
tk.MustExec("drop table if exists t1, t2;")
tk.MustExec("create table t1 (c_int int, c_str varchar(40), c_decimal decimal(12, 6), primary key (c_int) , key(c_str(2)) , key(c_decimal) ) partition by list (c_int) ( partition p0 values IN (1, 5, 9, 13, 17, 21, 25, 29, 33, 37), partition p1 values IN (2, 6, 10, 14, 18, 22, 26, 30, 34, 38), partition p2 values IN (3, 7, 11, 15, 19, 23, 27, 31, 35, 39), partition p3 values IN (4, 8, 12, 16, 20, 24, 28, 32, 36, 40)) ;")
@@ -596,7 +600,7 @@ func TestIssue30382(t *testing.T) {
"SelectLock 6400.00 root for update 0",
"└─HashJoin 6400.00 root CARTESIAN inner join, other cond:or(gt(Column#8, 1), or(ne(test.t1.c_str, Column#7), if(ne(Column#9, 0), NULL, 0)))",
" ├─Selection(Build) 0.80 root ne(Column#10, 0)",
- " │ └─StreamAgg 1.00 root funcs:max(Column#17)->Column#7, funcs:count(distinct Column#18)->Column#8, funcs:sum(Column#19)->Column#9, funcs:count(1)->Column#10",
+ " │ └─HashAgg 1.00 root funcs:max(Column#17)->Column#7, funcs:count(distinct Column#18)->Column#8, funcs:sum(Column#19)->Column#9, funcs:count(1)->Column#10",
" │ └─Projection 3323.33 root test.t2.c_str, test.t2.c_str, cast(isnull(test.t2.c_str), decimal(20,0) BINARY)->Column#19",
" │ └─TableReader 3323.33 root partition:all data:Selection",
" │ └─Selection 3323.33 cop[tikv] lt(test.t2.c_decimal, 5)",
@@ -682,6 +686,9 @@ func TestIssue22231(t *testing.T) {
tk.MustQuery("select cast('2020-05-28 23:59:59 00:00:00' as datetime)").Check(testkit.Rows("2020-05-28 23:59:59"))
tk.MustQuery("show warnings").Check(testkit.Rows("Warning 1292 Truncated incorrect datetime value: '2020-05-28 23:59:59 00:00:00'"))
tk.MustExec("drop table if exists t_issue_22231")
+
+ tk.MustQuery("SELECT CAST(\"1111111111-\" AS DATE);")
+ tk.MustQuery("SHOW WARNINGS").Check(testkit.Rows("Warning 1292 Incorrect datetime value: '1111111111-'"))
}
// TestIssue2612 is related with https://github.com/pingcap/tidb/issues/2612
@@ -1235,3 +1242,100 @@ func TestIssue33214(t *testing.T) {
}
}
}
+
+func TestIssue982(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t;")
+ tk.MustExec("create table t (c int auto_increment, key(c)) auto_id_cache 1;")
+ tk.MustExec("insert into t values();")
+ tk.MustExec("insert into t values();")
+ tk.MustQuery("select * from t;").Check(testkit.Rows("1", "2"))
+}
+
+func TestIssue24627(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ for _, sql := range []string{
+ "create table test(id float primary key clustered AUTO_INCREMENT, col1 int);",
+ "create table test(id float primary key nonclustered AUTO_INCREMENT, col1 int) AUTO_ID_CACHE 1;",
+ } {
+ tk.MustExec("drop table if exists test;")
+ tk.MustExec(sql)
+ tk.MustExec("replace into test(col1) values(1);")
+ tk.MustExec("replace into test(col1) values(2);")
+ tk.MustQuery("select * from test;").Check(testkit.Rows("1 1", "2 2"))
+ tk.MustExec("drop table test")
+ }
+
+ for _, sql := range []string{
+ "create table test2(id double primary key clustered AUTO_INCREMENT, col1 int);",
+ "create table test2(id double primary key nonclustered AUTO_INCREMENT, col1 int) AUTO_ID_CACHE 1;",
+ } {
+ tk.MustExec(sql)
+ tk.MustExec("replace into test2(col1) values(1);")
+ tk.MustExec("insert into test2(col1) values(1);")
+ tk.MustExec("replace into test2(col1) values(1);")
+ tk.MustExec("insert into test2(col1) values(1);")
+ tk.MustExec("replace into test2(col1) values(1);")
+ tk.MustExec("replace into test2(col1) values(1);")
+ tk.MustQuery("select * from test2").Check(testkit.Rows("1 1", "2 1", "3 1", "4 1", "5 1", "6 1"))
+ tk.MustExec("drop table test2")
+ }
+}
+
+func TestIssue39618(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t1;")
+ tk.MustExec(`CREATE TABLE t1 (
+ c_int int(11) NOT NULL,
+ c_str varbinary(40) NOT NULL,
+ c_datetime datetime DEFAULT NULL,
+ c_timestamp timestamp NULL DEFAULT NULL,
+ c_double double DEFAULT NULL,
+ c_decimal decimal(12,6) DEFAULT NULL,
+ c_enum enum('blue','green','red','yellow','white','orange','purple') DEFAULT NULL,
+ PRIMARY KEY (c_int,c_str) /*T![clustered_index] CLUSTERED */,
+ KEY c_int_2 (c_int),
+ KEY c_decimal (c_decimal),
+ KEY c_datetime (c_datetime)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
+PARTITION BY LIST COLUMNS(c_int)
+(PARTITION p0 VALUES IN (1,5,9,13,17,21,25,29,33,37),
+ PARTITION p1 VALUES IN (2,6,10,14,18,22,26,30,34,38),
+ PARTITION p2 VALUES IN (3,7,11,15,19,23,27,31,35,39),
+ PARTITION p3 VALUES IN (4,8,12,16,20,24,28,32,36,40));`)
+ tk.MustExec("INSERT INTO t1 VALUES (3,'bold goldberg','2020-01-07 12:08:19','2020-06-19 08:13:35',0.941002,5.303000,'yellow'),(1,'crazy wescoff','2020-03-24 21:51:02','2020-06-19 08:13:35',47.565275,6.313000,'orange'),(5,'relaxed gagarin','2020-05-20 11:36:26','2020-06-19 08:13:35',38.948617,3.143000,'green'),(9,'gifted vaughan','2020-04-09 16:19:45','2020-06-19 08:13:35',95.922976,8.708000,'yellow'),(2,'focused taussig','2020-05-17 17:58:34','2020-06-19 08:13:35',4.137803,4.902000,'white'),(6,'fervent yonath','2020-05-26 03:55:25','2020-06-19 08:13:35',72.394272,6.491000,'white'),(18,'mystifying bhaskara','2020-02-19 10:41:48','2020-06-19 08:13:35',10.832397,9.707000,'red'),(4,'goofy saha','2020-03-11 13:24:31','2020-06-19 08:13:35',39.007216,2.446000,'blue'),(20,'mystifying bhaskara','2020-04-03 11:33:27','2020-06-19 08:13:35',85.190386,6.787000,'blue');")
+
+ tk.MustExec("DROP TABLE IF EXISTS t2;")
+ tk.MustExec(`CREATE TABLE t2 (
+ c_int int(11) NOT NULL,
+ c_str varbinary(40) NOT NULL,
+ c_datetime datetime DEFAULT NULL,
+ c_timestamp timestamp NULL DEFAULT NULL,
+ c_double double DEFAULT NULL,
+ c_decimal decimal(12,6) DEFAULT NULL,
+ c_enum enum('blue','green','red','yellow','white','orange','purple') DEFAULT NULL,
+ PRIMARY KEY (c_int,c_str) /*T![clustered_index] CLUSTERED */,
+ KEY c_int_2 (c_int),
+ KEY c_decimal (c_decimal),
+ KEY c_datetime (c_datetime)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
+PARTITION BY LIST COLUMNS(c_int)
+(PARTITION p0 VALUES IN (1,5,9,13,17,21,25,29,33,37),
+ PARTITION p1 VALUES IN (2,6,10,14,18,22,26,30,34,38),
+ PARTITION p2 VALUES IN (3,7,11,15,19,23,27,31,35,39),
+ PARTITION p3 VALUES IN (4,8,12,16,20,24,28,32,36,40));
+`)
+
+ tk.MustExec("INSERT INTO t2 VALUES (1,'crazy wescoff','2020-03-24 21:51:02','2020-04-01 12:11:56',47.565275,6.313000,'orange'),(1,'unruffled johnson','2020-06-30 03:42:58','2020-06-14 00:16:50',35.444084,1.090000,'red'),(5,'relaxed gagarin','2020-05-20 11:36:26','2020-02-19 12:25:48',38.948617,3.143000,'green'),(9,'eloquent archimedes','2020-02-16 04:20:21','2020-05-23 15:42:33',32.310878,5.855000,'orange'),(9,'gifted vaughan','2020-04-09 16:19:45','2020-05-15 01:42:16',95.922976,8.708000,'yellow'),(13,'dreamy benz','2020-04-27 17:43:44','2020-03-27 06:33:03',39.539233,4.823000,'red'),(3,'bold goldberg','2020-01-07 12:08:19','2020-03-10 18:37:09',0.941002,5.303000,'yellow'),(3,'youthful yonath','2020-01-12 17:10:39','2020-06-10 15:13:44',66.288511,6.046000,'white'),(7,'upbeat bhabha','2020-04-29 01:17:05','2020-03-11 22:58:43',23.316987,9.026000,'yellow'),(11,'quizzical ritchie','2020-05-16 08:21:36','2020-03-05 19:23:25',75.019379,0.260000,'purple'),(2,'dazzling kepler','2020-04-11 04:38:59','2020-05-06 04:42:32',78.798503,2.274000,'purple'),(2,'focused taussig','2020-05-17 17:58:34','2020-02-25 09:11:03',4.137803,4.902000,'white'),(2,'sharp ptolemy',NULL,'2020-05-17 18:04:19',NULL,5.573000,'purple'),(6,'fervent yonath','2020-05-26 03:55:25','2020-05-06 14:23:44',72.394272,6.491000,'white'),(10,'musing wu','2020-04-03 11:33:27','2020-05-24 06:11:56',85.190386,6.787000,'blue'),(8,'hopeful keller','2020-02-19 10:41:48','2020-04-19 17:10:36',10.832397,9.707000,'red'),(12,'exciting boyd',NULL,'2020-03-28 18:27:23',NULL,9.249000,'blue');")
+
+ tk.MustExec("set tidb_txn_assertion_level=strict;")
+ tk.MustExec("begin")
+ tk.MustExec("delete t1, t2 from t1, t2 where t1.c_enum in ('blue');")
+ tk.MustExec("commit")
+}
diff --git a/executor/issuetest/main_test.go b/executor/issuetest/main_test.go
new file mode 100644
index 0000000000000..daecbf2f06859
--- /dev/null
+++ b/executor/issuetest/main_test.go
@@ -0,0 +1,45 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package issuetest
+
+import (
+ "testing"
+
+ "github.com/pingcap/tidb/config"
+ "github.com/pingcap/tidb/meta/autoid"
+ "github.com/tikv/client-go/v2/tikv"
+ "go.uber.org/goleak"
+)
+
+func TestMain(m *testing.M) {
+ autoid.SetStep(5000)
+ config.UpdateGlobal(func(conf *config.Config) {
+ conf.Instance.SlowThreshold = 30000 // 30s
+ conf.TiKVClient.AsyncCommit.SafeWindow = 0
+ conf.TiKVClient.AsyncCommit.AllowedClockDrift = 0
+ conf.Experimental.AllowsExpressionIndex = true
+ })
+ tikv.EnableFailpoints()
+
+ opts := []goleak.Option{
+ goleak.IgnoreTopFunction("github.com/golang/glog.(*loggingT).flushDaemon"),
+ goleak.IgnoreTopFunction("github.com/lestrrat-go/httprc.runFetchWorker"),
+ goleak.IgnoreTopFunction("go.etcd.io/etcd/client/pkg/v3/logutil.(*MergeLogger).outputLoop"),
+ goleak.IgnoreTopFunction("go.opencensus.io/stats/view.(*worker).start"),
+ goleak.IgnoreTopFunction("gopkg.in/natefinch/lumberjack%2ev2.(*Logger).millRun"),
+ goleak.IgnoreTopFunction("github.com/tikv/client-go/v2/txnkv/transaction.keepAlive"),
+ }
+ goleak.VerifyTestMain(m, opts...)
+}
diff --git a/executor/join.go b/executor/join.go
index 95ecee42c02d4..91533be2259cf 100644
--- a/executor/join.go
+++ b/executor/join.go
@@ -46,8 +46,35 @@ var (
_ Executor = &NestedLoopApplyExec{}
)
+type hashJoinCtx struct {
+ sessCtx sessionctx.Context
+ allocPool chunk.Allocator
+ // concurrency is the number of partition, build and join workers.
+ concurrency uint
+ joinResultCh chan *hashjoinWorkerResult
+ // closeCh add a lock for closing executor.
+ closeCh chan struct{}
+ finished atomic.Bool
+ useOuterToBuild bool
+ isOuterJoin bool
+ isNullEQ []bool
+ buildFinished chan error
+ rowContainer *hashRowContainer
+ joinType plannercore.JoinType
+ outerMatchedStatus []*bitmap.ConcurrentBitmap
+ stats *hashJoinRuntimeStats
+ probeTypes []*types.FieldType
+ buildTypes []*types.FieldType
+ outerFilter expression.CNFExprs
+ isNullAware bool
+ memTracker *memory.Tracker // track memory usage.
+ diskTracker *disk.Tracker // track disk usage.
+}
+
// probeSideTupleFetcher reads tuples from probeSideExec and send them to probeWorkers.
type probeSideTupleFetcher struct {
+ *hashJoinCtx
+
probeSideExec Executor
probeChkResourceCh chan *probeChkResource
probeResultChs []chan *chunk.Chunk
@@ -55,6 +82,11 @@ type probeSideTupleFetcher struct {
}
type probeWorker struct {
+ hashJoinCtx *hashJoinCtx
+ workerID uint
+
+ probeKeyColIdx []int
+ probeNAKeyColIdx []int
// We pre-alloc and reuse the Rows and RowPtrs for each probe goroutine, to avoid allocation frequently
buildSideRows []chunk.Row
buildSideRowPtrs []chunk.RowPtr
@@ -67,51 +99,31 @@ type probeWorker struct {
// for every naaj probe worker, pre-allocate the int slice for store the join column index to check.
needCheckBuildRowPos []int
needCheckProbeRowPos []int
+ probeChkResourceCh chan *probeChkResource
+ joinChkResourceCh chan *chunk.Chunk
+ probeResultCh chan *chunk.Chunk
+}
+
+type buildWorker struct {
+ hashJoinCtx *hashJoinCtx
+ buildSideExec Executor
+ buildKeyColIdx []int
+ buildNAKeyColIdx []int
}
// HashJoinExec implements the hash join algorithm.
type HashJoinExec struct {
baseExecutor
+ *hashJoinCtx
- probeSideTupleFetcher
- probeWorkers []probeWorker
- buildSideExec Executor
- buildSideEstCount float64
- outerFilter expression.CNFExprs
- probeKeys []*expression.Column
- probeNAKeys []*expression.Column
- buildKeys []*expression.Column
- buildNAKeys []*expression.Column
- isNullEQ []bool
- probeTypes []*types.FieldType
- buildTypes []*types.FieldType
+ probeSideTupleFetcher *probeSideTupleFetcher
+ probeWorkers []*probeWorker
+ buildWorker *buildWorker
- // concurrency is the number of partition, build and join workers.
- concurrency uint
- rowContainer *hashRowContainer
- buildFinished chan error
-
- // closeCh add a lock for closing executor.
- closeCh chan struct{}
- worker util.WaitGroupWrapper
- waiter util.WaitGroupWrapper
- joinType plannercore.JoinType
+ workerWg util.WaitGroupWrapper
+ waiterWg util.WaitGroupWrapper
- joinChkResourceCh []chan *chunk.Chunk
- joinResultCh chan *hashjoinWorkerResult
-
- memTracker *memory.Tracker // track memory usage.
- diskTracker *disk.Tracker // track disk usage.
-
- outerMatchedStatus []*bitmap.ConcurrentBitmap
- useOuterToBuild bool
-
- prepared bool
- isOuterJoin bool
-
- finished atomic.Bool
-
- stats *hashJoinRuntimeStats
+ prepared bool
}
// probeChkResource stores the result of the join probe side fetch worker,
@@ -152,14 +164,13 @@ func (e *HashJoinExec) Close() error {
for i := range e.probeSideTupleFetcher.probeResultChs {
channel.Clear(e.probeSideTupleFetcher.probeResultChs[i])
}
- for i := range e.joinChkResourceCh {
- close(e.joinChkResourceCh[i])
- channel.Clear(e.joinChkResourceCh[i])
+ for i := range e.probeWorkers {
+ close(e.probeWorkers[i].joinChkResourceCh)
+ channel.Clear(e.probeWorkers[i].joinChkResourceCh)
}
e.probeSideTupleFetcher.probeChkResourceCh = nil
- e.joinChkResourceCh = nil
terror.Call(e.rowContainer.Close)
- e.waiter.Wait()
+ e.waiterWg.Wait()
}
e.outerMatchedStatus = e.outerMatchedStatus[:0]
for _, w := range e.probeWorkers {
@@ -167,11 +178,15 @@ func (e *HashJoinExec) Close() error {
w.buildSideRowPtrs = nil
w.needCheckBuildRowPos = nil
w.needCheckProbeRowPos = nil
+ w.joinChkResourceCh = nil
}
if e.stats != nil && e.rowContainer != nil {
e.stats.hashStat = *e.rowContainer.stat
}
+ if e.stats != nil {
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
+ }
err := e.baseExecutor.Close()
return err
}
@@ -184,60 +199,53 @@ func (e *HashJoinExec) Open(ctx context.Context) error {
return err
}
e.prepared = false
- e.memTracker = memory.NewTracker(e.id, -1)
- e.memTracker.AttachTo(e.ctx.GetSessionVars().StmtCtx.MemTracker)
+ e.hashJoinCtx.memTracker = memory.NewTracker(e.id, -1)
+ e.hashJoinCtx.memTracker.AttachTo(e.ctx.GetSessionVars().StmtCtx.MemTracker)
e.diskTracker = disk.NewTracker(e.id, -1)
e.diskTracker.AttachTo(e.ctx.GetSessionVars().StmtCtx.DiskTracker)
- e.worker = util.WaitGroupWrapper{}
- e.waiter = util.WaitGroupWrapper{}
+ e.workerWg = util.WaitGroupWrapper{}
+ e.waiterWg = util.WaitGroupWrapper{}
e.closeCh = make(chan struct{})
e.finished.Store(false)
- if e.probeTypes == nil {
- e.probeTypes = retTypes(e.probeSideTupleFetcher.probeSideExec)
- }
- if e.buildTypes == nil {
- e.buildTypes = retTypes(e.buildSideExec)
- }
if e.runtimeStats != nil {
e.stats = &hashJoinRuntimeStats{
concurrent: int(e.concurrency),
}
- e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
}
return nil
}
// fetchProbeSideChunks get chunks from fetches chunks from the big table in a background goroutine
// and sends the chunks to multiple channels which will be read by multiple join workers.
-func (e *HashJoinExec) fetchProbeSideChunks(ctx context.Context) {
+func (fetcher *probeSideTupleFetcher) fetchProbeSideChunks(ctx context.Context, maxChunkSize int) {
hasWaitedForBuild := false
for {
- if e.finished.Load() {
+ if fetcher.finished.Load() {
return
}
var probeSideResource *probeChkResource
var ok bool
select {
- case <-e.closeCh:
+ case <-fetcher.closeCh:
return
- case probeSideResource, ok = <-e.probeSideTupleFetcher.probeChkResourceCh:
+ case probeSideResource, ok = <-fetcher.probeChkResourceCh:
if !ok {
return
}
}
probeSideResult := probeSideResource.chk
- if e.isOuterJoin {
- required := int(atomic.LoadInt64(&e.probeSideTupleFetcher.requiredRows))
- probeSideResult.SetRequiredRows(required, e.maxChunkSize)
+ if fetcher.isOuterJoin {
+ required := int(atomic.LoadInt64(&fetcher.requiredRows))
+ probeSideResult.SetRequiredRows(required, maxChunkSize)
}
- err := Next(ctx, e.probeSideTupleFetcher.probeSideExec, probeSideResult)
+ err := Next(ctx, fetcher.probeSideExec, probeSideResult)
failpoint.Inject("ConsumeRandomPanic", nil)
if err != nil {
- e.joinResultCh <- &hashjoinWorkerResult{
+ fetcher.joinResultCh <- &hashjoinWorkerResult{
err: err,
}
return
@@ -248,23 +256,18 @@ func (e *HashJoinExec) fetchProbeSideChunks(ctx context.Context) {
probeSideResult.Reset()
}
})
- if probeSideResult.NumRows() == 0 && !e.useOuterToBuild {
- e.finished.Store(true)
+ if probeSideResult.NumRows() == 0 && !fetcher.useOuterToBuild {
+ fetcher.finished.Store(true)
}
- emptyBuild, buildErr := e.wait4BuildSide()
+ emptyBuild, buildErr := fetcher.wait4BuildSide()
if buildErr != nil {
- e.joinResultCh <- &hashjoinWorkerResult{
+ fetcher.joinResultCh <- &hashjoinWorkerResult{
err: buildErr,
}
return
} else if emptyBuild {
return
}
- // after building is finished. the hash null bucket slice is allocated and determined.
- // copy it for multi probe worker.
- for _, w := range e.probeWorkers {
- w.rowContainerForProbe.hashNANullBucket = e.rowContainer.hashNANullBucket
- }
hasWaitedForBuild = true
}
@@ -276,16 +279,16 @@ func (e *HashJoinExec) fetchProbeSideChunks(ctx context.Context) {
}
}
-func (e *HashJoinExec) wait4BuildSide() (emptyBuild bool, err error) {
+func (fetcher *probeSideTupleFetcher) wait4BuildSide() (emptyBuild bool, err error) {
select {
- case <-e.closeCh:
+ case <-fetcher.closeCh:
return true, nil
- case err := <-e.buildFinished:
+ case err := <-fetcher.buildFinished:
if err != nil {
return false, err
}
}
- if e.rowContainer.Len() == uint64(0) && (e.joinType == plannercore.InnerJoin || e.joinType == plannercore.SemiJoin) {
+ if fetcher.rowContainer.Len() == uint64(0) && (fetcher.joinType == plannercore.InnerJoin || fetcher.joinType == plannercore.SemiJoin) {
return true, nil
}
return false, nil
@@ -293,7 +296,7 @@ func (e *HashJoinExec) wait4BuildSide() (emptyBuild bool, err error) {
// fetchBuildSideRows fetches all rows from build side executor, and append them
// to e.buildSideResult.
-func (e *HashJoinExec) fetchBuildSideRows(ctx context.Context, chkCh chan<- *chunk.Chunk, errCh chan<- error, doneCh <-chan struct{}) {
+func (w *buildWorker) fetchBuildSideRows(ctx context.Context, chkCh chan<- *chunk.Chunk, errCh chan<- error, doneCh <-chan struct{}) {
defer close(chkCh)
var err error
failpoint.Inject("issue30289", func(val failpoint.Value) {
@@ -303,12 +306,13 @@ func (e *HashJoinExec) fetchBuildSideRows(ctx context.Context, chkCh chan<- *chu
return
}
})
+ sessVars := w.hashJoinCtx.sessCtx.GetSessionVars()
for {
- if e.finished.Load() {
+ if w.hashJoinCtx.finished.Load() {
return
}
- chk := e.ctx.GetSessionVars().GetNewChunkWithCapacity(e.buildSideExec.base().retFieldTypes, e.ctx.GetSessionVars().MaxChunkSize, e.ctx.GetSessionVars().MaxChunkSize, e.AllocPool)
- err = Next(ctx, e.buildSideExec, chk)
+ chk := sessVars.GetNewChunkWithCapacity(w.buildSideExec.base().retFieldTypes, sessVars.MaxChunkSize, sessVars.MaxChunkSize, w.hashJoinCtx.allocPool)
+ err = Next(ctx, w.buildSideExec, chk)
if err != nil {
errCh <- errors.Trace(err)
return
@@ -321,7 +325,7 @@ func (e *HashJoinExec) fetchBuildSideRows(ctx context.Context, chkCh chan<- *chu
select {
case <-doneCh:
return
- case <-e.closeCh:
+ case <-w.hashJoinCtx.closeCh:
return
case chkCh <- chk:
}
@@ -329,12 +333,18 @@ func (e *HashJoinExec) fetchBuildSideRows(ctx context.Context, chkCh chan<- *chu
}
func (e *HashJoinExec) initializeForProbe() {
+ // e.joinResultCh is for transmitting the join result chunks to the main
+ // thread.
+ e.joinResultCh = make(chan *hashjoinWorkerResult, e.concurrency+1)
+
+ e.probeSideTupleFetcher.hashJoinCtx = e.hashJoinCtx
// e.probeSideTupleFetcher.probeResultChs is for transmitting the chunks which store the data of
// probeSideExec, it'll be written by probe side worker goroutine, and read by join
// workers.
e.probeSideTupleFetcher.probeResultChs = make([]chan *chunk.Chunk, e.concurrency)
for i := uint(0); i < e.concurrency; i++ {
e.probeSideTupleFetcher.probeResultChs[i] = make(chan *chunk.Chunk, 1)
+ e.probeWorkers[i].probeResultCh = e.probeSideTupleFetcher.probeResultChs[i]
}
// e.probeChkResourceCh is for transmitting the used probeSideExec chunks from
@@ -347,51 +357,44 @@ func (e *HashJoinExec) initializeForProbe() {
}
}
- // e.joinChkResourceCh is for transmitting the reused join result chunks
- // from the main thread to join worker goroutines.
- e.joinChkResourceCh = make([]chan *chunk.Chunk, e.concurrency)
+ // e.probeWorker.joinChkResourceCh is for transmitting the reused join result chunks
+ // from the main thread to probe worker goroutines.
for i := uint(0); i < e.concurrency; i++ {
- e.joinChkResourceCh[i] = make(chan *chunk.Chunk, 1)
- e.joinChkResourceCh[i] <- newFirstChunk(e)
+ e.probeWorkers[i].joinChkResourceCh = make(chan *chunk.Chunk, 1)
+ e.probeWorkers[i].joinChkResourceCh <- newFirstChunk(e)
+ e.probeWorkers[i].probeChkResourceCh = e.probeSideTupleFetcher.probeChkResourceCh
}
-
- // e.joinResultCh is for transmitting the join result chunks to the main
- // thread.
- e.joinResultCh = make(chan *hashjoinWorkerResult, e.concurrency+1)
}
func (e *HashJoinExec) fetchAndProbeHashTable(ctx context.Context) {
e.initializeForProbe()
- e.worker.RunWithRecover(func() {
+ e.workerWg.RunWithRecover(func() {
defer trace.StartRegion(ctx, "HashJoinProbeSideFetcher").End()
- e.fetchProbeSideChunks(ctx)
- }, e.handleProbeSideFetcherPanic)
-
- probeKeyColIdx := make([]int, len(e.probeKeys))
- probeNAKeColIdx := make([]int, len(e.probeNAKeys))
- for i := range e.probeKeys {
- probeKeyColIdx[i] = e.probeKeys[i].Index
- }
- for i := range e.probeNAKeys {
- probeNAKeColIdx[i] = e.probeNAKeys[i].Index
- }
+ e.probeSideTupleFetcher.fetchProbeSideChunks(ctx, e.maxChunkSize)
+ }, e.probeSideTupleFetcher.handleProbeSideFetcherPanic)
for i := uint(0); i < e.concurrency; i++ {
- workID := i
- e.worker.RunWithRecover(func() {
+ workerID := i
+ e.workerWg.RunWithRecover(func() {
defer trace.StartRegion(ctx, "HashJoinWorker").End()
- e.runJoinWorker(workID, probeKeyColIdx, probeNAKeColIdx)
- }, e.handleJoinWorkerPanic)
+ e.probeWorkers[workerID].runJoinWorker()
+ }, e.probeWorkers[workerID].handleProbeWorkerPanic)
}
- e.waiter.RunWithRecover(e.waitJoinWorkersAndCloseResultChan, nil)
+ e.waiterWg.RunWithRecover(e.waitJoinWorkersAndCloseResultChan, nil)
}
-func (e *HashJoinExec) handleProbeSideFetcherPanic(r interface{}) {
- for i := range e.probeSideTupleFetcher.probeResultChs {
- close(e.probeSideTupleFetcher.probeResultChs[i])
+func (fetcher *probeSideTupleFetcher) handleProbeSideFetcherPanic(r interface{}) {
+ for i := range fetcher.probeResultChs {
+ close(fetcher.probeResultChs[i])
}
if r != nil {
- e.joinResultCh <- &hashjoinWorkerResult{err: errors.Errorf("%v", r)}
+ fetcher.joinResultCh <- &hashjoinWorkerResult{err: errors.Errorf("%v", r)}
+ }
+}
+
+func (w *probeWorker) handleProbeWorkerPanic(r interface{}) {
+ if r != nil {
+ w.hashJoinCtx.joinResultCh <- &hashjoinWorkerResult{err: errors.Errorf("probeWorker[%d] meets error: %v", w.workerID, r)}
}
}
@@ -402,27 +405,27 @@ func (e *HashJoinExec) handleJoinWorkerPanic(r interface{}) {
}
// Concurrently handling unmatched rows from the hash table
-func (e *HashJoinExec) handleUnmatchedRowsFromHashTable(workerID uint) {
- ok, joinResult := e.getNewJoinResult(workerID)
+func (w *probeWorker) handleUnmatchedRowsFromHashTable() {
+ ok, joinResult := w.getNewJoinResult()
if !ok {
return
}
- numChks := e.rowContainer.NumChunks()
- for i := int(workerID); i < numChks; i += int(e.concurrency) {
- chk, err := e.rowContainer.GetChunk(i)
+ numChks := w.rowContainerForProbe.NumChunks()
+ for i := int(w.workerID); i < numChks; i += int(w.hashJoinCtx.concurrency) {
+ chk, err := w.rowContainerForProbe.GetChunk(i)
if err != nil {
// Catching the error and send it
joinResult.err = err
- e.joinResultCh <- joinResult
+ w.hashJoinCtx.joinResultCh <- joinResult
return
}
for j := 0; j < chk.NumRows(); j++ {
- if !e.outerMatchedStatus[i].UnsafeIsSet(j) { // process unmatched outer rows
- e.probeWorkers[workerID].joiner.onMissMatch(false, chk.GetRow(j), joinResult.chk)
+ if !w.hashJoinCtx.outerMatchedStatus[i].UnsafeIsSet(j) { // process unmatched outer rows
+ w.joiner.onMissMatch(false, chk.GetRow(j), joinResult.chk)
}
if joinResult.chk.IsFull() {
- e.joinResultCh <- joinResult
- ok, joinResult = e.getNewJoinResult(workerID)
+ w.hashJoinCtx.joinResultCh <- joinResult
+ ok, joinResult = w.getNewJoinResult()
if !ok {
return
}
@@ -433,32 +436,32 @@ func (e *HashJoinExec) handleUnmatchedRowsFromHashTable(workerID uint) {
if joinResult == nil {
return
} else if joinResult.err != nil || (joinResult.chk != nil && joinResult.chk.NumRows() > 0) {
- e.joinResultCh <- joinResult
+ w.hashJoinCtx.joinResultCh <- joinResult
}
}
func (e *HashJoinExec) waitJoinWorkersAndCloseResultChan() {
- e.worker.Wait()
+ e.workerWg.Wait()
if e.useOuterToBuild {
// Concurrently handling unmatched rows from the hash table at the tail
for i := uint(0); i < e.concurrency; i++ {
var workerID = i
- e.worker.RunWithRecover(func() { e.handleUnmatchedRowsFromHashTable(workerID) }, e.handleJoinWorkerPanic)
+ e.workerWg.RunWithRecover(func() { e.probeWorkers[workerID].handleUnmatchedRowsFromHashTable() }, e.handleJoinWorkerPanic)
}
- e.worker.Wait()
+ e.workerWg.Wait()
}
close(e.joinResultCh)
}
-func (e *HashJoinExec) runJoinWorker(workerID uint, probeKeyColIdx, probeNAKeyColIdx []int) {
+func (w *probeWorker) runJoinWorker() {
probeTime := int64(0)
- if e.stats != nil {
+ if w.hashJoinCtx.stats != nil {
start := time.Now()
defer func() {
t := time.Since(start)
- atomic.AddInt64(&e.stats.probe, probeTime)
- atomic.AddInt64(&e.stats.fetchAndProbe, int64(t))
- e.stats.setMaxFetchAndProbeTime(int64(t))
+ atomic.AddInt64(&w.hashJoinCtx.stats.probe, probeTime)
+ atomic.AddInt64(&w.hashJoinCtx.stats.fetchAndProbe, int64(t))
+ w.hashJoinCtx.stats.setMaxFetchAndProbeTime(int64(t))
}()
}
@@ -466,38 +469,38 @@ func (e *HashJoinExec) runJoinWorker(workerID uint, probeKeyColIdx, probeNAKeyCo
probeSideResult *chunk.Chunk
selected = make([]bool, 0, chunk.InitialCapacity)
)
- ok, joinResult := e.getNewJoinResult(workerID)
+ ok, joinResult := w.getNewJoinResult()
if !ok {
return
}
// Read and filter probeSideResult, and join the probeSideResult with the build side rows.
emptyProbeSideResult := &probeChkResource{
- dest: e.probeSideTupleFetcher.probeResultChs[workerID],
+ dest: w.probeResultCh,
}
hCtx := &hashContext{
- allTypes: e.probeTypes,
- keyColIdx: probeKeyColIdx,
- naKeyColIdx: probeNAKeyColIdx,
+ allTypes: w.hashJoinCtx.probeTypes,
+ keyColIdx: w.probeKeyColIdx,
+ naKeyColIdx: w.probeNAKeyColIdx,
}
for ok := true; ok; {
- if e.finished.Load() {
+ if w.hashJoinCtx.finished.Load() {
break
}
select {
- case <-e.closeCh:
+ case <-w.hashJoinCtx.closeCh:
return
- case probeSideResult, ok = <-e.probeSideTupleFetcher.probeResultChs[workerID]:
+ case probeSideResult, ok = <-w.probeResultCh:
}
failpoint.Inject("ConsumeRandomPanic", nil)
if !ok {
break
}
start := time.Now()
- if e.useOuterToBuild {
- ok, joinResult = e.join2ChunkForOuterHashJoin(workerID, probeSideResult, hCtx, e.probeWorkers[workerID].rowContainerForProbe, joinResult)
+ if w.hashJoinCtx.useOuterToBuild {
+ ok, joinResult = w.join2ChunkForOuterHashJoin(probeSideResult, hCtx, joinResult)
} else {
- ok, joinResult = e.join2Chunk(workerID, probeSideResult, hCtx, e.probeWorkers[workerID].rowContainerForProbe, joinResult, selected)
+ ok, joinResult = w.join2Chunk(probeSideResult, hCtx, joinResult, selected)
}
probeTime += int64(time.Since(start))
if !ok {
@@ -505,22 +508,22 @@ func (e *HashJoinExec) runJoinWorker(workerID uint, probeKeyColIdx, probeNAKeyCo
}
probeSideResult.Reset()
emptyProbeSideResult.chk = probeSideResult
- e.probeSideTupleFetcher.probeChkResourceCh <- emptyProbeSideResult
+ w.probeChkResourceCh <- emptyProbeSideResult
}
// note joinResult.chk may be nil when getNewJoinResult fails in loops
if joinResult == nil {
return
} else if joinResult.err != nil || (joinResult.chk != nil && joinResult.chk.NumRows() > 0) {
- e.joinResultCh <- joinResult
+ w.hashJoinCtx.joinResultCh <- joinResult
} else if joinResult.chk != nil && joinResult.chk.NumRows() == 0 {
- e.joinChkResourceCh[workerID] <- joinResult.chk
+ w.joinChkResourceCh <- joinResult.chk
}
}
-func (e *HashJoinExec) joinMatchedProbeSideRow2ChunkForOuterHashJoin(workerID uint, probeKey uint64, probeSideRow chunk.Row, hCtx *hashContext, rowContainer *hashRowContainer, joinResult *hashjoinWorkerResult) (bool, *hashjoinWorkerResult) {
+func (w *probeWorker) joinMatchedProbeSideRow2ChunkForOuterHashJoin(probeKey uint64, probeSideRow chunk.Row, hCtx *hashContext, joinResult *hashjoinWorkerResult) (bool, *hashjoinWorkerResult) {
var err error
- e.probeWorkers[workerID].buildSideRows, e.probeWorkers[workerID].buildSideRowPtrs, err = rowContainer.GetMatchedRowsAndPtrs(probeKey, probeSideRow, hCtx, e.probeWorkers[workerID].buildSideRows, e.probeWorkers[workerID].buildSideRowPtrs, true)
- buildSideRows, rowsPtrs := e.probeWorkers[workerID].buildSideRows, e.probeWorkers[workerID].buildSideRowPtrs
+ w.buildSideRows, w.buildSideRowPtrs, err = w.rowContainerForProbe.GetMatchedRowsAndPtrs(probeKey, probeSideRow, hCtx, w.buildSideRows, w.buildSideRowPtrs, true)
+ buildSideRows, rowsPtrs := w.buildSideRows, w.buildSideRowPtrs
if err != nil {
joinResult.err = err
return false, joinResult
@@ -529,25 +532,25 @@ func (e *HashJoinExec) joinMatchedProbeSideRow2ChunkForOuterHashJoin(workerID ui
return true, joinResult
}
- iter := e.probeWorkers[workerID].rowIters
+ iter := w.rowIters
iter.Reset(buildSideRows)
var outerMatchStatus []outerRowStatusFlag
rowIdx, ok := 0, false
for iter.Begin(); iter.Current() != iter.End(); {
- outerMatchStatus, err = e.probeWorkers[workerID].joiner.tryToMatchOuters(iter, probeSideRow, joinResult.chk, outerMatchStatus)
+ outerMatchStatus, err = w.joiner.tryToMatchOuters(iter, probeSideRow, joinResult.chk, outerMatchStatus)
if err != nil {
joinResult.err = err
return false, joinResult
}
for i := range outerMatchStatus {
if outerMatchStatus[i] == outerRowMatched {
- e.outerMatchedStatus[rowsPtrs[rowIdx+i].ChkIdx].Set(int(rowsPtrs[rowIdx+i].RowIdx))
+ w.hashJoinCtx.outerMatchedStatus[rowsPtrs[rowIdx+i].ChkIdx].Set(int(rowsPtrs[rowIdx+i].RowIdx))
}
}
rowIdx += len(outerMatchStatus)
if joinResult.chk.IsFull() {
- e.joinResultCh <- joinResult
- ok, joinResult = e.getNewJoinResult(workerID)
+ w.hashJoinCtx.joinResultCh <- joinResult
+ ok, joinResult = w.getNewJoinResult()
if !ok {
return false, joinResult
}
@@ -557,8 +560,7 @@ func (e *HashJoinExec) joinMatchedProbeSideRow2ChunkForOuterHashJoin(workerID ui
}
// joinNAALOSJMatchProbeSideRow2Chunk implement the matching logic for NA-AntiLeftOuterSemiJoin
-func (e *HashJoinExec) joinNAALOSJMatchProbeSideRow2Chunk(workerID uint, probeKey uint64, probeKeyNullBits *bitmap.ConcurrentBitmap, probeSideRow chunk.Row, hCtx *hashContext,
- rowContainer *hashRowContainer, joinResult *hashjoinWorkerResult) (bool, *hashjoinWorkerResult) {
+func (w *probeWorker) joinNAALOSJMatchProbeSideRow2Chunk(probeKey uint64, probeKeyNullBits *bitmap.ConcurrentBitmap, probeSideRow chunk.Row, hCtx *hashContext, joinResult *hashjoinWorkerResult) (bool, *hashjoinWorkerResult) {
var (
err error
ok bool
@@ -568,17 +570,17 @@ func (e *HashJoinExec) joinNAALOSJMatchProbeSideRow2Chunk(workerID uint, probeKe
// because AntiLeftOuterSemiJoin cares about the scalar value. If we both have a match from null
// bucket and same key bucket, we should return the result as from same-key bucket
// rather than from null bucket.
- e.probeWorkers[workerID].buildSideRows, err = rowContainer.GetMatchedRows(probeKey, probeSideRow, hCtx, e.probeWorkers[workerID].buildSideRows)
- buildSideRows := e.probeWorkers[workerID].buildSideRows
+ w.buildSideRows, err = w.rowContainerForProbe.GetMatchedRows(probeKey, probeSideRow, hCtx, w.buildSideRows)
+ buildSideRows := w.buildSideRows
if err != nil {
joinResult.err = err
return false, joinResult
}
if len(buildSideRows) != 0 {
- iter1 := e.probeWorkers[workerID].rowIters
+ iter1 := w.rowIters
iter1.Reset(buildSideRows)
for iter1.Begin(); iter1.Current() != iter1.End(); {
- matched, _, err := e.probeWorkers[workerID].joiner.tryToMatchInners(probeSideRow, iter1, joinResult.chk, LeftNotNullRightNotNull)
+ matched, _, err := w.joiner.tryToMatchInners(probeSideRow, iter1, joinResult.chk, LeftNotNullRightNotNull)
if err != nil {
joinResult.err = err
return false, joinResult
@@ -589,8 +591,8 @@ func (e *HashJoinExec) joinNAALOSJMatchProbeSideRow2Chunk(workerID uint, probeKe
return true, joinResult
}
if joinResult.chk.IsFull() {
- e.joinResultCh <- joinResult
- ok, joinResult = e.getNewJoinResult(workerID)
+ w.hashJoinCtx.joinResultCh <- joinResult
+ ok, joinResult = w.getNewJoinResult()
if !ok {
return false, joinResult
}
@@ -598,8 +600,8 @@ func (e *HashJoinExec) joinNAALOSJMatchProbeSideRow2Chunk(workerID uint, probeKe
}
}
// step2: match the null bucket secondly.
- e.probeWorkers[workerID].buildSideRows, err = rowContainer.GetNullBucketRows(hCtx, probeSideRow, probeKeyNullBits, e.probeWorkers[workerID].buildSideRows, e.probeWorkers[workerID].needCheckBuildRowPos, e.probeWorkers[workerID].needCheckProbeRowPos)
- buildSideRows = e.probeWorkers[workerID].buildSideRows
+ w.buildSideRows, err = w.rowContainerForProbe.GetNullBucketRows(hCtx, probeSideRow, probeKeyNullBits, w.buildSideRows, w.needCheckBuildRowPos, w.needCheckProbeRowPos)
+ buildSideRows = w.buildSideRows
if err != nil {
joinResult.err = err
return false, joinResult
@@ -607,13 +609,13 @@ func (e *HashJoinExec) joinNAALOSJMatchProbeSideRow2Chunk(workerID uint, probeKe
if len(buildSideRows) == 0 {
// when reach here, it means we couldn't find a valid same key match from same-key bucket yet
// and the null bucket is empty. so the result should be .
- e.probeWorkers[workerID].joiner.onMissMatch(false, probeSideRow, joinResult.chk)
+ w.joiner.onMissMatch(false, probeSideRow, joinResult.chk)
return true, joinResult
}
- iter2 := e.probeWorkers[workerID].rowIters
+ iter2 := w.rowIters
iter2.Reset(buildSideRows)
for iter2.Begin(); iter2.Current() != iter2.End(); {
- matched, _, err := e.probeWorkers[workerID].joiner.tryToMatchInners(probeSideRow, iter2, joinResult.chk, LeftNotNullRightHasNull)
+ matched, _, err := w.joiner.tryToMatchInners(probeSideRow, iter2, joinResult.chk, LeftNotNullRightHasNull)
if err != nil {
joinResult.err = err
return false, joinResult
@@ -624,8 +626,8 @@ func (e *HashJoinExec) joinNAALOSJMatchProbeSideRow2Chunk(workerID uint, probeKe
return true, joinResult
}
if joinResult.chk.IsFull() {
- e.joinResultCh <- joinResult
- ok, joinResult = e.getNewJoinResult(workerID)
+ w.hashJoinCtx.joinResultCh <- joinResult
+ ok, joinResult = w.getNewJoinResult()
if !ok {
return false, joinResult
}
@@ -635,7 +637,7 @@ func (e *HashJoinExec) joinNAALOSJMatchProbeSideRow2Chunk(workerID uint, probeKe
// case1: x NOT IN (empty set): if other key bucket don't have the valid rows yet.
// case2: x NOT IN (l,m,n...): if other key bucket do have the valid rows.
// both cases mean the result should be
- e.probeWorkers[workerID].joiner.onMissMatch(false, probeSideRow, joinResult.chk)
+ w.joiner.onMissMatch(false, probeSideRow, joinResult.chk)
return true, joinResult
}
// when left side has null values, all we want is to find a valid build side rows (past other condition)
@@ -643,17 +645,17 @@ func (e *HashJoinExec) joinNAALOSJMatchProbeSideRow2Chunk(workerID uint, probeKe
// case1: , null> NOT IN (empty set): ----------------------> result is .
// case2: , null> NOT IN (at least a valid inner row) ------------------> result is .
// Step1: match null bucket (assumption that null bucket is quite smaller than all hash table bucket rows)
- e.probeWorkers[workerID].buildSideRows, err = rowContainer.GetNullBucketRows(hCtx, probeSideRow, probeKeyNullBits, e.probeWorkers[workerID].buildSideRows, e.probeWorkers[workerID].needCheckBuildRowPos, e.probeWorkers[workerID].needCheckProbeRowPos)
- buildSideRows := e.probeWorkers[workerID].buildSideRows
+ w.buildSideRows, err = w.rowContainerForProbe.GetNullBucketRows(hCtx, probeSideRow, probeKeyNullBits, w.buildSideRows, w.needCheckBuildRowPos, w.needCheckProbeRowPos)
+ buildSideRows := w.buildSideRows
if err != nil {
joinResult.err = err
return false, joinResult
}
if len(buildSideRows) != 0 {
- iter1 := e.probeWorkers[workerID].rowIters
+ iter1 := w.rowIters
iter1.Reset(buildSideRows)
for iter1.Begin(); iter1.Current() != iter1.End(); {
- matched, _, err := e.probeWorkers[workerID].joiner.tryToMatchInners(probeSideRow, iter1, joinResult.chk, LeftHasNullRightHasNull)
+ matched, _, err := w.joiner.tryToMatchInners(probeSideRow, iter1, joinResult.chk, LeftHasNullRightHasNull)
if err != nil {
joinResult.err = err
return false, joinResult
@@ -664,8 +666,8 @@ func (e *HashJoinExec) joinNAALOSJMatchProbeSideRow2Chunk(workerID uint, probeKe
return true, joinResult
}
if joinResult.chk.IsFull() {
- e.joinResultCh <- joinResult
- ok, joinResult = e.getNewJoinResult(workerID)
+ w.hashJoinCtx.joinResultCh <- joinResult
+ ok, joinResult = w.getNewJoinResult()
if !ok {
return false, joinResult
}
@@ -673,8 +675,8 @@ func (e *HashJoinExec) joinNAALOSJMatchProbeSideRow2Chunk(workerID uint, probeKe
}
}
// Step2: match all hash table bucket build rows (use probeKeyNullBits to filter if any).
- e.probeWorkers[workerID].buildSideRows, err = rowContainer.GetAllMatchedRows(hCtx, probeSideRow, probeKeyNullBits, e.probeWorkers[workerID].buildSideRows, e.probeWorkers[workerID].needCheckBuildRowPos, e.probeWorkers[workerID].needCheckProbeRowPos)
- buildSideRows = e.probeWorkers[workerID].buildSideRows
+ w.buildSideRows, err = w.rowContainerForProbe.GetAllMatchedRows(hCtx, probeSideRow, probeKeyNullBits, w.buildSideRows, w.needCheckBuildRowPos, w.needCheckProbeRowPos)
+ buildSideRows = w.buildSideRows
if err != nil {
joinResult.err = err
return false, joinResult
@@ -682,13 +684,13 @@ func (e *HashJoinExec) joinNAALOSJMatchProbeSideRow2Chunk(workerID uint, probeKe
if len(buildSideRows) == 0 {
// when reach here, it means we couldn't return it quickly in null bucket, and same-bucket is empty,
// which means x NOT IN (empty set) or x NOT IN (l,m,n), the result should be
- e.probeWorkers[workerID].joiner.onMissMatch(false, probeSideRow, joinResult.chk)
+ w.joiner.onMissMatch(false, probeSideRow, joinResult.chk)
return true, joinResult
}
- iter2 := e.probeWorkers[workerID].rowIters
+ iter2 := w.rowIters
iter2.Reset(buildSideRows)
for iter2.Begin(); iter2.Current() != iter2.End(); {
- matched, _, err := e.probeWorkers[workerID].joiner.tryToMatchInners(probeSideRow, iter2, joinResult.chk, LeftHasNullRightNotNull)
+ matched, _, err := w.joiner.tryToMatchInners(probeSideRow, iter2, joinResult.chk, LeftHasNullRightNotNull)
if err != nil {
joinResult.err = err
return false, joinResult
@@ -699,8 +701,8 @@ func (e *HashJoinExec) joinNAALOSJMatchProbeSideRow2Chunk(workerID uint, probeKe
return true, joinResult
}
if joinResult.chk.IsFull() {
- e.joinResultCh <- joinResult
- ok, joinResult = e.getNewJoinResult(workerID)
+ w.hashJoinCtx.joinResultCh <- joinResult
+ ok, joinResult = w.getNewJoinResult()
if !ok {
return false, joinResult
}
@@ -709,13 +711,12 @@ func (e *HashJoinExec) joinNAALOSJMatchProbeSideRow2Chunk(workerID uint, probeKe
// step3: if we couldn't return it quickly in null bucket and all hash bucket, here means only one cases:
// case1: , null> NOT IN (empty set):
// empty set comes from no rows from all bucket can pass other condition. the result should be
- e.probeWorkers[workerID].joiner.onMissMatch(false, probeSideRow, joinResult.chk)
+ w.joiner.onMissMatch(false, probeSideRow, joinResult.chk)
return true, joinResult
}
// joinNAASJMatchProbeSideRow2Chunk implement the matching logic for NA-AntiSemiJoin
-func (e *HashJoinExec) joinNAASJMatchProbeSideRow2Chunk(workerID uint, probeKey uint64, probeKeyNullBits *bitmap.ConcurrentBitmap, probeSideRow chunk.Row, hCtx *hashContext,
- rowContainer *hashRowContainer, joinResult *hashjoinWorkerResult) (bool, *hashjoinWorkerResult) {
+func (w *probeWorker) joinNAASJMatchProbeSideRow2Chunk(probeKey uint64, probeKeyNullBits *bitmap.ConcurrentBitmap, probeSideRow chunk.Row, hCtx *hashContext, joinResult *hashjoinWorkerResult) (bool, *hashjoinWorkerResult) {
var (
err error
ok bool
@@ -723,17 +724,17 @@ func (e *HashJoinExec) joinNAASJMatchProbeSideRow2Chunk(workerID uint, probeKey
if probeKeyNullBits == nil {
// step1: match null bucket first.
// need fetch the "valid" rows every time. (nullBits map check is necessary)
- e.probeWorkers[workerID].buildSideRows, err = rowContainer.GetNullBucketRows(hCtx, probeSideRow, probeKeyNullBits, e.probeWorkers[workerID].buildSideRows, e.probeWorkers[workerID].needCheckBuildRowPos, e.probeWorkers[workerID].needCheckProbeRowPos)
- buildSideRows := e.probeWorkers[workerID].buildSideRows
+ w.buildSideRows, err = w.rowContainerForProbe.GetNullBucketRows(hCtx, probeSideRow, probeKeyNullBits, w.buildSideRows, w.needCheckBuildRowPos, w.needCheckProbeRowPos)
+ buildSideRows := w.buildSideRows
if err != nil {
joinResult.err = err
return false, joinResult
}
if len(buildSideRows) != 0 {
- iter1 := e.probeWorkers[workerID].rowIters
+ iter1 := w.rowIters
iter1.Reset(buildSideRows)
for iter1.Begin(); iter1.Current() != iter1.End(); {
- matched, _, err := e.probeWorkers[workerID].joiner.tryToMatchInners(probeSideRow, iter1, joinResult.chk)
+ matched, _, err := w.joiner.tryToMatchInners(probeSideRow, iter1, joinResult.chk)
if err != nil {
joinResult.err = err
return false, joinResult
@@ -744,8 +745,8 @@ func (e *HashJoinExec) joinNAASJMatchProbeSideRow2Chunk(workerID uint, probeKey
return true, joinResult
}
if joinResult.chk.IsFull() {
- e.joinResultCh <- joinResult
- ok, joinResult = e.getNewJoinResult(workerID)
+ w.hashJoinCtx.joinResultCh <- joinResult
+ ok, joinResult = w.getNewJoinResult()
if !ok {
return false, joinResult
}
@@ -753,8 +754,8 @@ func (e *HashJoinExec) joinNAASJMatchProbeSideRow2Chunk(workerID uint, probeKey
}
}
// step2: then same key bucket.
- e.probeWorkers[workerID].buildSideRows, err = rowContainer.GetMatchedRows(probeKey, probeSideRow, hCtx, e.probeWorkers[workerID].buildSideRows)
- buildSideRows = e.probeWorkers[workerID].buildSideRows
+ w.buildSideRows, err = w.rowContainerForProbe.GetMatchedRows(probeKey, probeSideRow, hCtx, w.buildSideRows)
+ buildSideRows = w.buildSideRows
if err != nil {
joinResult.err = err
return false, joinResult
@@ -762,13 +763,13 @@ func (e *HashJoinExec) joinNAASJMatchProbeSideRow2Chunk(workerID uint, probeKey
if len(buildSideRows) == 0 {
// when reach here, it means we couldn't return it quickly in null bucket, and same-bucket is empty,
// which means x NOT IN (empty set), accept the rhs row.
- e.probeWorkers[workerID].joiner.onMissMatch(false, probeSideRow, joinResult.chk)
+ w.joiner.onMissMatch(false, probeSideRow, joinResult.chk)
return true, joinResult
}
- iter2 := e.probeWorkers[workerID].rowIters
+ iter2 := w.rowIters
iter2.Reset(buildSideRows)
for iter2.Begin(); iter2.Current() != iter2.End(); {
- matched, _, err := e.probeWorkers[workerID].joiner.tryToMatchInners(probeSideRow, iter2, joinResult.chk)
+ matched, _, err := w.joiner.tryToMatchInners(probeSideRow, iter2, joinResult.chk)
if err != nil {
joinResult.err = err
return false, joinResult
@@ -779,8 +780,8 @@ func (e *HashJoinExec) joinNAASJMatchProbeSideRow2Chunk(workerID uint, probeKey
return true, joinResult
}
if joinResult.chk.IsFull() {
- e.joinResultCh <- joinResult
- ok, joinResult = e.getNewJoinResult(workerID)
+ w.hashJoinCtx.joinResultCh <- joinResult
+ ok, joinResult = w.getNewJoinResult()
if !ok {
return false, joinResult
}
@@ -790,7 +791,7 @@ func (e *HashJoinExec) joinNAASJMatchProbeSideRow2Chunk(workerID uint, probeKey
// case1: x NOT IN (empty set): if other key bucket don't have the valid rows yet.
// case2: x NOT IN (l,m,n...): if other key bucket do have the valid rows.
// both cases should accept the rhs row.
- e.probeWorkers[workerID].joiner.onMissMatch(false, probeSideRow, joinResult.chk)
+ w.joiner.onMissMatch(false, probeSideRow, joinResult.chk)
return true, joinResult
}
// when left side has null values, all we want is to find a valid build side rows (passed from other condition)
@@ -798,17 +799,17 @@ func (e *HashJoinExec) joinNAASJMatchProbeSideRow2Chunk(workerID uint, probeKey
// case1: , null> NOT IN (empty set): ----------------------> accept rhs row.
// case2: , null> NOT IN (at least a valid inner row) ------------------> unknown result, refuse rhs row.
// Step1: match null bucket (assumption that null bucket is quite smaller than all hash table bucket rows)
- e.probeWorkers[workerID].buildSideRows, err = rowContainer.GetNullBucketRows(hCtx, probeSideRow, probeKeyNullBits, e.probeWorkers[workerID].buildSideRows, e.probeWorkers[workerID].needCheckBuildRowPos, e.probeWorkers[workerID].needCheckProbeRowPos)
- buildSideRows := e.probeWorkers[workerID].buildSideRows
+ w.buildSideRows, err = w.rowContainerForProbe.GetNullBucketRows(hCtx, probeSideRow, probeKeyNullBits, w.buildSideRows, w.needCheckBuildRowPos, w.needCheckProbeRowPos)
+ buildSideRows := w.buildSideRows
if err != nil {
joinResult.err = err
return false, joinResult
}
if len(buildSideRows) != 0 {
- iter1 := e.probeWorkers[workerID].rowIters
+ iter1 := w.rowIters
iter1.Reset(buildSideRows)
for iter1.Begin(); iter1.Current() != iter1.End(); {
- matched, _, err := e.probeWorkers[workerID].joiner.tryToMatchInners(probeSideRow, iter1, joinResult.chk)
+ matched, _, err := w.joiner.tryToMatchInners(probeSideRow, iter1, joinResult.chk)
if err != nil {
joinResult.err = err
return false, joinResult
@@ -819,8 +820,8 @@ func (e *HashJoinExec) joinNAASJMatchProbeSideRow2Chunk(workerID uint, probeKey
return true, joinResult
}
if joinResult.chk.IsFull() {
- e.joinResultCh <- joinResult
- ok, joinResult = e.getNewJoinResult(workerID)
+ w.hashJoinCtx.joinResultCh <- joinResult
+ ok, joinResult = w.getNewJoinResult()
if !ok {
return false, joinResult
}
@@ -828,8 +829,8 @@ func (e *HashJoinExec) joinNAASJMatchProbeSideRow2Chunk(workerID uint, probeKey
}
}
// Step2: match all hash table bucket build rows.
- e.probeWorkers[workerID].buildSideRows, err = rowContainer.GetAllMatchedRows(hCtx, probeSideRow, probeKeyNullBits, e.probeWorkers[workerID].buildSideRows, e.probeWorkers[workerID].needCheckBuildRowPos, e.probeWorkers[workerID].needCheckProbeRowPos)
- buildSideRows = e.probeWorkers[workerID].buildSideRows
+ w.buildSideRows, err = w.rowContainerForProbe.GetAllMatchedRows(hCtx, probeSideRow, probeKeyNullBits, w.buildSideRows, w.needCheckBuildRowPos, w.needCheckProbeRowPos)
+ buildSideRows = w.buildSideRows
if err != nil {
joinResult.err = err
return false, joinResult
@@ -837,13 +838,13 @@ func (e *HashJoinExec) joinNAASJMatchProbeSideRow2Chunk(workerID uint, probeKey
if len(buildSideRows) == 0 {
// when reach here, it means we couldn't return it quickly in null bucket, and same-bucket is empty,
// which means ,null> NOT IN (empty set) or ,null> NOT IN (no valid rows) accept the rhs row.
- e.probeWorkers[workerID].joiner.onMissMatch(false, probeSideRow, joinResult.chk)
+ w.joiner.onMissMatch(false, probeSideRow, joinResult.chk)
return true, joinResult
}
- iter2 := e.probeWorkers[workerID].rowIters
+ iter2 := w.rowIters
iter2.Reset(buildSideRows)
for iter2.Begin(); iter2.Current() != iter2.End(); {
- matched, _, err := e.probeWorkers[workerID].joiner.tryToMatchInners(probeSideRow, iter2, joinResult.chk)
+ matched, _, err := w.joiner.tryToMatchInners(probeSideRow, iter2, joinResult.chk)
if err != nil {
joinResult.err = err
return false, joinResult
@@ -854,8 +855,8 @@ func (e *HashJoinExec) joinNAASJMatchProbeSideRow2Chunk(workerID uint, probeKey
return true, joinResult
}
if joinResult.chk.IsFull() {
- e.joinResultCh <- joinResult
- ok, joinResult = e.getNewJoinResult(workerID)
+ w.hashJoinCtx.joinResultCh <- joinResult
+ ok, joinResult = w.getNewJoinResult()
if !ok {
return false, joinResult
}
@@ -864,7 +865,7 @@ func (e *HashJoinExec) joinNAASJMatchProbeSideRow2Chunk(workerID uint, probeKey
// step3: if we couldn't return it quickly in null bucket and all hash bucket, here means only one cases:
// case1: , null> NOT IN (empty set):
// empty set comes from no rows from all bucket can pass other condition. we should accept the rhs row.
- e.probeWorkers[workerID].joiner.onMissMatch(false, probeSideRow, joinResult.chk)
+ w.joiner.onMissMatch(false, probeSideRow, joinResult.chk)
return true, joinResult
}
@@ -887,38 +888,37 @@ func (e *HashJoinExec) joinNAASJMatchProbeSideRow2Chunk(workerID uint, probeKey
//
// For NA-AntiLeftOuterSemiJoin, we couldn't match null-bucket first, because once y set has a same key x and null
// key, we should return the result as left side row appended with a scalar value 0 which is from same key matching failure.
-func (e *HashJoinExec) joinNAAJMatchProbeSideRow2Chunk(workerID uint, probeKey uint64, probeKeyNullBits *bitmap.ConcurrentBitmap, probeSideRow chunk.Row, hCtx *hashContext,
- rowContainer *hashRowContainer, joinResult *hashjoinWorkerResult) (bool, *hashjoinWorkerResult) {
- NAAntiSemiJoin := e.joinType == plannercore.AntiSemiJoin && len(e.buildNAKeys) > 0
- NAAntiLeftOuterSemiJoin := e.joinType == plannercore.AntiLeftOuterSemiJoin && len(e.buildNAKeys) > 0
+func (w *probeWorker) joinNAAJMatchProbeSideRow2Chunk(probeKey uint64, probeKeyNullBits *bitmap.ConcurrentBitmap, probeSideRow chunk.Row, hCtx *hashContext, joinResult *hashjoinWorkerResult) (bool, *hashjoinWorkerResult) {
+ NAAntiSemiJoin := w.hashJoinCtx.joinType == plannercore.AntiSemiJoin && w.hashJoinCtx.isNullAware
+ NAAntiLeftOuterSemiJoin := w.hashJoinCtx.joinType == plannercore.AntiLeftOuterSemiJoin && w.hashJoinCtx.isNullAware
if NAAntiSemiJoin {
- return e.joinNAASJMatchProbeSideRow2Chunk(workerID, probeKey, probeKeyNullBits, probeSideRow, hCtx, rowContainer, joinResult)
+ return w.joinNAASJMatchProbeSideRow2Chunk(probeKey, probeKeyNullBits, probeSideRow, hCtx, joinResult)
}
if NAAntiLeftOuterSemiJoin {
- return e.joinNAALOSJMatchProbeSideRow2Chunk(workerID, probeKey, probeKeyNullBits, probeSideRow, hCtx, rowContainer, joinResult)
+ return w.joinNAALOSJMatchProbeSideRow2Chunk(probeKey, probeKeyNullBits, probeSideRow, hCtx, joinResult)
}
// shouldn't be here, not a valid NAAJ.
return false, joinResult
}
-func (e *HashJoinExec) joinMatchedProbeSideRow2Chunk(workerID uint, probeKey uint64, probeSideRow chunk.Row, hCtx *hashContext,
- rowContainer *hashRowContainer, joinResult *hashjoinWorkerResult) (bool, *hashjoinWorkerResult) {
+func (w *probeWorker) joinMatchedProbeSideRow2Chunk(probeKey uint64, probeSideRow chunk.Row, hCtx *hashContext,
+ joinResult *hashjoinWorkerResult) (bool, *hashjoinWorkerResult) {
var err error
- e.probeWorkers[workerID].buildSideRows, err = rowContainer.GetMatchedRows(probeKey, probeSideRow, hCtx, e.probeWorkers[workerID].buildSideRows)
- buildSideRows := e.probeWorkers[workerID].buildSideRows
+ w.buildSideRows, err = w.rowContainerForProbe.GetMatchedRows(probeKey, probeSideRow, hCtx, w.buildSideRows)
+ buildSideRows := w.buildSideRows
if err != nil {
joinResult.err = err
return false, joinResult
}
if len(buildSideRows) == 0 {
- e.probeWorkers[workerID].joiner.onMissMatch(false, probeSideRow, joinResult.chk)
+ w.joiner.onMissMatch(false, probeSideRow, joinResult.chk)
return true, joinResult
}
- iter := e.probeWorkers[workerID].rowIters
+ iter := w.rowIters
iter.Reset(buildSideRows)
hasMatch, hasNull, ok := false, false, false
for iter.Begin(); iter.Current() != iter.End(); {
- matched, isNull, err := e.probeWorkers[workerID].joiner.tryToMatchInners(probeSideRow, iter, joinResult.chk)
+ matched, isNull, err := w.joiner.tryToMatchInners(probeSideRow, iter, joinResult.chk)
if err != nil {
joinResult.err = err
return false, joinResult
@@ -927,36 +927,36 @@ func (e *HashJoinExec) joinMatchedProbeSideRow2Chunk(workerID uint, probeKey uin
hasNull = hasNull || isNull
if joinResult.chk.IsFull() {
- e.joinResultCh <- joinResult
- ok, joinResult = e.getNewJoinResult(workerID)
+ w.hashJoinCtx.joinResultCh <- joinResult
+ ok, joinResult = w.getNewJoinResult()
if !ok {
return false, joinResult
}
}
}
if !hasMatch {
- e.probeWorkers[workerID].joiner.onMissMatch(hasNull, probeSideRow, joinResult.chk)
+ w.joiner.onMissMatch(hasNull, probeSideRow, joinResult.chk)
}
return true, joinResult
}
-func (e *HashJoinExec) getNewJoinResult(workerID uint) (bool, *hashjoinWorkerResult) {
+func (w *probeWorker) getNewJoinResult() (bool, *hashjoinWorkerResult) {
joinResult := &hashjoinWorkerResult{
- src: e.joinChkResourceCh[workerID],
+ src: w.joinChkResourceCh,
}
ok := true
select {
- case <-e.closeCh:
+ case <-w.hashJoinCtx.closeCh:
ok = false
- case joinResult.chk, ok = <-e.joinChkResourceCh[workerID]:
+ case joinResult.chk, ok = <-w.joinChkResourceCh:
}
return ok, joinResult
}
-func (e *HashJoinExec) join2Chunk(workerID uint, probeSideChk *chunk.Chunk, hCtx *hashContext, rowContainer *hashRowContainer, joinResult *hashjoinWorkerResult,
+func (w *probeWorker) join2Chunk(probeSideChk *chunk.Chunk, hCtx *hashContext, joinResult *hashjoinWorkerResult,
selected []bool) (ok bool, _ *hashjoinWorkerResult) {
var err error
- selected, err = expression.VectorizedFilter(e.ctx, e.outerFilter, chunk.NewIterator4Chunk(probeSideChk), selected)
+ selected, err = expression.VectorizedFilter(w.hashJoinCtx.sessCtx, w.hashJoinCtx.outerFilter, chunk.NewIterator4Chunk(probeSideChk), selected)
if err != nil {
joinResult.err = err
return false, joinResult
@@ -967,8 +967,8 @@ func (e *HashJoinExec) join2Chunk(workerID uint, probeSideChk *chunk.Chunk, hCtx
// By now, path 1 and 2 won't be conducted at the same time.
// 1: write the row data of join key to hashVals. (normal EQ key should ignore the null values.) null-EQ for Except statement is an exception.
for keyIdx, i := range hCtx.keyColIdx {
- ignoreNull := len(e.isNullEQ) > keyIdx && e.isNullEQ[keyIdx]
- err = codec.HashChunkSelected(rowContainer.sc, hCtx.hashVals, probeSideChk, hCtx.allTypes[keyIdx], i, hCtx.buf, hCtx.hasNull, selected, ignoreNull)
+ ignoreNull := len(w.hashJoinCtx.isNullEQ) > keyIdx && w.hashJoinCtx.isNullEQ[keyIdx]
+ err = codec.HashChunkSelected(w.rowContainerForProbe.sc, hCtx.hashVals, probeSideChk, hCtx.allTypes[keyIdx], i, hCtx.buf, hCtx.hasNull, selected, ignoreNull)
if err != nil {
joinResult.err = err
return false, joinResult
@@ -978,7 +978,7 @@ func (e *HashJoinExec) join2Chunk(workerID uint, probeSideChk *chunk.Chunk, hCtx
isNAAJ := len(hCtx.naKeyColIdx) > 0
for keyIdx, i := range hCtx.naKeyColIdx {
// NAAJ won't ignore any null values, but collect them up to probe.
- err = codec.HashChunkSelected(rowContainer.sc, hCtx.hashVals, probeSideChk, hCtx.allTypes[keyIdx], i, hCtx.buf, hCtx.hasNull, selected, false)
+ err = codec.HashChunkSelected(w.rowContainerForProbe.sc, hCtx.hashVals, probeSideChk, hCtx.allTypes[keyIdx], i, hCtx.buf, hCtx.hasNull, selected, false)
if err != nil {
joinResult.err = err
return false, joinResult
@@ -996,7 +996,7 @@ func (e *HashJoinExec) join2Chunk(workerID uint, probeSideChk *chunk.Chunk, hCtx
}
for i := range selected {
- killed := atomic.LoadUint32(&e.ctx.GetSessionVars().Killed) == 1
+ killed := atomic.LoadUint32(&w.hashJoinCtx.sessCtx.GetSessionVars().Killed) == 1
failpoint.Inject("killedInJoin2Chunk", func(val failpoint.Value) {
if val.(bool) {
killed = true
@@ -1009,13 +1009,13 @@ func (e *HashJoinExec) join2Chunk(workerID uint, probeSideChk *chunk.Chunk, hCtx
if isNAAJ {
if !selected[i] {
// since this is the case of using inner to build, so for an outer row unselected, we should fill the result when it's outer join.
- e.probeWorkers[workerID].joiner.onMissMatch(false, probeSideChk.GetRow(i), joinResult.chk)
+ w.joiner.onMissMatch(false, probeSideChk.GetRow(i), joinResult.chk)
}
if hCtx.naHasNull[i] {
// here means the probe join connecting column has null value in it and this is special for matching all the hash buckets
// for it. (probeKey is not necessary here)
probeRow := probeSideChk.GetRow(i)
- ok, joinResult = e.joinNAAJMatchProbeSideRow2Chunk(workerID, 0, hCtx.naColNullBitMap[i].Clone(), probeRow, hCtx, rowContainer, joinResult)
+ ok, joinResult = w.joinNAAJMatchProbeSideRow2Chunk(0, hCtx.naColNullBitMap[i].Clone(), probeRow, hCtx, joinResult)
if !ok {
return false, joinResult
}
@@ -1023,7 +1023,7 @@ func (e *HashJoinExec) join2Chunk(workerID uint, probeSideChk *chunk.Chunk, hCtx
// here means the probe join connecting column without null values, where we should match same key bucket and null bucket for it at its order.
// step1: process same key matched probe side rows
probeKey, probeRow := hCtx.hashVals[i].Sum64(), probeSideChk.GetRow(i)
- ok, joinResult = e.joinNAAJMatchProbeSideRow2Chunk(workerID, probeKey, nil, probeRow, hCtx, rowContainer, joinResult)
+ ok, joinResult = w.joinNAAJMatchProbeSideRow2Chunk(probeKey, nil, probeRow, hCtx, joinResult)
if !ok {
return false, joinResult
}
@@ -1031,18 +1031,18 @@ func (e *HashJoinExec) join2Chunk(workerID uint, probeSideChk *chunk.Chunk, hCtx
} else {
// since this is the case of using inner to build, so for an outer row unselected, we should fill the result when it's outer join.
if !selected[i] || hCtx.hasNull[i] { // process unmatched probe side rows
- e.probeWorkers[workerID].joiner.onMissMatch(false, probeSideChk.GetRow(i), joinResult.chk)
+ w.joiner.onMissMatch(false, probeSideChk.GetRow(i), joinResult.chk)
} else { // process matched probe side rows
probeKey, probeRow := hCtx.hashVals[i].Sum64(), probeSideChk.GetRow(i)
- ok, joinResult = e.joinMatchedProbeSideRow2Chunk(workerID, probeKey, probeRow, hCtx, rowContainer, joinResult)
+ ok, joinResult = w.joinMatchedProbeSideRow2Chunk(probeKey, probeRow, hCtx, joinResult)
if !ok {
return false, joinResult
}
}
}
if joinResult.chk.IsFull() {
- e.joinResultCh <- joinResult
- ok, joinResult = e.getNewJoinResult(workerID)
+ w.hashJoinCtx.joinResultCh <- joinResult
+ ok, joinResult = w.getNewJoinResult()
if !ok {
return false, joinResult
}
@@ -1052,17 +1052,17 @@ func (e *HashJoinExec) join2Chunk(workerID uint, probeSideChk *chunk.Chunk, hCtx
}
// join2ChunkForOuterHashJoin joins chunks when using the outer to build a hash table (refer to outer hash join)
-func (e *HashJoinExec) join2ChunkForOuterHashJoin(workerID uint, probeSideChk *chunk.Chunk, hCtx *hashContext, rowContainer *hashRowContainer, joinResult *hashjoinWorkerResult) (ok bool, _ *hashjoinWorkerResult) {
+func (w *probeWorker) join2ChunkForOuterHashJoin(probeSideChk *chunk.Chunk, hCtx *hashContext, joinResult *hashjoinWorkerResult) (ok bool, _ *hashjoinWorkerResult) {
hCtx.initHash(probeSideChk.NumRows())
for keyIdx, i := range hCtx.keyColIdx {
- err := codec.HashChunkColumns(rowContainer.sc, hCtx.hashVals, probeSideChk, hCtx.allTypes[keyIdx], i, hCtx.buf, hCtx.hasNull)
+ err := codec.HashChunkColumns(w.rowContainerForProbe.sc, hCtx.hashVals, probeSideChk, hCtx.allTypes[keyIdx], i, hCtx.buf, hCtx.hasNull)
if err != nil {
joinResult.err = err
return false, joinResult
}
}
for i := 0; i < probeSideChk.NumRows(); i++ {
- killed := atomic.LoadUint32(&e.ctx.GetSessionVars().Killed) == 1
+ killed := atomic.LoadUint32(&w.hashJoinCtx.sessCtx.GetSessionVars().Killed) == 1
failpoint.Inject("killedInJoin2ChunkForOuterHashJoin", func(val failpoint.Value) {
if val.(bool) {
killed = true
@@ -1073,13 +1073,13 @@ func (e *HashJoinExec) join2ChunkForOuterHashJoin(workerID uint, probeSideChk *c
return false, joinResult
}
probeKey, probeRow := hCtx.hashVals[i].Sum64(), probeSideChk.GetRow(i)
- ok, joinResult = e.joinMatchedProbeSideRow2ChunkForOuterHashJoin(workerID, probeKey, probeRow, hCtx, rowContainer, joinResult)
+ ok, joinResult = w.joinMatchedProbeSideRow2ChunkForOuterHashJoin(probeKey, probeRow, hCtx, joinResult)
if !ok {
return false, joinResult
}
if joinResult.chk.IsFull() {
- e.joinResultCh <- joinResult
- ok, joinResult = e.getNewJoinResult(workerID)
+ w.hashJoinCtx.joinResultCh <- joinResult
+ ok, joinResult = w.getNewJoinResult()
if !ok {
return false, joinResult
}
@@ -1095,20 +1095,12 @@ func (e *HashJoinExec) join2ChunkForOuterHashJoin(workerID uint, probeSideChk *c
func (e *HashJoinExec) Next(ctx context.Context, req *chunk.Chunk) (err error) {
if !e.prepared {
e.buildFinished = make(chan error, 1)
- buildKeyColIdx := make([]int, len(e.buildKeys))
- for i := range e.buildKeys {
- buildKeyColIdx[i] = e.buildKeys[i].Index
- }
- buildNAKeyColIdx := make([]int, len(e.buildNAKeys))
- for i := range e.buildNAKeys {
- buildNAKeyColIdx[i] = e.buildNAKeys[i].Index
- }
hCtx := &hashContext{
allTypes: e.buildTypes,
- keyColIdx: buildKeyColIdx,
- naKeyColIdx: buildNAKeyColIdx,
+ keyColIdx: e.buildWorker.buildKeyColIdx,
+ naKeyColIdx: e.buildWorker.buildNAKeyColIdx,
}
- e.rowContainer = newHashRowContainer(e.ctx, int(e.buildSideEstCount), hCtx, retTypes(e.buildSideExec))
+ e.rowContainer = newHashRowContainer(e.ctx, hCtx, retTypes(e.buildWorker.buildSideExec))
// we shallow copies rowContainer for each probe worker to avoid lock contention
for i := uint(0); i < e.concurrency; i++ {
if i == 0 {
@@ -1120,7 +1112,7 @@ func (e *HashJoinExec) Next(ctx context.Context, req *chunk.Chunk) (err error) {
for i := uint(0); i < e.concurrency; i++ {
e.probeWorkers[i].rowIters = chunk.NewIterator4Slice([]chunk.Row{}).(*chunk.Iterator4Slice)
}
- e.worker.RunWithRecover(func() {
+ e.workerWg.RunWithRecover(func() {
defer trace.StartRegion(ctx, "HashJoinHashTableBuilder").End()
e.fetchAndBuildHashTable(ctx)
}, e.handleFetchAndBuildHashTablePanic)
@@ -1163,10 +1155,10 @@ func (e *HashJoinExec) fetchAndBuildHashTable(ctx context.Context) {
buildSideResultCh := make(chan *chunk.Chunk, 1)
doneCh := make(chan struct{})
fetchBuildSideRowsOk := make(chan error, 1)
- e.worker.RunWithRecover(
+ e.workerWg.RunWithRecover(
func() {
defer trace.StartRegion(ctx, "HashJoinBuildSideFetcher").End()
- e.fetchBuildSideRows(ctx, buildSideResultCh, fetchBuildSideRowsOk, doneCh)
+ e.buildWorker.fetchBuildSideRows(ctx, buildSideResultCh, fetchBuildSideRowsOk, doneCh)
},
func(r interface{}) {
if r != nil {
@@ -1177,7 +1169,7 @@ func (e *HashJoinExec) fetchAndBuildHashTable(ctx context.Context) {
)
// TODO: Parallel build hash table. Currently not support because `unsafeHashTable` is not thread-safe.
- err := e.buildHashTableForList(buildSideResultCh)
+ err := e.buildWorker.buildHashTableForList(buildSideResultCh)
if err != nil {
e.buildFinished <- errors.Trace(err)
close(doneCh)
@@ -1195,41 +1187,42 @@ func (e *HashJoinExec) fetchAndBuildHashTable(ctx context.Context) {
}
// buildHashTableForList builds hash table from `list`.
-func (e *HashJoinExec) buildHashTableForList(buildSideResultCh <-chan *chunk.Chunk) error {
+func (w *buildWorker) buildHashTableForList(buildSideResultCh <-chan *chunk.Chunk) error {
var err error
var selected []bool
- e.rowContainer.GetMemTracker().AttachTo(e.memTracker)
- e.rowContainer.GetMemTracker().SetLabel(memory.LabelForBuildSideResult)
- e.rowContainer.GetDiskTracker().AttachTo(e.diskTracker)
- e.rowContainer.GetDiskTracker().SetLabel(memory.LabelForBuildSideResult)
+ rowContainer := w.hashJoinCtx.rowContainer
+ rowContainer.GetMemTracker().AttachTo(w.hashJoinCtx.memTracker)
+ rowContainer.GetMemTracker().SetLabel(memory.LabelForBuildSideResult)
+ rowContainer.GetDiskTracker().AttachTo(w.hashJoinCtx.diskTracker)
+ rowContainer.GetDiskTracker().SetLabel(memory.LabelForBuildSideResult)
if variable.EnableTmpStorageOnOOM.Load() {
- actionSpill := e.rowContainer.ActionSpill()
+ actionSpill := rowContainer.ActionSpill()
failpoint.Inject("testRowContainerSpill", func(val failpoint.Value) {
if val.(bool) {
- actionSpill = e.rowContainer.rowContainer.ActionSpillForTest()
+ actionSpill = rowContainer.rowContainer.ActionSpillForTest()
defer actionSpill.(*chunk.SpillDiskAction).WaitForTest()
}
})
- e.ctx.GetSessionVars().MemTracker.FallbackOldAndSetNewAction(actionSpill)
+ w.hashJoinCtx.sessCtx.GetSessionVars().MemTracker.FallbackOldAndSetNewAction(actionSpill)
}
for chk := range buildSideResultCh {
- if e.finished.Load() {
+ if w.hashJoinCtx.finished.Load() {
return nil
}
- if !e.useOuterToBuild {
- err = e.rowContainer.PutChunk(chk, e.isNullEQ)
+ if !w.hashJoinCtx.useOuterToBuild {
+ err = rowContainer.PutChunk(chk, w.hashJoinCtx.isNullEQ)
} else {
var bitMap = bitmap.NewConcurrentBitmap(chk.NumRows())
- e.outerMatchedStatus = append(e.outerMatchedStatus, bitMap)
- e.memTracker.Consume(bitMap.BytesConsumed())
- if len(e.outerFilter) == 0 {
- err = e.rowContainer.PutChunk(chk, e.isNullEQ)
+ w.hashJoinCtx.outerMatchedStatus = append(w.hashJoinCtx.outerMatchedStatus, bitMap)
+ w.hashJoinCtx.memTracker.Consume(bitMap.BytesConsumed())
+ if len(w.hashJoinCtx.outerFilter) == 0 {
+ err = w.hashJoinCtx.rowContainer.PutChunk(chk, w.hashJoinCtx.isNullEQ)
} else {
- selected, err = expression.VectorizedFilter(e.ctx, e.outerFilter, chunk.NewIterator4Chunk(chk), selected)
+ selected, err = expression.VectorizedFilter(w.hashJoinCtx.sessCtx, w.hashJoinCtx.outerFilter, chunk.NewIterator4Chunk(chk), selected)
if err != nil {
return err
}
- err = e.rowContainer.PutChunkSelected(chk, selected, e.isNullEQ)
+ err = rowContainer.PutChunkSelected(chk, selected, w.hashJoinCtx.isNullEQ)
}
}
failpoint.Inject("ConsumeRandomPanic", nil)
@@ -1283,7 +1276,6 @@ func (e *NestedLoopApplyExec) Close() error {
e.memTracker = nil
if e.runtimeStats != nil {
runtimeStats := newJoinRuntimeStats()
- e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, runtimeStats)
if e.canUseCache {
var hitRatio float64
if e.cacheAccessCounter > 0 {
@@ -1294,6 +1286,7 @@ func (e *NestedLoopApplyExec) Close() error {
runtimeStats.setCacheInfo(false, 0)
}
runtimeStats.SetConcurrencyInfo(execdetails.NewConcurrencyInfo("Concurrency", 0))
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, runtimeStats)
}
return e.outerExec.Close()
}
@@ -1551,6 +1544,17 @@ func (e *joinRuntimeStats) Tp() int {
return execdetails.TpJoinRuntimeStats
}
+func (e *joinRuntimeStats) Clone() execdetails.RuntimeStats {
+ newJRS := &joinRuntimeStats{
+ RuntimeStatsWithConcurrencyInfo: e.RuntimeStatsWithConcurrencyInfo,
+ applyCache: e.applyCache,
+ cache: e.cache,
+ hasHashStat: e.hasHashStat,
+ hashStat: e.hashStat,
+ }
+ return newJRS
+}
+
type hashJoinRuntimeStats struct {
fetchAndBuildHashTable time.Duration
hashStat hashStatistic
diff --git a/executor/join_test.go b/executor/join_test.go
index 9fd6d2c318818..a5d5f6efc9fb5 100644
--- a/executor/join_test.go
+++ b/executor/join_test.go
@@ -1412,6 +1412,7 @@ func TestIndexNestedLoopHashJoin(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
+ tk.MustExec("set tidb_cost_model_version=2")
tk.MustExec("set @@tidb_init_chunk_size=2")
tk.MustExec("set @@tidb_index_join_batch_size=10")
tk.MustExec("DROP TABLE IF EXISTS t, s")
@@ -2306,16 +2307,14 @@ func TestIssue18070(t *testing.T) {
tk.MustExec("insert into t1 values(1),(2)")
tk.MustExec("insert into t2 values(1),(1),(2),(2)")
tk.MustExec("set @@tidb_mem_quota_query=1000")
- err := tk.QueryToErr("select /*+ inl_hash_join(t1)*/ * from t1 join t2 on t1.a = t2.a;")
- require.True(t, strings.Contains(err.Error(), "Out Of Memory Quota!"))
+ tk.MustContainErrMsg("select /*+ inl_hash_join(t1)*/ * from t1 join t2 on t1.a = t2.a;", "Out Of Memory Quota!")
fpName := "github.com/pingcap/tidb/executor/mockIndexMergeJoinOOMPanic"
require.NoError(t, failpoint.Enable(fpName, `panic("ERROR 1105 (HY000): Out Of Memory Quota![conn_id=1]")`))
defer func() {
require.NoError(t, failpoint.Disable(fpName))
}()
- err = tk.QueryToErr("select /*+ inl_merge_join(t1)*/ * from t1 join t2 on t1.a = t2.a;")
- require.True(t, strings.Contains(err.Error(), "Out Of Memory Quota!"))
+ tk.MustContainErrMsg("select /*+ inl_merge_join(t1)*/ * from t1 join t2 on t1.a = t2.a;", "Out Of Memory Quota!")
}
func TestIssue18564(t *testing.T) {
diff --git a/executor/load_data.go b/executor/load_data.go
index e11137c3916ae..a5db464ce705e 100644
--- a/executor/load_data.go
+++ b/executor/load_data.go
@@ -80,6 +80,9 @@ func (e *LoadDataExec) Next(ctx context.Context, req *chunk.Chunk) error {
// Close implements the Executor Close interface.
func (e *LoadDataExec) Close() error {
+ if e.runtimeStats != nil && e.loadDataInfo != nil && e.loadDataInfo.stats != nil {
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.loadDataInfo.stats)
+ }
return nil
}
diff --git a/executor/main_test.go b/executor/main_test.go
index 512eced5b50fa..4bf8cfb8f1bac 100644
--- a/executor/main_test.go
+++ b/executor/main_test.go
@@ -33,6 +33,7 @@ var prepareMergeSuiteData testdata.TestData
var aggMergeSuiteData testdata.TestData
var executorSuiteData testdata.TestData
var pointGetSuiteData testdata.TestData
+var slowQuerySuiteData testdata.TestData
func TestMain(m *testing.M) {
testsetup.SetupForCommonTest()
@@ -40,10 +41,12 @@ func TestMain(m *testing.M) {
testDataMap.LoadTestSuiteData("testdata", "executor_suite")
testDataMap.LoadTestSuiteData("testdata", "prepare_suite")
testDataMap.LoadTestSuiteData("testdata", "point_get_suite")
+ testDataMap.LoadTestSuiteData("testdata", "slow_query_suite")
aggMergeSuiteData = testDataMap["agg_suite"]
executorSuiteData = testDataMap["executor_suite"]
prepareMergeSuiteData = testDataMap["prepare_suite"]
pointGetSuiteData = testDataMap["point_get_suite"]
+ slowQuerySuiteData = testDataMap["slow_query_suite"]
autoid.SetStep(5000)
config.UpdateGlobal(func(conf *config.Config) {
diff --git a/executor/mem_reader.go b/executor/mem_reader.go
index 3790a5d862539..647d785caeafc 100644
--- a/executor/mem_reader.go
+++ b/executor/mem_reader.go
@@ -595,6 +595,7 @@ type memIndexMergeReader struct {
retFieldTypes []*types.FieldType
indexMergeReader *IndexMergeReaderExecutor
memReaders []memReader
+ isIntersection bool
// partition mode
partitionMode bool // if it is accessing a partition table
@@ -651,6 +652,7 @@ func buildMemIndexMergeReader(ctx context.Context, us *UnionScanExec, indexMerge
retFieldTypes: retTypes(us),
indexMergeReader: indexMergeReader,
memReaders: memReaders,
+ isIntersection: indexMergeReader.isIntersection,
partitionMode: indexMergeReader.partitionTableMode,
partitionTables: indexMergeReader.prunedPartitions,
@@ -676,11 +678,20 @@ func (m *memIndexMergeReader) getMemRows(ctx context.Context) ([][]types.Datum,
} else {
kvRanges = append(kvRanges, m.indexMergeReader.keyRanges)
}
+ if len(kvRanges) != len(tbls) {
+ return nil, errors.Errorf("length of tbls(size: %d) should be equals to length of kvRanges(size: %d)", len(tbls), len(kvRanges))
+ }
tblKVRanges := make([]kv.KeyRange, 0, 16)
numHandles := 0
+ var handles []kv.Handle
+ var err error
for i, tbl := range tbls {
- handles, err := m.unionHandles(kvRanges[i])
+ if m.isIntersection {
+ handles, err = m.intersectionHandles(kvRanges[i])
+ } else {
+ handles, err = m.unionHandles(kvRanges[i])
+ }
if err != nil {
return nil, err
}
@@ -716,7 +727,7 @@ func (m *memIndexMergeReader) getMemRows(ctx context.Context) ([][]types.Datum,
return memTblReader.getMemRows(ctx)
}
-// Union all handles of different Indexes.
+// Union all handles of all partial paths.
func (m *memIndexMergeReader) unionHandles(kvRanges [][]kv.KeyRange) (finalHandles []kv.Handle, err error) {
if len(m.memReaders) != len(kvRanges) {
return nil, errors.Errorf("len(kvRanges) should be equal to len(memReaders)")
@@ -747,6 +758,44 @@ func (m *memIndexMergeReader) unionHandles(kvRanges [][]kv.KeyRange) (finalHandl
return finalHandles, nil
}
+// Intersect handles of each partial paths.
+func (m *memIndexMergeReader) intersectionHandles(kvRanges [][]kv.KeyRange) (finalHandles []kv.Handle, err error) {
+ if len(m.memReaders) != len(kvRanges) {
+ return nil, errors.Errorf("len(kvRanges) should be equal to len(memReaders)")
+ }
+
+ hMap := kv.NewHandleMap()
+ var handles []kv.Handle
+ for i, reader := range m.memReaders {
+ switch r := reader.(type) {
+ case *memTableReader:
+ r.kvRanges = kvRanges[i]
+ case *memIndexReader:
+ r.kvRanges = kvRanges[i]
+ default:
+ return nil, errors.New("memReader have to be memTableReader or memIndexReader")
+ }
+ if handles, err = reader.getMemRowsHandle(); err != nil {
+ return nil, err
+ }
+ for _, h := range handles {
+ if cntPtr, ok := hMap.Get(h); !ok {
+ cnt := 1
+ hMap.Set(h, &cnt)
+ } else {
+ *(cntPtr.(*int)) += 1
+ }
+ }
+ }
+ hMap.Range(func(h kv.Handle, val interface{}) bool {
+ if *(val.(*int)) == len(m.memReaders) {
+ finalHandles = append(finalHandles, h)
+ }
+ return true
+ })
+ return finalHandles, nil
+}
+
func (m *memIndexMergeReader) getMemRowsHandle() ([]kv.Handle, error) {
return nil, errors.New("getMemRowsHandle has not been implemented for memIndexMergeReader")
}
diff --git a/executor/memtable_reader.go b/executor/memtable_reader.go
index dc215e71fe3bb..3c1530ed714cf 100644
--- a/executor/memtable_reader.go
+++ b/executor/memtable_reader.go
@@ -29,7 +29,6 @@ import (
"github.com/pingcap/errors"
"github.com/pingcap/failpoint"
"github.com/pingcap/kvproto/pkg/diagnosticspb"
- "github.com/pingcap/log"
"github.com/pingcap/sysutil"
"github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/infoschema"
@@ -47,7 +46,6 @@ import (
"github.com/pingcap/tidb/util/execdetails"
"github.com/pingcap/tidb/util/pdapi"
"github.com/pingcap/tidb/util/set"
- "go.uber.org/zap"
"golang.org/x/exp/slices"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
@@ -138,7 +136,7 @@ func (e *MemTableReaderExec) Next(ctx context.Context, req *chunk.Chunk) error {
// Close implements the Executor Close interface.
func (e *MemTableReaderExec) Close() error {
if stats := e.retriever.getRuntimeStats(); stats != nil && e.runtimeStats != nil {
- e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, stats)
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, stats)
}
return e.retriever.close()
}
@@ -177,7 +175,7 @@ func fetchClusterConfig(sctx sessionctx.Context, nodeTypes, nodeAddrs set.String
if err != nil {
return nil, err
}
- serversInfo = filterClusterServerInfo(serversInfo, nodeTypes, nodeAddrs)
+ serversInfo = infoschema.FilterClusterServerInfo(serversInfo, nodeTypes, nodeAddrs)
//nolint: prealloc
var finalRows [][]types.Datum
wg := sync.WaitGroup{}
@@ -310,108 +308,12 @@ func (e *clusterServerInfoRetriever) retrieve(ctx context.Context, sctx sessionc
return nil, nil
}
e.retrieved = true
-
serversInfo, err := infoschema.GetClusterServerInfo(sctx)
if err != nil {
return nil, err
}
- serversInfo = filterClusterServerInfo(serversInfo, e.extractor.NodeTypes, e.extractor.Instances)
-
- type result struct {
- idx int
- rows [][]types.Datum
- err error
- }
- wg := sync.WaitGroup{}
- ch := make(chan result, len(serversInfo))
- infoTp := e.serverInfoType
- finalRows := make([][]types.Datum, 0, len(serversInfo)*10)
- for i, srv := range serversInfo {
- address := srv.Address
- remote := address
- if srv.ServerType == "tidb" {
- remote = srv.StatusAddr
- }
- wg.Add(1)
- go func(index int, remote, address, serverTP string) {
- util.WithRecovery(func() {
- defer wg.Done()
- items, err := getServerInfoByGRPC(ctx, remote, infoTp)
- if err != nil {
- ch <- result{idx: index, err: err}
- return
- }
- partRows := serverInfoItemToRows(items, serverTP, address)
- ch <- result{idx: index, rows: partRows}
- }, nil)
- }(i, remote, address, srv.ServerType)
- }
- wg.Wait()
- close(ch)
- // Keep the original order to make the result more stable
- var results []result //nolint: prealloc
- for result := range ch {
- if result.err != nil {
- sctx.GetSessionVars().StmtCtx.AppendWarning(result.err)
- continue
- }
- results = append(results, result)
- }
- slices.SortFunc(results, func(i, j result) bool { return i.idx < j.idx })
- for _, result := range results {
- finalRows = append(finalRows, result.rows...)
- }
- return finalRows, nil
-}
-
-func serverInfoItemToRows(items []*diagnosticspb.ServerInfoItem, tp, addr string) [][]types.Datum {
- rows := make([][]types.Datum, 0, len(items))
- for _, v := range items {
- for _, item := range v.Pairs {
- row := types.MakeDatums(
- tp,
- addr,
- v.Tp,
- v.Name,
- item.Key,
- item.Value,
- )
- rows = append(rows, row)
- }
- }
- return rows
-}
-
-func getServerInfoByGRPC(ctx context.Context, address string, tp diagnosticspb.ServerInfoType) ([]*diagnosticspb.ServerInfoItem, error) {
- opt := grpc.WithInsecure()
- security := config.GetGlobalConfig().Security
- if len(security.ClusterSSLCA) != 0 {
- clusterSecurity := security.ClusterSecurity()
- tlsConfig, err := clusterSecurity.ToTLSConfig()
- if err != nil {
- return nil, errors.Trace(err)
- }
- opt = grpc.WithTransportCredentials(credentials.NewTLS(tlsConfig))
- }
- conn, err := grpc.Dial(address, opt)
- if err != nil {
- return nil, err
- }
- defer func() {
- err := conn.Close()
- if err != nil {
- log.Error("close grpc connection error", zap.Error(err))
- }
- }()
-
- cli := diagnosticspb.NewDiagnosticsClient(conn)
- ctx, cancel := context.WithTimeout(ctx, time.Second*10)
- defer cancel()
- r, err := cli.ServerInfo(ctx, &diagnosticspb.ServerInfoRequest{Tp: tp})
- if err != nil {
- return nil, err
- }
- return r.Items, nil
+ serversInfo = infoschema.FilterClusterServerInfo(serversInfo, e.extractor.NodeTypes, e.extractor.Instances)
+ return infoschema.FetchClusterServerInfoWithoutPrivilegeCheck(ctx, sctx, serversInfo, e.serverInfoType, true)
}
func parseFailpointServerInfo(s string) []infoschema.ServerInfo {
@@ -428,28 +330,6 @@ func parseFailpointServerInfo(s string) []infoschema.ServerInfo {
return serversInfo
}
-func filterClusterServerInfo(serversInfo []infoschema.ServerInfo, nodeTypes, addresses set.StringSet) []infoschema.ServerInfo {
- if len(nodeTypes) == 0 && len(addresses) == 0 {
- return serversInfo
- }
-
- filterServers := make([]infoschema.ServerInfo, 0, len(serversInfo))
- for _, srv := range serversInfo {
- // Skip some node type which has been filtered in WHERE clause
- // e.g: SELECT * FROM cluster_config WHERE type='tikv'
- if len(nodeTypes) > 0 && !nodeTypes.Exist(srv.ServerType) {
- continue
- }
- // Skip some node address which has been filtered in WHERE clause
- // e.g: SELECT * FROM cluster_config WHERE address='192.16.8.12:2379'
- if len(addresses) > 0 && !addresses.Exist(srv.Address) {
- continue
- }
- filterServers = append(filterServers, srv)
- }
- return filterServers
-}
-
type clusterLogRetriever struct {
isDrained bool
retrieving bool
@@ -515,7 +395,7 @@ func (e *clusterLogRetriever) initialize(ctx context.Context, sctx sessionctx.Co
instances := e.extractor.Instances
nodeTypes := e.extractor.NodeTypes
- serversInfo = filterClusterServerInfo(serversInfo, nodeTypes, instances)
+ serversInfo = infoschema.FilterClusterServerInfo(serversInfo, nodeTypes, instances)
var levels = make([]diagnosticspb.LogLevel, 0, len(e.extractor.LogLevels))
for l := range e.extractor.LogLevels {
diff --git a/executor/mpp_gather.go b/executor/mpp_gather.go
index 42526774dbdd5..eba5498f8869d 100644
--- a/executor/mpp_gather.go
+++ b/executor/mpp_gather.go
@@ -16,6 +16,7 @@ package executor
import (
"context"
+ "time"
"github.com/pingcap/errors"
"github.com/pingcap/failpoint"
@@ -38,6 +39,18 @@ func useMPPExecution(ctx sessionctx.Context, tr *plannercore.PhysicalTableReader
return ok
}
+func getMPPQueryID(ctx sessionctx.Context) uint64 {
+ mppQueryInfo := &ctx.GetSessionVars().StmtCtx.MPPQueryInfo
+ mppQueryInfo.QueryID.CompareAndSwap(0, plannercore.AllocMPPQueryID())
+ return mppQueryInfo.QueryID.Load()
+}
+
+func getMPPQueryTS(ctx sessionctx.Context) uint64 {
+ mppQueryInfo := &ctx.GetSessionVars().StmtCtx.MPPQueryInfo
+ mppQueryInfo.QueryTS.CompareAndSwap(0, uint64(time.Now().UnixNano()))
+ return mppQueryInfo.QueryTS.Load()
+}
+
// MPPGather dispatch MPP tasks and read data from root tasks.
type MPPGather struct {
// following fields are construct needed
@@ -45,6 +58,7 @@ type MPPGather struct {
is infoschema.InfoSchema
originalPlan plannercore.PhysicalPlan
startTS uint64
+ mppQueryID kv.MPPQueryID
mppReqs []*kv.MPPDispatchRequest
@@ -67,7 +81,9 @@ func (e *MPPGather) appendMPPDispatchReq(pf *plannercore.Fragment) error {
for _, mppTask := range pf.ExchangeSender.Tasks {
if mppTask.PartitionTableIDs != nil {
err = updateExecutorTableID(context.Background(), dagReq.RootExecutor, true, mppTask.PartitionTableIDs)
- } else {
+ } else if !mppTask.IsDisaggregatedTiFlashStaticPrune {
+ // If isDisaggregatedTiFlashStaticPrune is true, it means this TableScan is under PartitionUnoin,
+ // tableID in TableScan is already the physical table id of this partition, no need to update again.
err = updateExecutorTableID(context.Background(), dagReq.RootExecutor, true, []int64{mppTask.TableID})
}
if err != nil {
@@ -78,17 +94,19 @@ func (e *MPPGather) appendMPPDispatchReq(pf *plannercore.Fragment) error {
return errors.Trace(err)
}
logutil.BgLogger().Info("Dispatch mpp task", zap.Uint64("timestamp", mppTask.StartTs),
- zap.Int64("ID", mppTask.ID), zap.String("address", mppTask.Meta.GetAddress()),
+ zap.Int64("ID", mppTask.ID), zap.Uint64("QueryTs", mppTask.MppQueryID.QueryTs), zap.Uint64("LocalQueryId", mppTask.MppQueryID.LocalQueryID),
+ zap.Uint64("ServerID", mppTask.MppQueryID.ServerID), zap.String("address", mppTask.Meta.GetAddress()),
zap.String("plan", plannercore.ToString(pf.ExchangeSender)))
req := &kv.MPPDispatchRequest{
- Data: pbData,
- Meta: mppTask.Meta,
- ID: mppTask.ID,
- IsRoot: pf.IsRoot,
- Timeout: 10,
- SchemaVar: e.is.SchemaMetaVersion(),
- StartTs: e.startTS,
- State: kv.MppTaskReady,
+ Data: pbData,
+ Meta: mppTask.Meta,
+ ID: mppTask.ID,
+ IsRoot: pf.IsRoot,
+ Timeout: 10,
+ SchemaVar: e.is.SchemaMetaVersion(),
+ StartTs: e.startTS,
+ MppQueryID: mppTask.MppQueryID,
+ State: kv.MppTaskReady,
}
e.mppReqs = append(e.mppReqs, req)
}
@@ -109,7 +127,7 @@ func (e *MPPGather) Open(ctx context.Context) (err error) {
// TODO: Move the construct tasks logic to planner, so we can see the explain results.
sender := e.originalPlan.(*plannercore.PhysicalExchangeSender)
planIDs := collectPlanIDS(e.originalPlan, nil)
- frags, err := plannercore.GenerateRootMPPTasks(e.ctx, e.startTS, sender, e.is)
+ frags, err := plannercore.GenerateRootMPPTasks(e.ctx, e.startTS, e.mppQueryID, sender, e.is)
if err != nil {
return errors.Trace(err)
}
@@ -124,7 +142,7 @@ func (e *MPPGather) Open(ctx context.Context) (err error) {
failpoint.Return(errors.Errorf("The number of tasks is not right, expect %d tasks but actually there are %d tasks", val.(int), len(e.mppReqs)))
}
})
- e.respIter, err = distsql.DispatchMPPTasks(ctx, e.ctx, e.mppReqs, e.retFieldTypes, planIDs, e.id, e.startTS)
+ e.respIter, err = distsql.DispatchMPPTasks(ctx, e.ctx, e.mppReqs, e.retFieldTypes, planIDs, e.id, e.startTS, e.mppQueryID)
if err != nil {
return errors.Trace(err)
}
diff --git a/executor/oomtest/BUILD.bazel b/executor/oomtest/BUILD.bazel
index 2afd5b2da0816..2fd8fe00f7d23 100644
--- a/executor/oomtest/BUILD.bazel
+++ b/executor/oomtest/BUILD.bazel
@@ -5,6 +5,7 @@ go_test(
timeout = "short",
srcs = ["oom_test.go"],
flaky = True,
+ race = "on",
deps = [
"//testkit",
"//testkit/testsetup",
diff --git a/executor/oomtest/oom_test.go b/executor/oomtest/oom_test.go
index 853b687f8c273..fc95bb47ceab8 100644
--- a/executor/oomtest/oom_test.go
+++ b/executor/oomtest/oom_test.go
@@ -137,6 +137,7 @@ func TestMemTracker4DeleteExec(t *testing.T) {
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
+ tk.MustExec("set tidb_cost_model_version=1")
tk.MustExec("create table MemTracker4DeleteExec1 (id int, a int, b int, index idx_a(`a`))")
tk.MustExec("create table MemTracker4DeleteExec2 (id int, a int, b int, index idx_a(`a`))")
@@ -221,6 +222,11 @@ func (h *oomCapture) Write(entry zapcore.Entry, fields []zapcore.Field) error {
h.tracker = str[begin+len("8001]") : end]
return nil
}
+ // They are just common background task and not related to the oom.
+ if entry.Message == "SetTiFlashGroupConfig" ||
+ entry.Message == "record table item load status failed due to not finding item" {
+ return nil
+ }
h.mu.Lock()
h.tracker = entry.Message
diff --git a/executor/parallel_apply.go b/executor/parallel_apply.go
index 2c4499b14818c..a0d418cc0e441 100644
--- a/executor/parallel_apply.go
+++ b/executor/parallel_apply.go
@@ -176,7 +176,6 @@ func (e *ParallelNestedLoopApplyExec) Close() error {
if e.runtimeStats != nil {
runtimeStats := newJoinRuntimeStats()
- e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, runtimeStats)
if e.useCache {
var hitRatio float64
if e.cacheAccessCounter > 0 {
@@ -187,6 +186,7 @@ func (e *ParallelNestedLoopApplyExec) Close() error {
runtimeStats.setCacheInfo(false, 0)
}
runtimeStats.SetConcurrencyInfo(execdetails.NewConcurrencyInfo("Concurrency", e.concurrency))
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, runtimeStats)
}
return err
}
diff --git a/executor/partition_table_test.go b/executor/partition_table_test.go
index 39ac194311588..85b096c28ff0d 100644
--- a/executor/partition_table_test.go
+++ b/executor/partition_table_test.go
@@ -17,6 +17,7 @@ package executor_test
import (
"fmt"
"math/rand"
+ "strconv"
"strings"
"testing"
"time"
@@ -84,7 +85,7 @@ partition p2 values less than (10))`)
// Table reader: one partition
tk.MustQuery("select * from pt where c > 8").Check(testkit.Rows("9 9"))
// Table reader: more than one partition
- tk.MustQuery("select * from pt where c < 2 or c >= 9").Check(testkit.Rows("0 0", "9 9"))
+ tk.MustQuery("select * from pt where c < 2 or c >= 9").Sort().Check(testkit.Rows("0 0", "9 9"))
// Index reader
tk.MustQuery("select c from pt").Sort().Check(testkit.Rows("0", "2", "4", "6", "7", "9", ""))
@@ -96,7 +97,7 @@ partition p2 values less than (10))`)
tk.MustQuery("select /*+ use_index(pt, i_id) */ * from pt").Sort().Check(testkit.Rows("0 0", "2 2", "4 4", "6 6", "7 7", "9 9", " "))
tk.MustQuery("select /*+ use_index(pt, i_id) */ * from pt where id < 4 and c > 10").Check(testkit.Rows())
tk.MustQuery("select /*+ use_index(pt, i_id) */ * from pt where id < 10 and c > 8").Check(testkit.Rows("9 9"))
- tk.MustQuery("select /*+ use_index(pt, i_id) */ * from pt where id < 10 and c < 2 or c >= 9").Check(testkit.Rows("0 0", "9 9"))
+ tk.MustQuery("select /*+ use_index(pt, i_id) */ * from pt where id < 10 and c < 2 or c >= 9").Sort().Check(testkit.Rows("0 0", "9 9"))
// Index Merge
tk.MustExec("set @@tidb_enable_index_merge = 1")
@@ -356,7 +357,7 @@ func TestPartitionInfoDisable(t *testing.T) {
tk.MustQuery("select * from t_info_null where (date = '2020-10-02' or date = '2020-10-06') and app = 'xxx' and media = '19003006'").Check(testkit.Rows())
}
-func TestOrderByandLimit(t *testing.T) {
+func TestOrderByAndLimit(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
@@ -377,14 +378,148 @@ func TestOrderByandLimit(t *testing.T) {
// regular table
tk.MustExec("create table tregular(a int, b int, index idx_a(a))")
+ // range partition table with int pk
+ tk.MustExec(`create table trange_intpk(a int primary key, b int) partition by range(a) (
+ partition p0 values less than(300),
+ partition p1 values less than (500),
+ partition p2 values less than(1100));`)
+
+ // hash partition table with int pk
+ tk.MustExec("create table thash_intpk(a int primary key, b int) partition by hash(a) partitions 4;")
+
+ // regular table with int pk
+ tk.MustExec("create table tregular_intpk(a int primary key, b int)")
+
+ // range partition table with clustered index
+ tk.MustExec(`create table trange_clustered(a int, b int, primary key(a, b) clustered) partition by range(a) (
+ partition p0 values less than(300),
+ partition p1 values less than (500),
+ partition p2 values less than(1100));`)
+
+ // hash partition table with clustered index
+ tk.MustExec("create table thash_clustered(a int, b int, primary key(a, b) clustered) partition by hash(a) partitions 4;")
+
+ // regular table with clustered index
+ tk.MustExec("create table tregular_clustered(a int, b int, primary key(a, b) clustered)")
+
+ listVals := make([]int, 0, 2000)
+
+ for i := 0; i < 2000; i++ {
+ listVals = append(listVals, i)
+ }
+ rand.Shuffle(len(listVals), func(i, j int) {
+ listVals[i], listVals[j] = listVals[j], listVals[i]
+ })
+
+ var listVals1, listVals2, listVals3 string
+
+ for i := 0; i <= 600; i++ {
+ listVals1 += strconv.Itoa(listVals[i])
+ if i != 600 {
+ listVals1 += ","
+ }
+ }
+ for i := 601; i <= 1200; i++ {
+ listVals2 += strconv.Itoa(listVals[i])
+ if i != 1200 {
+ listVals2 += ","
+ }
+ }
+ for i := 1201; i <= 1999; i++ {
+ listVals3 += strconv.Itoa(listVals[i])
+ if i != 1999 {
+ listVals3 += ","
+ }
+ }
+
+ tk.MustExec(fmt.Sprintf(`create table tlist_intpk(a int primary key, b int) partition by list(a)(
+ partition p1 values in (%s),
+ partition p2 values in (%s),
+ partition p3 values in (%s)
+ )`, listVals1, listVals2, listVals3))
+ tk.MustExec(fmt.Sprintf(`create table tlist(a int, b int, index idx_a(a)) partition by list(a)(
+ partition p1 values in (%s),
+ partition p2 values in (%s),
+ partition p3 values in (%s)
+ )`, listVals1, listVals2, listVals3))
+ tk.MustExec(fmt.Sprintf(`create table tlist_clustered(a int, b int, primary key(a, b)) partition by list(a)(
+ partition p1 values in (%s),
+ partition p2 values in (%s),
+ partition p3 values in (%s)
+ )`, listVals1, listVals2, listVals3))
+
// generate some random data to be inserted
vals := make([]string, 0, 2000)
for i := 0; i < 2000; i++ {
vals = append(vals, fmt.Sprintf("(%v, %v)", rand.Intn(1100), rand.Intn(2000)))
}
- tk.MustExec("insert into trange values " + strings.Join(vals, ","))
- tk.MustExec("insert into thash values " + strings.Join(vals, ","))
- tk.MustExec("insert into tregular values " + strings.Join(vals, ","))
+
+ dedupValsA := make([]string, 0, 2000)
+ dedupMapA := make(map[int]struct{}, 2000)
+ for i := 0; i < 2000; i++ {
+ valA := rand.Intn(1100)
+ if _, ok := dedupMapA[valA]; ok {
+ continue
+ }
+ dedupValsA = append(dedupValsA, fmt.Sprintf("(%v, %v)", valA, rand.Intn(2000)))
+ dedupMapA[valA] = struct{}{}
+ }
+
+ dedupValsAB := make([]string, 0, 2000)
+ dedupMapAB := make(map[string]struct{}, 2000)
+ for i := 0; i < 2000; i++ {
+ val := fmt.Sprintf("(%v, %v)", rand.Intn(1100), rand.Intn(2000))
+ if _, ok := dedupMapAB[val]; ok {
+ continue
+ }
+ dedupValsAB = append(dedupValsAB, val)
+ dedupMapAB[val] = struct{}{}
+ }
+
+ valInserted := strings.Join(vals, ",")
+ valDedupAInserted := strings.Join(dedupValsA, ",")
+ valDedupABInserted := strings.Join(dedupValsAB, ",")
+
+ tk.MustExec("insert into trange values " + valInserted)
+ tk.MustExec("insert into thash values " + valInserted)
+ tk.MustExec("insert into tlist values" + valInserted)
+ tk.MustExec("insert into tregular values " + valInserted)
+ tk.MustExec("insert into trange_intpk values " + valDedupAInserted)
+ tk.MustExec("insert into thash_intpk values " + valDedupAInserted)
+ tk.MustExec("insert into tlist_intpk values " + valDedupAInserted)
+ tk.MustExec("insert into tregular_intpk values " + valDedupAInserted)
+ tk.MustExec("insert into trange_clustered values " + valDedupABInserted)
+ tk.MustExec("insert into thash_clustered values " + valDedupABInserted)
+ tk.MustExec("insert into tlist_clustered values " + valDedupABInserted)
+ tk.MustExec("insert into tregular_clustered values " + valDedupABInserted)
+
+ tk.MustExec("analyze table trange")
+ tk.MustExec("analyze table trange_intpk")
+ tk.MustExec("analyze table trange_clustered")
+ tk.MustExec("analyze table thash")
+ tk.MustExec("analyze table thash_intpk")
+ tk.MustExec("analyze table thash_clustered")
+ tk.MustExec("analyze table tregular")
+ tk.MustExec("analyze table tregular_intpk")
+ tk.MustExec("analyze table tregular_clustered")
+ tk.MustExec("analyze table tlist")
+ tk.MustExec("analyze table tlist_intpk")
+ tk.MustExec("analyze table tlist_clustered")
+
+ // Create virtual tiflash replica info.
+ dom := domain.GetDomain(tk.Session())
+ is := dom.InfoSchema()
+ db, exists := is.SchemaByName(model.NewCIStr("test_orderby_limit"))
+ require.True(t, exists)
+ for _, tblInfo := range db.Tables {
+ if strings.HasPrefix(tblInfo.Name.L, "tr") || strings.HasPrefix(tblInfo.Name.L, "thash") || strings.HasPrefix(tblInfo.Name.L, "tlist") {
+ tblInfo.TiFlashReplica = &model.TiFlashReplicaInfo{
+ Count: 1,
+ Available: true,
+ }
+ }
+ }
+ tk.MustExec("set @@session.tidb_isolation_read_engines=\"tikv\"")
// test indexLookUp
for i := 0; i < 100; i++ {
@@ -398,6 +533,34 @@ func TestOrderByandLimit(t *testing.T) {
tk.MustQuery(queryPartition).Sort().Check(tk.MustQuery(queryRegular).Sort().Rows())
}
+ // test indexLookUp with order property pushed down.
+ for i := 0; i < 100; i++ {
+ // explain select * from t where a > {y} use index(idx_a) order by a limit {x}; // check if IndexLookUp is used
+ // select * from t where a > {y} use index(idx_a) order by a limit {x}; // it can return the correct result
+ x := rand.Intn(1099)
+ y := rand.Intn(2000) + 1
+ // Since we only use order by a not order by a, b, the result is not stable when we read both a and b.
+ // We cut the max element so that the result can be stable.
+ maxEle := tk.MustQuery(fmt.Sprintf("select ifnull(max(a), 1100) from (select * from tregular use index(idx_a) where a > %v order by a limit %v) t", x, y)).Rows()[0][0]
+ queryRangePartitionWithLimitHint := fmt.Sprintf("select /*+ LIMIT_TO_COP() */ * from trange use index(idx_a) where a > %v and a < greatest(%v+1, %v) order by a limit %v", x, x+1, maxEle, y)
+ queryHashPartitionWithLimitHint := fmt.Sprintf("select /*+ LIMIT_TO_COP() */ * from thash use index(idx_a) where a > %v and a < greatest(%v+1, %v) order by a limit %v", x, x+1, maxEle, y)
+ queryListPartitionWithLimitHint := fmt.Sprintf("select /*+ LIMIT_TO_COP() */ * from thash use index(idx_a) where a > %v and a < greatest(%v+1, %v) order by a limit %v", x, x+1, maxEle, y)
+ queryRegular := fmt.Sprintf("select * from tregular use index(idx_a) where a > %v and a < greatest(%v+1, %v) order by a limit %v;", x, x+1, maxEle, y)
+ require.True(t, tk.HasPlan(queryRangePartitionWithLimitHint, "Limit"))
+ require.True(t, tk.HasPlan(queryRangePartitionWithLimitHint, "IndexLookUp"))
+ require.True(t, tk.HasPlan(queryHashPartitionWithLimitHint, "Limit"))
+ require.True(t, tk.HasPlan(queryHashPartitionWithLimitHint, "IndexLookUp"))
+ require.True(t, tk.HasPlan(queryListPartitionWithLimitHint, "Limit"))
+ require.True(t, tk.HasPlan(queryListPartitionWithLimitHint, "IndexLookUp"))
+ require.True(t, tk.HasPlan(queryRangePartitionWithLimitHint, "TopN")) // but not fully pushed
+ require.True(t, tk.HasPlan(queryHashPartitionWithLimitHint, "TopN"))
+ require.True(t, tk.HasPlan(queryListPartitionWithLimitHint, "TopN"))
+ regularResult := tk.MustQuery(queryRegular).Sort().Rows()
+ tk.MustQuery(queryRangePartitionWithLimitHint).Sort().Check(regularResult)
+ tk.MustQuery(queryHashPartitionWithLimitHint).Sort().Check(regularResult)
+ tk.MustQuery(queryListPartitionWithLimitHint).Sort().Check(regularResult)
+ }
+
// test tableReader
for i := 0; i < 100; i++ {
// explain select * from t where a > {y} ignore index(idx_a) order by a limit {x}; // check if IndexLookUp is used
@@ -410,6 +573,119 @@ func TestOrderByandLimit(t *testing.T) {
tk.MustQuery(queryPartition).Sort().Check(tk.MustQuery(queryRegular).Sort().Rows())
}
+ // test tableReader with order property pushed down.
+ for i := 0; i < 100; i++ {
+ // explain select * from t where a > {y} ignore index(idx_a) order by a limit {x}; // check if IndexLookUp is used
+ // select * from t where a > {y} ignore index(idx_a) order by a limit {x}; // it can return the correct result
+ x := rand.Intn(1099)
+ y := rand.Intn(2000) + 1
+ queryRangePartition := fmt.Sprintf("select /*+ LIMIT_TO_COP() */ * from trange ignore index(idx_a) where a > %v order by a, b limit %v;", x, y)
+ queryHashPartition := fmt.Sprintf("select /*+ LIMIT_TO_COP() */ * from thash ignore index(idx_a) where a > %v order by a, b limit %v;", x, y)
+ queryListPartition := fmt.Sprintf("select /*+ LIMIT_TO_COP() */ * from tlist ignore index(idx_a) where a > %v order by a, b limit %v;", x, y)
+ queryRegular := fmt.Sprintf("select * from tregular ignore index(idx_a) where a > %v order by a, b limit %v;", x, y)
+ require.True(t, tk.HasPlan(queryRangePartition, "TableReader")) // check if tableReader is used
+ require.True(t, tk.HasPlan(queryHashPartition, "TableReader"))
+ require.True(t, tk.HasPlan(queryListPartition, "TableReader"))
+ require.False(t, tk.HasPlan(queryRangePartition, "Limit")) // check if order property is not pushed
+ require.False(t, tk.HasPlan(queryHashPartition, "Limit"))
+ require.False(t, tk.HasPlan(queryListPartition, "Limit"))
+ regularResult := tk.MustQuery(queryRegular).Sort().Rows()
+ tk.MustQuery(queryRangePartition).Sort().Check(regularResult)
+ tk.MustQuery(queryHashPartition).Sort().Check(regularResult)
+ tk.MustQuery(queryListPartition).Sort().Check(regularResult)
+
+ // test int pk
+ // To be simplified, we only read column a.
+ queryRangePartition = fmt.Sprintf("select /*+ LIMIT_TO_COP() */ a from trange_intpk use index(primary) where a > %v order by a limit %v", x, y)
+ queryHashPartition = fmt.Sprintf("select /*+ LIMIT_TO_COP() */ a from thash_intpk use index(primary) where a > %v order by a limit %v", x, y)
+ queryListPartition = fmt.Sprintf("select /*+ LIMIT_TO_COP() */ a from tlist_intpk use index(primary) where a > %v order by a limit %v", x, y)
+ queryRegular = fmt.Sprintf("select a from tregular_intpk where a > %v order by a limit %v", x, y)
+ require.True(t, tk.HasPlan(queryRangePartition, "TableReader"))
+ require.True(t, tk.HasPlan(queryHashPartition, "TableReader"))
+ require.True(t, tk.HasPlan(queryListPartition, "TableReader"))
+ require.True(t, tk.HasPlan(queryRangePartition, "Limit")) // check if order property is not pushed
+ require.True(t, tk.HasPlan(queryHashPartition, "Limit"))
+ require.True(t, tk.HasPlan(queryListPartition, "Limit"))
+ regularResult = tk.MustQuery(queryRegular).Rows()
+ tk.MustQuery(queryRangePartition).Check(regularResult)
+ tk.MustQuery(queryHashPartition).Check(regularResult)
+ tk.MustQuery(queryListPartition).Check(regularResult)
+
+ // test clustered index
+ queryRangePartition = fmt.Sprintf("select /*+ LIMIT_TO_COP() */ * from trange_clustered use index(primary) where a > %v order by a, b limit %v;", x, y)
+ queryHashPartition = fmt.Sprintf("select /*+ LIMIT_TO_COP() */ * from thash_clustered use index(primary) where a > %v order by a, b limit %v;", x, y)
+ queryListPartition = fmt.Sprintf("select /*+ LIMIT_TO_COP() */ * from tlist_clustered use index(primary) where a > %v order by a, b limit %v;", x, y)
+ queryRegular = fmt.Sprintf("select * from tregular_clustered where a > %v order by a, b limit %v;", x, y)
+ require.True(t, tk.HasPlan(queryRangePartition, "TableReader")) // check if tableReader is used
+ require.True(t, tk.HasPlan(queryHashPartition, "TableReader"))
+ require.True(t, tk.HasPlan(queryListPartition, "TableReader"))
+ require.True(t, tk.HasPlan(queryRangePartition, "Limit")) // check if order property is pushed
+ require.True(t, tk.HasPlan(queryHashPartition, "Limit"))
+ require.True(t, tk.HasPlan(queryListPartition, "Limit"))
+ require.True(t, tk.HasPlan(queryRangePartition, "TopN")) // but not fully pushed
+ require.True(t, tk.HasPlan(queryHashPartition, "TopN"))
+ require.True(t, tk.HasPlan(queryListPartition, "TopN"))
+ regularResult = tk.MustQuery(queryRegular).Rows()
+ tk.MustQuery(queryRangePartition).Check(regularResult)
+ tk.MustQuery(queryHashPartition).Check(regularResult)
+ tk.MustQuery(queryListPartition).Check(regularResult)
+
+ tk.MustExec(" set @@tidb_allow_mpp=1;")
+ tk.MustExec("set @@session.tidb_isolation_read_engines=\"tiflash,tikv\"")
+ queryPartitionWithTiFlash := fmt.Sprintf("select /*+ read_from_storage(tiflash[trange_intpk]) */ * from trange_intpk where a > %v order by a limit %v", x, y)
+ // check if tiflash is used
+ require.True(t, tk.HasTiFlashPlan(queryPartitionWithTiFlash), fmt.Sprintf("%v", tk.MustQuery("explain "+queryPartitionWithTiFlash).Rows()))
+ // but order is not pushed
+ require.False(t, tk.HasPlan(queryPartitionWithTiFlash, "Limit"), fmt.Sprintf("%v", tk.MustQuery("explain "+queryPartitionWithTiFlash).Rows()))
+ queryPartitionWithTiFlash = fmt.Sprintf("select /*+ read_from_storage(tiflash[trange_intpk]) */ /*+ LIMIT_TO_COP() */ * from trange_intpk where a > %v order by a limit %v", x, y)
+ // check if tiflash is used
+ require.True(t, tk.HasTiFlashPlan(queryPartitionWithTiFlash), fmt.Sprintf("%v", tk.MustQuery("explain "+queryPartitionWithTiFlash).Rows()))
+ // but order is not pushed
+ require.False(t, tk.HasPlan(queryPartitionWithTiFlash, "Limit"), fmt.Sprintf("%v", tk.MustQuery("explain "+queryPartitionWithTiFlash).Rows()))
+ queryPartitionWithTiFlash = fmt.Sprintf("select /*+ read_from_storage(tiflash[trange_clustered]) */ * from trange_clustered where a > %v order by a limit %v", x, y)
+ // check if tiflash is used
+ require.True(t, tk.HasTiFlashPlan(queryPartitionWithTiFlash), fmt.Sprintf("%v", tk.MustQuery("explain "+queryPartitionWithTiFlash).Rows()))
+ queryPartitionWithTiFlash = fmt.Sprintf("select /*+ read_from_storage(tiflash[trange_clustered]) */ /*+ LIMIT_TO_COP() */ * from trange_clustered where a > %v order by a limit %v", x, y)
+ // check if tiflash is used
+ require.True(t, tk.HasTiFlashPlan(queryPartitionWithTiFlash))
+ // but order is not pushed
+ require.False(t, tk.HasPlan(queryPartitionWithTiFlash, "Limit"), fmt.Sprintf("%v", tk.MustQuery("explain "+queryPartitionWithTiFlash).Rows()))
+ queryPartitionWithTiFlash = fmt.Sprintf("select /*+ read_from_storage(tiflash[thash_intpk]) */ * from thash_intpk where a > %v order by a limit %v", x, y)
+ // check if tiflash is used
+ require.True(t, tk.HasTiFlashPlan(queryPartitionWithTiFlash), fmt.Sprintf("%v", tk.MustQuery("explain "+queryPartitionWithTiFlash).Rows()))
+ queryPartitionWithTiFlash = fmt.Sprintf("select /*+ read_from_storage(tiflash[thash_intpk]) */ /*+ LIMIT_TO_COP() */ * from thash_intpk where a > %v order by a limit %v", x, y)
+ // check if tiflash is used
+ require.True(t, tk.HasTiFlashPlan(queryPartitionWithTiFlash))
+ // but order is not pushed
+ require.False(t, tk.HasPlan(queryPartitionWithTiFlash, "Limit"), fmt.Sprintf("%v", tk.MustQuery("explain "+queryPartitionWithTiFlash).Rows()))
+ queryPartitionWithTiFlash = fmt.Sprintf("select /*+ read_from_storage(tiflash[thash_clustered]) */ * from thash_clustered where a > %v order by a limit %v", x, y)
+ // check if tiflash is used
+ require.True(t, tk.HasTiFlashPlan(queryPartitionWithTiFlash), fmt.Sprintf("%v", tk.MustQuery("explain "+queryPartitionWithTiFlash).Rows()))
+ queryPartitionWithTiFlash = fmt.Sprintf("select /*+ read_from_storage(tiflash[thash_clustered]) */ /*+ LIMIT_TO_COP() */ * from thash_clustered where a > %v order by a limit %v", x, y)
+ // check if tiflash is used
+ require.True(t, tk.HasTiFlashPlan(queryPartitionWithTiFlash))
+ // but order is not pushed
+ require.False(t, tk.HasPlan(queryPartitionWithTiFlash, "Limit"), fmt.Sprintf("%v", tk.MustQuery("explain "+queryPartitionWithTiFlash).Rows()))
+ queryPartitionWithTiFlash = fmt.Sprintf("select /*+ read_from_storage(tiflash[tlist_intpk]) */ * from tlist_intpk where a > %v order by a limit %v", x, y)
+ // check if tiflash is used
+ require.True(t, tk.HasTiFlashPlan(queryPartitionWithTiFlash), fmt.Sprintf("%v", tk.MustQuery("explain "+queryPartitionWithTiFlash).Rows()))
+ queryPartitionWithTiFlash = fmt.Sprintf("select /*+ read_from_storage(tiflash[tlist_intpk]) */ /*+ LIMIT_TO_COP() */ * from tlist_intpk where a > %v order by a limit %v", x, y)
+ // check if tiflash is used
+ require.True(t, tk.HasTiFlashPlan(queryPartitionWithTiFlash))
+ // but order is not pushed
+ require.False(t, tk.HasPlan(queryPartitionWithTiFlash, "Limit"), fmt.Sprintf("%v", tk.MustQuery("explain "+queryPartitionWithTiFlash).Rows()))
+ queryPartitionWithTiFlash = fmt.Sprintf("select /*+ read_from_storage(tiflash[tlist_clustered]) */ * from tlist_clustered where a > %v order by a limit %v", x, y)
+ // check if tiflash is used
+ require.True(t, tk.HasTiFlashPlan(queryPartitionWithTiFlash), fmt.Sprintf("%v", tk.MustQuery("explain "+queryPartitionWithTiFlash).Rows()))
+ queryPartitionWithTiFlash = fmt.Sprintf("select /*+ read_from_storage(tiflash[tlist_clustered]) */ /*+ LIMIT_TO_COP() */ * from tlist_clustered where a > %v order by a limit %v", x, y)
+ // check if tiflash is used
+ require.True(t, tk.HasTiFlashPlan(queryPartitionWithTiFlash))
+ // but order is not pushed
+ require.False(t, tk.HasPlan(queryPartitionWithTiFlash, "Limit"), fmt.Sprintf("%v", tk.MustQuery("explain "+queryPartitionWithTiFlash).Rows()))
+ tk.MustExec(" set @@tidb_allow_mpp=0;")
+ tk.MustExec("set @@session.tidb_isolation_read_engines=\"tikv\"")
+ }
+
// test indexReader
for i := 0; i < 100; i++ {
// explain select a from t where a > {y} use index(idx_a) order by a limit {x}; // check if IndexLookUp is used
@@ -422,6 +698,24 @@ func TestOrderByandLimit(t *testing.T) {
tk.MustQuery(queryPartition).Sort().Check(tk.MustQuery(queryRegular).Sort().Rows())
}
+ // test indexReader with order property pushed down.
+ for i := 0; i < 100; i++ {
+ // explain select a from t where a > {y} use index(idx_a) order by a limit {x}; // check if IndexLookUp is used
+ // select a from t where a > {y} use index(idx_a) order by a limit {x}; // it can return the correct result
+ x := rand.Intn(1099)
+ y := rand.Intn(2000) + 1
+ queryRangePartition := fmt.Sprintf("select /*+ LIMIT_TO_COP() */ a from trange use index(idx_a) where a > %v order by a limit %v;", x, y)
+ queryHashPartition := fmt.Sprintf("select /*+ LIMIT_TO_COP() */ a from trange use index(idx_a) where a > %v order by a limit %v;", x, y)
+ queryRegular := fmt.Sprintf("select a from tregular use index(idx_a) where a > %v order by a limit %v;", x, y)
+ require.True(t, tk.HasPlan(queryRangePartition, "IndexReader")) // check if indexReader is used
+ require.True(t, tk.HasPlan(queryHashPartition, "IndexReader"))
+ require.True(t, tk.HasPlan(queryRangePartition, "Limit")) // check if order property is pushed
+ require.True(t, tk.HasPlan(queryHashPartition, "Limit"))
+ regularResult := tk.MustQuery(queryRegular).Sort().Rows()
+ tk.MustQuery(queryRangePartition).Sort().Check(regularResult)
+ tk.MustQuery(queryHashPartition).Sort().Check(regularResult)
+ }
+
// test indexMerge
for i := 0; i < 100; i++ {
// explain select /*+ use_index_merge(t) */ * from t where a > 2 or b < 5 order by a limit {x}; // check if IndexMerge is used
@@ -434,6 +728,17 @@ func TestOrderByandLimit(t *testing.T) {
}
}
+func TestOrderByOnUnsignedPk(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("create table tunsigned_hash(a bigint unsigned primary key) partition by hash(a) partitions 6")
+ tk.MustExec("insert into tunsigned_hash values(25), (9279808998424041135)")
+ tk.MustQuery("select min(a) from tunsigned_hash").Check(testkit.Rows("25"))
+ tk.MustQuery("select max(a) from tunsigned_hash").Check(testkit.Rows("9279808998424041135"))
+}
+
func TestBatchGetandPointGetwithHashPartition(t *testing.T) {
store := testkit.CreateMockStore(t)
@@ -2115,6 +2420,7 @@ func TestParallelApply(t *testing.T) {
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
+ tk.MustExec("set tidb_cost_model_version=2")
tk.MustExec("create database test_parallel_apply")
tk.MustExec("use test_parallel_apply")
tk.MustExec("set @@tidb_partition_prune_mode = 'dynamic'")
@@ -2149,9 +2455,9 @@ func TestParallelApply(t *testing.T) {
`└─Apply 10000.00 root CARTESIAN inner join, other cond:gt(cast(test_parallel_apply.touter.a, decimal(10,0) BINARY), Column#7)`,
` ├─TableReader(Build) 10000.00 root data:TableFullScan`,
` │ └─TableFullScan 10000.00 cop[tikv] table:touter keep order:false, stats:pseudo`,
- ` └─StreamAgg(Probe) 10000.00 root funcs:sum(Column#9)->Column#7`,
- ` └─IndexReader 10000.00 root partition:all index:StreamAgg`, // IndexReader is a inner child of Apply
- ` └─StreamAgg 10000.00 cop[tikv] funcs:sum(test_parallel_apply.thash.a)->Column#9`,
+ ` └─HashAgg(Probe) 10000.00 root funcs:sum(Column#8)->Column#7`,
+ ` └─IndexReader 10000.00 root partition:all index:HashAgg`, // IndexReader is a inner child of Apply
+ ` └─HashAgg 10000.00 cop[tikv] funcs:sum(test_parallel_apply.thash.a)->Column#8`,
` └─Selection 80000000.00 cop[tikv] gt(test_parallel_apply.thash.a, test_parallel_apply.touter.b)`,
` └─IndexFullScan 100000000.00 cop[tikv] table:thash, index:a(a) keep order:false, stats:pseudo`))
tk.MustQuery(`select * from touter where touter.a > (select sum(thash.a) from thash use index(a) where thash.a>touter.b)`).Sort().Check(
@@ -2163,9 +2469,9 @@ func TestParallelApply(t *testing.T) {
`└─Apply 10000.00 root CARTESIAN inner join, other cond:gt(cast(test_parallel_apply.touter.a, decimal(10,0) BINARY), Column#7)`,
` ├─TableReader(Build) 10000.00 root data:TableFullScan`,
` │ └─TableFullScan 10000.00 cop[tikv] table:touter keep order:false, stats:pseudo`,
- ` └─StreamAgg(Probe) 10000.00 root funcs:sum(Column#9)->Column#7`,
- ` └─TableReader 10000.00 root partition:all data:StreamAgg`, // TableReader is a inner child of Apply
- ` └─StreamAgg 10000.00 cop[tikv] funcs:sum(test_parallel_apply.thash.b)->Column#9`,
+ ` └─HashAgg(Probe) 10000.00 root funcs:sum(Column#8)->Column#7`,
+ ` └─TableReader 10000.00 root partition:all data:HashAgg`, // TableReader is a inner child of Apply
+ ` └─HashAgg 10000.00 cop[tikv] funcs:sum(test_parallel_apply.thash.b)->Column#8`,
` └─Selection 80000000.00 cop[tikv] gt(test_parallel_apply.thash.a, test_parallel_apply.touter.b)`,
` └─TableFullScan 100000000.00 cop[tikv] table:thash keep order:false, stats:pseudo`))
tk.MustQuery(`select * from touter where touter.a > (select sum(thash.b) from thash ignore index(a) where thash.a>touter.b)`).Sort().Check(
@@ -2192,9 +2498,9 @@ func TestParallelApply(t *testing.T) {
`└─Apply 10000.00 root CARTESIAN inner join, other cond:gt(cast(test_parallel_apply.touter.a, decimal(10,0) BINARY), Column#7)`,
` ├─TableReader(Build) 10000.00 root data:TableFullScan`,
` │ └─TableFullScan 10000.00 cop[tikv] table:touter keep order:false, stats:pseudo`,
- ` └─StreamAgg(Probe) 10000.00 root funcs:sum(Column#9)->Column#7`,
- ` └─IndexReader 10000.00 root partition:all index:StreamAgg`, // IndexReader is a inner child of Apply
- ` └─StreamAgg 10000.00 cop[tikv] funcs:sum(test_parallel_apply.trange.a)->Column#9`,
+ ` └─HashAgg(Probe) 10000.00 root funcs:sum(Column#8)->Column#7`,
+ ` └─IndexReader 10000.00 root partition:all index:HashAgg`, // IndexReader is a inner child of Apply
+ ` └─HashAgg 10000.00 cop[tikv] funcs:sum(test_parallel_apply.trange.a)->Column#8`,
` └─Selection 80000000.00 cop[tikv] gt(test_parallel_apply.trange.a, test_parallel_apply.touter.b)`,
` └─IndexFullScan 100000000.00 cop[tikv] table:trange, index:a(a) keep order:false, stats:pseudo`))
tk.MustQuery(`select * from touter where touter.a > (select sum(trange.a) from trange use index(a) where trange.a>touter.b)`).Sort().Check(
@@ -2206,9 +2512,9 @@ func TestParallelApply(t *testing.T) {
`└─Apply 10000.00 root CARTESIAN inner join, other cond:gt(cast(test_parallel_apply.touter.a, decimal(10,0) BINARY), Column#7)`,
` ├─TableReader(Build) 10000.00 root data:TableFullScan`,
` │ └─TableFullScan 10000.00 cop[tikv] table:touter keep order:false, stats:pseudo`,
- ` └─StreamAgg(Probe) 10000.00 root funcs:sum(Column#9)->Column#7`,
- ` └─TableReader 10000.00 root partition:all data:StreamAgg`, // TableReader is a inner child of Apply
- ` └─StreamAgg 10000.00 cop[tikv] funcs:sum(test_parallel_apply.trange.b)->Column#9`,
+ ` └─HashAgg(Probe) 10000.00 root funcs:sum(Column#8)->Column#7`,
+ ` └─TableReader 10000.00 root partition:all data:HashAgg`, // TableReader is a inner child of Apply
+ ` └─HashAgg 10000.00 cop[tikv] funcs:sum(test_parallel_apply.trange.b)->Column#8`,
` └─Selection 80000000.00 cop[tikv] gt(test_parallel_apply.trange.a, test_parallel_apply.touter.b)`,
` └─TableFullScan 100000000.00 cop[tikv] table:trange keep order:false, stats:pseudo`))
tk.MustQuery(`select * from touter where touter.a > (select sum(trange.b) from trange ignore index(a) where trange.a>touter.b)`).Sort().Check(
@@ -2833,7 +3139,7 @@ partition p1 values less than (7),
partition p2 values less than (10))`)
tk.MustExec("alter table p add unique idx(id)")
tk.MustExec("insert into p values (1,3), (3,4), (5,6), (7,9)")
- tk.MustQuery("select id from p use index (idx)").Check(testkit.Rows("1", "3", "5", "7"))
+ tk.MustQuery("select id from p use index (idx) order by id").Check(testkit.Rows("1", "3", "5", "7"))
}
func TestGlobalIndexDoubleRead(t *testing.T) {
@@ -3530,11 +3836,11 @@ func TestPartitionTableExplain(t *testing.T) {
" └─IndexFullScan 1.00 cop[tikv] table:t, partition:p1, index:b(b) keep order:false"))
tk.MustQuery(`explain format = 'brief' select * from t,t2 where t2.a = 1 and t2.b = t.b and t.a = 1`).Check(testkit.Rows(
"HashJoin 1.00 root inner join, equal:[eq(testpartitiontableexplain.t.b, testpartitiontableexplain.t2.b)]",
- "├─TableReader(Build) 1.00 root data:Selection",
- "│ └─Selection 1.00 cop[tikv] eq(testpartitiontableexplain.t2.a, 1), not(isnull(testpartitiontableexplain.t2.b))",
- "│ └─TableFullScan 3.00 cop[tikv] table:t2 keep order:false",
- "└─Selection(Probe) 1.00 root not(isnull(testpartitiontableexplain.t.b))",
- " └─Point_Get 1.00 root table:t, partition:p1 handle:1"))
+ `├─Selection(Build) 1.00 root not(isnull(testpartitiontableexplain.t.b))`,
+ `│ └─Point_Get 1.00 root table:t, partition:p1 handle:1`,
+ `└─TableReader(Probe) 1.00 root data:Selection`,
+ ` └─Selection 1.00 cop[tikv] eq(testpartitiontableexplain.t2.a, 1), not(isnull(testpartitiontableexplain.t2.b))`,
+ ` └─TableFullScan 3.00 cop[tikv] table:t2 keep order:false`))
tk.MustExec("set @@tidb_partition_prune_mode = 'dynamic'")
tk.MustExec(`analyze table t`)
@@ -3627,3 +3933,72 @@ func TestIssue21732(t *testing.T) {
})
}
}
+
+func TestIssue39999(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+
+ tk := testkit.NewTestKit(t, store)
+
+ tk.MustExec(`create schema test39999`)
+ tk.MustExec(`use test39999`)
+ tk.MustExec(`drop table if exists c, t`)
+ tk.MustExec("CREATE TABLE `c` (" +
+ "`serial_id` varchar(24)," +
+ "`occur_trade_date` date," +
+ "`txt_account_id` varchar(24)," +
+ "`capital_sub_class` varchar(10)," +
+ "`occur_amount` decimal(16,2)," +
+ "`broker` varchar(10)," +
+ "PRIMARY KEY (`txt_account_id`,`occur_trade_date`,`serial_id`) /*T![clustered_index] CLUSTERED */," +
+ "KEY `idx_serial_id` (`serial_id`)" +
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci " +
+ "PARTITION BY RANGE COLUMNS(`serial_id`) (" +
+ "PARTITION `p202209` VALUES LESS THAN ('20221001')," +
+ "PARTITION `p202210` VALUES LESS THAN ('20221101')," +
+ "PARTITION `p202211` VALUES LESS THAN ('20221201')" +
+ ")")
+
+ tk.MustExec("CREATE TABLE `t` ( " +
+ "`txn_account_id` varchar(24), " +
+ "`account_id` varchar(32), " +
+ "`broker` varchar(10), " +
+ "PRIMARY KEY (`txn_account_id`) /*T![clustered_index] CLUSTERED */ " +
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci")
+
+ tk.MustExec("INSERT INTO `c` (serial_id, txt_account_id, capital_sub_class, occur_trade_date, occur_amount, broker) VALUES ('2022111700196920','04482786','CUST','2022-11-17',-2.01,'0009')")
+ tk.MustExec("INSERT INTO `t` VALUES ('04482786','1142927','0009')")
+
+ tk.MustExec(`set tidb_partition_prune_mode='dynamic'`)
+ tk.MustExec(`analyze table c`)
+ tk.MustExec(`analyze table t`)
+ query := `select
+ /*+ inl_join(c) */
+ c.occur_amount
+from
+ c
+ join t on c.txt_account_id = t.txn_account_id
+ and t.broker = '0009'
+ and c.occur_trade_date = '2022-11-17'`
+ tk.MustQuery("explain " + query).Check(testkit.Rows(""+
+ "IndexJoin_22 1.00 root inner join, inner:TableReader_21, outer key:test39999.t.txn_account_id, inner key:test39999.c.txt_account_id, equal cond:eq(test39999.t.txn_account_id, test39999.c.txt_account_id)",
+ "├─TableReader_27(Build) 1.00 root data:Selection_26",
+ "│ └─Selection_26 1.00 cop[tikv] eq(test39999.t.broker, \"0009\")",
+ "│ └─TableFullScan_25 1.00 cop[tikv] table:t keep order:false",
+ "└─TableReader_21(Probe) 1.00 root partition:all data:Selection_20",
+ " └─Selection_20 1.00 cop[tikv] eq(test39999.c.occur_trade_date, 2022-11-17 00:00:00.000000)",
+ " └─TableRangeScan_19 1.00 cop[tikv] table:c range: decided by [eq(test39999.c.txt_account_id, test39999.t.txn_account_id) eq(test39999.c.occur_trade_date, 2022-11-17 00:00:00.000000)], keep order:false"))
+ tk.MustQuery(query).Check(testkit.Rows("-2.01"))
+
+ // Add the missing partition key part.
+ tk.MustExec(`alter table t add column serial_id varchar(24) default '2022111700196920'`)
+ query += ` and c.serial_id = t.serial_id`
+ tk.MustQuery(query).Check(testkit.Rows("-2.01"))
+ tk.MustQuery("explain " + query).Check(testkit.Rows(""+
+ `IndexJoin_20 0.80 root inner join, inner:TableReader_19, outer key:test39999.t.txn_account_id, test39999.t.serial_id, inner key:test39999.c.txt_account_id, test39999.c.serial_id, equal cond:eq(test39999.t.serial_id, test39999.c.serial_id), eq(test39999.t.txn_account_id, test39999.c.txt_account_id)`,
+ `├─TableReader_25(Build) 0.80 root data:Selection_24`,
+ `│ └─Selection_24 0.80 cop[tikv] eq(test39999.t.broker, "0009"), not(isnull(test39999.t.serial_id))`,
+ `│ └─TableFullScan_23 1.00 cop[tikv] table:t keep order:false`,
+ `└─TableReader_19(Probe) 0.80 root partition:all data:Selection_18`,
+ ` └─Selection_18 0.80 cop[tikv] eq(test39999.c.occur_trade_date, 2022-11-17 00:00:00.000000)`,
+ ` └─TableRangeScan_17 0.80 cop[tikv] table:c range: decided by [eq(test39999.c.txt_account_id, test39999.t.txn_account_id) eq(test39999.c.serial_id, test39999.t.serial_id) eq(test39999.c.occur_trade_date, 2022-11-17 00:00:00.000000)], keep order:false`))
+}
diff --git a/executor/plan_replayer.go b/executor/plan_replayer.go
index fec3de1867933..ff102e20820b2 100644
--- a/executor/plan_replayer.go
+++ b/executor/plan_replayer.go
@@ -18,25 +18,24 @@ import (
"archive/zip"
"bytes"
"context"
- "crypto/rand"
- "encoding/base64"
"encoding/json"
"fmt"
"os"
- "path/filepath"
"strings"
- "time"
"github.com/BurntSushi/toml"
"github.com/pingcap/errors"
"github.com/pingcap/tidb/domain"
"github.com/pingcap/tidb/infoschema"
+ "github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/parser/ast"
"github.com/pingcap/tidb/sessionctx"
"github.com/pingcap/tidb/sessionctx/variable"
+ "github.com/pingcap/tidb/sessiontxn"
"github.com/pingcap/tidb/statistics/handle"
"github.com/pingcap/tidb/util/chunk"
"github.com/pingcap/tidb/util/logutil"
+ "github.com/pingcap/tidb/util/replayer"
"github.com/pingcap/tidb/util/sqlexec"
"go.uber.org/zap"
)
@@ -47,8 +46,15 @@ var _ Executor = &PlanReplayerLoadExec{}
// PlanReplayerExec represents a plan replayer executor.
type PlanReplayerExec struct {
baseExecutor
- DumpInfo *PlanReplayerDumpInfo
- endFlag bool
+ CaptureInfo *PlanReplayerCaptureInfo
+ DumpInfo *PlanReplayerDumpInfo
+ endFlag bool
+}
+
+// PlanReplayerCaptureInfo indicates capture info
+type PlanReplayerCaptureInfo struct {
+ SQLDigest string
+ PlanDigest string
}
// PlanReplayerDumpInfo indicates dump info
@@ -67,6 +73,9 @@ func (e *PlanReplayerExec) Next(ctx context.Context, req *chunk.Chunk) error {
if e.endFlag {
return nil
}
+ if e.CaptureInfo != nil {
+ return e.registerCaptureTask(ctx)
+ }
err := e.createFile()
if err != nil {
return err
@@ -93,50 +102,50 @@ func (e *PlanReplayerExec) Next(ctx context.Context, req *chunk.Chunk) error {
return nil
}
-func (e *PlanReplayerExec) createFile() error {
- var err error
- e.DumpInfo.File, e.DumpInfo.FileName, err = GeneratePlanReplayerFile()
+func (e *PlanReplayerExec) registerCaptureTask(ctx context.Context) error {
+ ctx1 := kv.WithInternalSourceType(ctx, kv.InternalTxnStats)
+ exists, err := domain.CheckPlanReplayerTaskExists(ctx1, e.ctx, e.CaptureInfo.SQLDigest, e.CaptureInfo.PlanDigest)
if err != nil {
return err
}
- return nil
-}
-
-// GeneratePlanReplayerFile generates plan replayer file
-func GeneratePlanReplayerFile() (*os.File, string, error) {
- path := domain.GetPlanReplayerDirName()
- err := os.MkdirAll(path, os.ModePerm)
- if err != nil {
- return nil, "", errors.AddStack(err)
+ if exists {
+ return errors.New("plan replayer capture task already exists")
}
- fileName, err := generatePlanReplayerFileName()
+ exec := e.ctx.(sqlexec.SQLExecutor)
+ _, err = exec.ExecuteInternal(ctx1, fmt.Sprintf("insert into mysql.plan_replayer_task (sql_digest, plan_digest) values ('%s','%s')",
+ e.CaptureInfo.SQLDigest, e.CaptureInfo.PlanDigest))
if err != nil {
- return nil, "", errors.AddStack(err)
+ logutil.BgLogger().Warn("insert mysql.plan_replayer_status record failed",
+ zap.Error(err))
+ return err
}
- zf, err := os.Create(filepath.Join(path, fileName))
+ err = domain.GetDomain(e.ctx).GetPlanReplayerHandle().CollectPlanReplayerTask()
if err != nil {
- return nil, "", errors.AddStack(err)
+ logutil.BgLogger().Warn("collect task failed", zap.Error(err))
}
- return zf, fileName, err
+ logutil.BgLogger().Info("collect plan replayer task success")
+ e.endFlag = true
+ return nil
}
-func generatePlanReplayerFileName() (string, error) {
- // Generate key and create zip file
- time := time.Now().UnixNano()
- b := make([]byte, 16)
- //nolint: gosec
- _, err := rand.Read(b)
+func (e *PlanReplayerExec) createFile() error {
+ var err error
+ e.DumpInfo.File, e.DumpInfo.FileName, err = replayer.GeneratePlanReplayerFile(false)
if err != nil {
- return "", err
+ return err
}
- key := base64.URLEncoding.EncodeToString(b)
- return fmt.Sprintf("replayer_%v_%v.zip", key, time), nil
+ return nil
}
func (e *PlanReplayerDumpInfo) dump(ctx context.Context) (err error) {
fileName := e.FileName
zf := e.File
+ startTS, err := sessiontxn.GetTxnManager(e.ctx).GetStmtReadTS()
+ if err != nil {
+ return err
+ }
task := &domain.PlanReplayerDumpTask{
+ StartTS: startTS,
FileName: fileName,
Zf: zf,
SessionVars: e.ctx.GetSessionVars(),
@@ -378,21 +387,23 @@ func createSchemaAndItems(ctx sessionctx.Context, f *zip.File) error {
if err != nil {
return errors.AddStack(err)
}
- sqls := strings.Split(buf.String(), ";")
- if len(sqls) != 3 {
- return errors.New("plan replayer: create schema and tables failed")
- }
+ originText := buf.String()
+ index1 := strings.Index(originText, ";")
+ createDatabaseSQL := originText[:index1+1]
+ index2 := strings.Index(originText[index1+1:], ";")
+ useDatabaseSQL := originText[index1+1:][:index2+1]
+ createTableSQL := originText[index1+1:][index2+1:]
c := context.Background()
// create database if not exists
- _, err = ctx.(sqlexec.SQLExecutor).Execute(c, sqls[0])
+ _, err = ctx.(sqlexec.SQLExecutor).Execute(c, createDatabaseSQL)
logutil.BgLogger().Debug("plan replayer: skip error", zap.Error(err))
// use database
- _, err = ctx.(sqlexec.SQLExecutor).Execute(c, sqls[1])
+ _, err = ctx.(sqlexec.SQLExecutor).Execute(c, useDatabaseSQL)
if err != nil {
return err
}
// create table or view
- _, err = ctx.(sqlexec.SQLExecutor).Execute(c, sqls[2])
+ _, err = ctx.(sqlexec.SQLExecutor).Execute(c, createTableSQL)
if err != nil {
return err
}
@@ -439,6 +450,9 @@ func (e *PlanReplayerLoadInfo) Update(data []byte) error {
// build schema and table first
for _, zipFile := range z.File {
+ if zipFile.Name == fmt.Sprintf("schema/%v", domain.PlanReplayerSchemaMetaFile) {
+ continue
+ }
path := strings.Split(zipFile.Name, "/")
if len(path) == 2 && strings.Compare(path[0], "schema") == 0 {
err = createSchemaAndItems(e.Ctx, zipFile)
diff --git a/executor/point_get.go b/executor/point_get.go
index f65c52c06cb1b..3e3cddb08d9ba 100644
--- a/executor/point_get.go
+++ b/executor/point_get.go
@@ -80,7 +80,6 @@ func (b *executorBuilder) buildPointGet(p *plannercore.PointGetPlan) Executor {
SnapshotRuntimeStats: snapshotStats,
}
e.snapshot.SetOption(kv.CollectRuntimeStats, snapshotStats)
- b.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
}
if p.IndexInfo != nil {
@@ -194,6 +193,9 @@ func (e *PointGetExecutor) Open(context.Context) error {
// Close implements the Executor interface.
func (e *PointGetExecutor) Close() error {
+ if e.stats != nil {
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
+ }
if e.runtimeStats != nil && e.snapshot != nil {
e.snapshot.SetOption(kv.CollectRuntimeStats, nil)
}
@@ -347,8 +349,8 @@ func (e *PointGetExecutor) Next(ctx context.Context, req *chunk.Chunk) error {
return err
}
- err = FillVirtualColumnValue(e.virtualColumnRetFieldTypes, e.virtualColumnIndex,
- e.schema, e.columns, e.ctx, req)
+ err = table.FillVirtualColumnValue(e.virtualColumnRetFieldTypes, e.virtualColumnIndex,
+ e.schema.Columns, e.columns, e.ctx, req)
if err != nil {
return err
}
diff --git a/executor/point_get_test.go b/executor/point_get_test.go
index c615c3a75cb1a..8f13675457481 100644
--- a/executor/point_get_test.go
+++ b/executor/point_get_test.go
@@ -825,3 +825,20 @@ func TestPointGetIssue25167(t *testing.T) {
tk.MustExec("insert into t values (1)")
tk.MustQuery("select * from t as of timestamp @a where a = 1").Check(testkit.Rows())
}
+
+func TestPointGetIssue40194(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("create table t1(id int primary key, v int)")
+ tk.MustExec("insert into t1 values(1, 10)")
+ tk.MustExec("prepare s from 'select * from t1 where id=1'")
+ tk.MustExec("set @@tidb_enable_plan_replayer_capture=1")
+ tk.MustQuery("execute s").Check(testkit.Rows("1 10"))
+ tk.MustQuery("execute s").Check(testkit.Rows("1 10"))
+
+ tk2 := testkit.NewTestKit(t, store)
+ tk2.MustExec("use test")
+ tk2.MustExec("update t1 set v=v+1")
+ tk.MustQuery("execute s").Check(testkit.Rows("1 11"))
+}
diff --git a/executor/prepared.go b/executor/prepared.go
index ae742a30d8bb5..6a5025e0d539b 100644
--- a/executor/prepared.go
+++ b/executor/prepared.go
@@ -53,8 +53,6 @@ type PrepareExec struct {
Fields []*ast.ResultField
Stmt interface{}
- IsGeneralStmt bool
-
// If it's generated from executing "prepare stmt from '...'", the process is parse -> plan -> executor
// If it's generated from the prepare protocol, the process is session.PrepareStmt -> NewPrepareExec
// They both generate a PrepareExec struct, but the second case needs to reset the statement context while the first already do that.
@@ -117,7 +115,7 @@ func (e *PrepareExec) Next(ctx context.Context, req *chunk.Chunk) error {
return err
}
}
- stmt, p, paramCnt, err := plannercore.GeneratePlanCacheStmtWithAST(ctx, e.ctx, stmt0)
+ stmt, p, paramCnt, err := plannercore.GeneratePlanCacheStmtWithAST(ctx, e.ctx, stmt0.Text(), stmt0)
if err != nil {
return err
}
@@ -135,19 +133,15 @@ func (e *PrepareExec) Next(ctx context.Context, req *chunk.Chunk) error {
if !isNoResultPlan(p) {
e.Fields = colNames2ResultFields(p.Schema(), p.OutputNames(), vars.CurrentDB)
}
- if e.ID == 0 && !e.IsGeneralStmt {
+ if e.ID == 0 {
e.ID = vars.GetNextPreparedStmtID()
}
- if e.name != "" && !e.IsGeneralStmt {
+ if e.name != "" {
vars.PreparedStmtNameToID[e.name] = e.ID
}
e.ParamCount = paramCnt
e.Stmt = stmt
- if e.IsGeneralStmt {
- vars.AddGeneralPlanCacheStmt(e.sqlText, stmt)
- return nil
- }
return vars.AddPreparedStmt(e.ID, stmt)
}
diff --git a/executor/prepared_test.go b/executor/prepared_test.go
index fbb8f2d0dd53a..739ba1c0cd659 100644
--- a/executor/prepared_test.go
+++ b/executor/prepared_test.go
@@ -18,11 +18,13 @@ import (
"fmt"
"strconv"
"strings"
+ "sync/atomic"
"testing"
"github.com/pingcap/tidb/parser/auth"
"github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/parser/mysql"
+ "github.com/pingcap/tidb/parser/terror"
plannercore "github.com/pingcap/tidb/planner/core"
"github.com/pingcap/tidb/server"
"github.com/pingcap/tidb/sessionctx/variable"
@@ -421,6 +423,7 @@ func TestPlanCacheWithDifferentVariableTypes(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
tk.MustExec(`set tidb_enable_prepared_plan_cache=1`)
+ tk.MustExec("set tidb_cost_model_version=1")
tk.MustExec("use test")
tk.MustExec("drop table if exists t1, t2")
tk.MustExec("set @@tidb_enable_collect_execution_info=0;")
@@ -850,6 +853,7 @@ func TestIssue28782(t *testing.T) {
func TestIssue29101(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set tidb_cost_model_version=1")
tk.MustExec(`set tidb_enable_prepared_plan_cache=1`)
tk.MustExec(`use test`)
tk.MustExec("set @@tidb_enable_collect_execution_info=0;")
@@ -1253,3 +1257,18 @@ func TestIssue31141(t *testing.T) {
tk.MustExec("set @@tidb_txn_mode = 'optimistic'")
tk.MustExec("prepare stmt1 from 'do 1'")
}
+
+func TestMaxPreparedStmtCount(t *testing.T) {
+ oldVal := atomic.LoadInt64(&variable.PreparedStmtCount)
+ atomic.StoreInt64(&variable.PreparedStmtCount, 0)
+ defer func() {
+ atomic.StoreInt64(&variable.PreparedStmtCount, oldVal)
+ }()
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("set @@global.max_prepared_stmt_count = 2")
+ tk.MustExec("prepare stmt1 from 'select ? as num from dual'")
+ tk.MustExec("prepare stmt2 from 'select ? as num from dual'")
+ err := tk.ExecToErr("prepare stmt3 from 'select ? as num from dual'")
+ require.True(t, terror.ErrorEqual(err, variable.ErrMaxPreparedStmtCountReached))
+}
diff --git a/executor/projection.go b/executor/projection.go
index 27ce1bafc0b8a..c6c33d02651ff 100644
--- a/executor/projection.go
+++ b/executor/projection.go
@@ -94,7 +94,7 @@ func (e *ProjectionExec) Open(ctx context.Context) error {
return e.open(ctx)
}
-func (e *ProjectionExec) open(ctx context.Context) error {
+func (e *ProjectionExec) open(_ context.Context) error {
e.prepared = false
e.parentReqRows = int64(e.maxChunkSize)
@@ -364,14 +364,14 @@ func (f *projectionInputFetcher) run(ctx context.Context) {
}()
for {
- input := readProjectionInput(f.inputCh, f.globalFinishCh)
- if input == nil {
+ input, isNil := readProjection[*projectionInput](f.inputCh, f.globalFinishCh)
+ if isNil {
return
}
targetWorker := input.targetWorker
- output = readProjectionOutput(f.outputCh, f.globalFinishCh)
- if output == nil {
+ output, isNil = readProjection[*projectionOutput](f.outputCh, f.globalFinishCh)
+ if isNil {
f.proj.memTracker.Consume(-input.chk.MemoryUsage())
return
}
@@ -431,13 +431,13 @@ func (w *projectionWorker) run(ctx context.Context) {
w.proj.wg.Done()
}()
for {
- input := readProjectionInput(w.inputCh, w.globalFinishCh)
- if input == nil {
+ input, isNil := readProjection[*projectionInput](w.inputCh, w.globalFinishCh)
+ if isNil {
return
}
- output = readProjectionOutput(w.outputCh, w.globalFinishCh)
- if output == nil {
+ output, isNil = readProjection[*projectionOutput](w.outputCh, w.globalFinishCh)
+ if isNil {
return
}
@@ -462,26 +462,14 @@ func recoveryProjection(output *projectionOutput, r interface{}) {
logutil.BgLogger().Error("projection executor panicked", zap.String("error", fmt.Sprintf("%v", r)), zap.Stack("stack"))
}
-func readProjectionInput(inputCh <-chan *projectionInput, finishCh <-chan struct{}) *projectionInput {
+func readProjection[T any](ch <-chan T, finishCh <-chan struct{}) (t T, isNil bool) {
select {
case <-finishCh:
- return nil
- case input, ok := <-inputCh:
- if !ok {
- return nil
- }
- return input
- }
-}
-
-func readProjectionOutput(outputCh <-chan *projectionOutput, finishCh <-chan struct{}) *projectionOutput {
- select {
- case <-finishCh:
- return nil
- case output, ok := <-outputCh:
+ return t, true
+ case t, ok := <-ch:
if !ok {
- return nil
+ return t, true
}
- return output
+ return t, false
}
}
diff --git a/executor/recover_test.go b/executor/recover_test.go
index aad1c93d9fb87..a7d26f247c952 100644
--- a/executor/recover_test.go
+++ b/executor/recover_test.go
@@ -332,10 +332,12 @@ func TestRecoverClusterMeetError(t *testing.T) {
newTk.MustGetErrCode(fmt.Sprintf("flashback cluster to timestamp '%s'", time.Now().Add(0-30*time.Second)), errno.ErrPrivilegeCheckFail)
tk.MustExec("drop user 'testflashback'@'localhost';")
- // Flashback failed because of ddl history.
- tk.MustExec("use test;")
- tk.MustExec("create table t(a int);")
- tk.MustMatchErrMsg(fmt.Sprintf("flashback cluster to timestamp '%s'", flashbackTs), "Detected schema change due to another DDL job during \\[.*, now\\), can't do flashback")
+ // update tidb_server_version
+ nowTS, err := tk.Session().GetStore().GetOracle().GetTimestamp(context.Background(), &oracle.Option{})
+ require.NoError(t, err)
+ tk.MustExec("update mysql.tidb set VARIABLE_VALUE=VARIABLE_VALUE+1 where VARIABLE_NAME='tidb_server_version'")
+ errorMsg := fmt.Sprintf("[ddl:-1]Detected TiDB upgrade during [%s, now), can't do flashback", oracle.GetTimeFromTS(nowTS).String())
+ tk.MustGetErrMsg(fmt.Sprintf("flashback cluster to timestamp '%s'", oracle.GetTimeFromTS(nowTS)), errorMsg)
require.NoError(t, failpoint.Disable("github.com/pingcap/tidb/expression/injectSafeTS"))
require.NoError(t, failpoint.Disable("tikvclient/injectSafeTS"))
diff --git a/executor/replace.go b/executor/replace.go
index 221cbf87b2504..bfc70ebc4451c 100644
--- a/executor/replace.go
+++ b/executor/replace.go
@@ -43,6 +43,9 @@ type ReplaceExec struct {
// Close implements the Executor Close interface.
func (e *ReplaceExec) Close() error {
e.setMessage()
+ if e.runtimeStats != nil && e.stats != nil {
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
+ }
if e.SelectExec != nil {
return e.SelectExec.Close()
}
@@ -89,6 +92,10 @@ func (e *ReplaceExec) removeRow(ctx context.Context, txn kv.Transaction, handle
if err != nil {
return false, err
}
+ err = onRemoveRowForFK(e.ctx, oldRow, e.fkChecks, e.fkCascades)
+ if err != nil {
+ return false, err
+ }
e.ctx.GetSessionVars().StmtCtx.AddAffectedRows(1)
return false, nil
}
@@ -176,6 +183,12 @@ func (e *ReplaceExec) removeIndexRow(ctx context.Context, txn kv.Transaction, r
}
return false, false, err
}
+ if tablecodec.IsTempIndexKey(uk.newKey) {
+ if tablecodec.CheckTempIndexValueIsDelete(val) {
+ continue
+ }
+ val = tablecodec.DecodeTempIndexOriginValue(val)
+ }
handle, err := tablecodec.DecodeHandleInUniqueIndexValue(val, uk.commonHandle)
if err != nil {
return false, true, err
@@ -268,3 +281,18 @@ func (e *ReplaceExec) setMessage() {
stmtCtx.SetMessage(msg)
}
}
+
+// GetFKChecks implements WithForeignKeyTrigger interface.
+func (e *ReplaceExec) GetFKChecks() []*FKCheckExec {
+ return e.fkChecks
+}
+
+// GetFKCascades implements WithForeignKeyTrigger interface.
+func (e *ReplaceExec) GetFKCascades() []*FKCascadeExec {
+ return e.fkCascades
+}
+
+// HasFKCascades implements WithForeignKeyTrigger interface.
+func (e *ReplaceExec) HasFKCascades() bool {
+ return len(e.fkCascades) > 0
+}
diff --git a/executor/seqtest/BUILD.bazel b/executor/seqtest/BUILD.bazel
index fa66357c81cc7..6d582ded16630 100644
--- a/executor/seqtest/BUILD.bazel
+++ b/executor/seqtest/BUILD.bazel
@@ -2,13 +2,14 @@ load("@io_bazel_rules_go//go:def.bzl", "go_test")
go_test(
name = "seqtest_test",
- timeout = "moderate",
+ timeout = "short",
srcs = [
"main_test.go",
"prepared_test.go",
"seq_executor_test.go",
],
flaky = True,
+ race = "on",
shard_count = 39,
deps = [
"//config",
diff --git a/executor/seqtest/main_test.go b/executor/seqtest/main_test.go
index 299cc69a8a26f..067680fb23365 100644
--- a/executor/seqtest/main_test.go
+++ b/executor/seqtest/main_test.go
@@ -31,7 +31,7 @@ func TestMain(m *testing.M) {
opts := []goleak.Option{
goleak.IgnoreTopFunction("github.com/golang/glog.(*loggingT).flushDaemon"),
goleak.IgnoreTopFunction("github.com/lestrrat-go/httprc.runFetchWorker"),
- goleak.IgnoreTopFunction("github.com/pingcap/tidb/executor.readProjectionInput"),
+ goleak.IgnoreTopFunction("github.com/pingcap/tidb/executor.readProjection[...]"),
goleak.IgnoreTopFunction("go.etcd.io/etcd/client/pkg/v3/logutil.(*MergeLogger).outputLoop"),
goleak.IgnoreTopFunction("go.opencensus.io/stats/view.(*worker).start"),
}
diff --git a/executor/seqtest/prepared_test.go b/executor/seqtest/prepared_test.go
index 11dae5e570767..77d75551530c7 100644
--- a/executor/seqtest/prepared_test.go
+++ b/executor/seqtest/prepared_test.go
@@ -280,11 +280,11 @@ func TestPreparedLimitOffset(t *testing.T) {
r.Check(testkit.Rows("2"))
tk.MustExec(`set @a=1.1`)
- r = tk.MustQuery(`execute stmt_test_1 using @a, @b;`)
- r.Check(testkit.Rows("2"))
+ _, err := tk.Exec(`execute stmt_test_1 using @a, @b;`)
+ require.True(t, plannercore.ErrWrongArguments.Equal(err))
tk.MustExec(`set @c="-1"`)
- _, err := tk.Exec("execute stmt_test_1 using @c, @c")
+ _, err = tk.Exec("execute stmt_test_1 using @c, @c")
require.True(t, plannercore.ErrWrongArguments.Equal(err))
stmtID, _, _, err := tk.Session().PrepareStmt("select id from prepare_test limit ?")
@@ -420,14 +420,14 @@ func TestPreparedInsert(t *testing.T) {
err = counter.Write(pb)
require.NoError(t, err)
hit := pb.GetCounter().GetValue()
- require.Equal(t, float64(1), hit)
+ require.Equal(t, float64(0), hit) // insert-values-stmt cannot use the plan cache
}
tk.MustExec(`set @a=3,@b=3; execute stmt_insert using @a, @b;`)
if flag {
err = counter.Write(pb)
require.NoError(t, err)
hit := pb.GetCounter().GetValue()
- require.Equal(t, float64(2), hit)
+ require.Equal(t, float64(0), hit)
}
result := tk.MustQuery("select id, c1 from prepare_test where id = ?", 1)
@@ -443,21 +443,21 @@ func TestPreparedInsert(t *testing.T) {
err = counter.Write(pb)
require.NoError(t, err)
hit := pb.GetCounter().GetValue()
- require.Equal(t, float64(2), hit)
+ require.Equal(t, float64(0), hit)
}
tk.MustExec(`set @a=2; execute stmt_insert_select using @a;`)
if flag {
err = counter.Write(pb)
require.NoError(t, err)
hit := pb.GetCounter().GetValue()
- require.Equal(t, float64(3), hit)
+ require.Equal(t, float64(1), hit)
}
tk.MustExec(`set @a=3; execute stmt_insert_select using @a;`)
if flag {
err = counter.Write(pb)
require.NoError(t, err)
hit := pb.GetCounter().GetValue()
- require.Equal(t, float64(4), hit)
+ require.Equal(t, float64(2), hit)
}
result = tk.MustQuery("select id, c1 from prepare_test where id = ?", 101)
@@ -767,3 +767,23 @@ func TestPreparedIssue17419(t *testing.T) {
// _, ok := tk1.Session().ShowProcess().Plan.(*plannercore.Execute)
// require.True(t, ok)
}
+
+func TestLimitUnsupportedCase(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(a int, key(a))")
+ tk.MustExec("prepare stmt from 'select * from t limit ?'")
+
+ tk.MustExec("set @a = 1.2")
+ tk.MustGetErrMsg("execute stmt using @a", "[planner:1210]Incorrect arguments to LIMIT")
+ tk.MustExec("set @a = 1.")
+ tk.MustGetErrMsg("execute stmt using @a", "[planner:1210]Incorrect arguments to LIMIT")
+ tk.MustExec("set @a = '0'")
+ tk.MustGetErrMsg("execute stmt using @a", "[planner:1210]Incorrect arguments to LIMIT")
+ tk.MustExec("set @a = '1'")
+ tk.MustGetErrMsg("execute stmt using @a", "[planner:1210]Incorrect arguments to LIMIT")
+ tk.MustExec("set @a = 1_2")
+ tk.MustGetErrMsg("execute stmt using @a", "[planner:1210]Incorrect arguments to LIMIT")
+}
diff --git a/executor/seqtest/seq_executor_test.go b/executor/seqtest/seq_executor_test.go
index 7f16fd68da5e7..6c042340740e8 100644
--- a/executor/seqtest/seq_executor_test.go
+++ b/executor/seqtest/seq_executor_test.go
@@ -773,43 +773,45 @@ func HelperTestAdminShowNextID(t *testing.T, store kv.Storage, str string) {
tk.MustExec("create table t(id int, c int)")
// Start handle is 1.
r := tk.MustQuery(str + " t next_row_id")
- r.Check(testkit.Rows("test t _tidb_rowid 1 AUTO_INCREMENT"))
+ r.Check(testkit.Rows("test t _tidb_rowid 1 _TIDB_ROWID"))
// Row ID is step + 1.
tk.MustExec("insert into t values(1, 1)")
r = tk.MustQuery(str + " t next_row_id")
- r.Check(testkit.Rows("test t _tidb_rowid 11 AUTO_INCREMENT"))
+ r.Check(testkit.Rows("test t _tidb_rowid 11 _TIDB_ROWID"))
// Row ID is original + step.
for i := 0; i < int(step); i++ {
tk.MustExec("insert into t values(10000, 1)")
}
r = tk.MustQuery(str + " t next_row_id")
- r.Check(testkit.Rows("test t _tidb_rowid 21 AUTO_INCREMENT"))
+ r.Check(testkit.Rows("test t _tidb_rowid 21 _TIDB_ROWID"))
tk.MustExec("drop table t")
// test for a table with the primary key
tk.MustExec("create table tt(id int primary key auto_increment, c int)")
// Start handle is 1.
r = tk.MustQuery(str + " tt next_row_id")
- r.Check(testkit.Rows("test tt id 1 AUTO_INCREMENT"))
+ r.Check(testkit.Rows("test tt id 1 _TIDB_ROWID", "test tt id 1 AUTO_INCREMENT"))
// After rebasing auto ID, row ID is 20 + step + 1.
tk.MustExec("insert into tt values(20, 1)")
r = tk.MustQuery(str + " tt next_row_id")
- r.Check(testkit.Rows("test tt id 31 AUTO_INCREMENT"))
+ r.Check(testkit.Rows("test tt id 31 _TIDB_ROWID", "test tt id 1 AUTO_INCREMENT"))
// test for renaming the table
tk.MustExec("drop database if exists test1")
tk.MustExec("create database test1")
tk.MustExec("rename table test.tt to test1.tt")
tk.MustExec("use test1")
r = tk.MustQuery(str + " tt next_row_id")
- r.Check(testkit.Rows("test1 tt id 31 AUTO_INCREMENT"))
+ r.Check(testkit.Rows("test1 tt id 31 _TIDB_ROWID", "test1 tt id 1 AUTO_INCREMENT"))
tk.MustExec("insert test1.tt values ()")
r = tk.MustQuery(str + " tt next_row_id")
- r.Check(testkit.Rows("test1 tt id 41 AUTO_INCREMENT"))
+ r.Check(testkit.Rows("test1 tt id 41 _TIDB_ROWID", "test1 tt id 1 AUTO_INCREMENT"))
tk.MustExec("drop table tt")
tk.MustExec("drop table if exists t;")
tk.MustExec("create table t (a int auto_increment primary key nonclustered, b int);")
- tk.MustQuery("show table t next_row_id;").Check(testkit.Rows("test1 t _tidb_rowid 1 AUTO_INCREMENT"))
+ tk.MustQuery("show table t next_row_id;").Check(testkit.Rows(
+ "test1 t _tidb_rowid 1 _TIDB_ROWID",
+ "test1 t _tidb_rowid 1 AUTO_INCREMENT"))
tk.MustExec("set @@allow_auto_random_explicit_insert = true")
@@ -830,19 +832,19 @@ func HelperTestAdminShowNextID(t *testing.T, store kv.Storage, str string) {
// Test for a sequence.
tk.MustExec("create sequence seq1 start 15 cache 57")
r = tk.MustQuery(str + " seq1 next_row_id")
- r.Check(testkit.Rows("test1 seq1 _tidb_rowid 1 AUTO_INCREMENT", "test1 seq1 15 SEQUENCE"))
+ r.Check(testkit.Rows("test1 seq1 _tidb_rowid 1 _TIDB_ROWID", "test1 seq1 15 SEQUENCE"))
r = tk.MustQuery("select nextval(seq1)")
r.Check(testkit.Rows("15"))
r = tk.MustQuery(str + " seq1 next_row_id")
- r.Check(testkit.Rows("test1 seq1 _tidb_rowid 1 AUTO_INCREMENT", "test1 seq1 72 SEQUENCE"))
+ r.Check(testkit.Rows("test1 seq1 _tidb_rowid 1 _TIDB_ROWID", "test1 seq1 72 SEQUENCE"))
r = tk.MustQuery("select nextval(seq1)")
r.Check(testkit.Rows("16"))
r = tk.MustQuery(str + " seq1 next_row_id")
- r.Check(testkit.Rows("test1 seq1 _tidb_rowid 1 AUTO_INCREMENT", "test1 seq1 72 SEQUENCE"))
+ r.Check(testkit.Rows("test1 seq1 _tidb_rowid 1 _TIDB_ROWID", "test1 seq1 72 SEQUENCE"))
r = tk.MustQuery("select setval(seq1, 96)")
r.Check(testkit.Rows("96"))
r = tk.MustQuery(str + " seq1 next_row_id")
- r.Check(testkit.Rows("test1 seq1 _tidb_rowid 1 AUTO_INCREMENT", "test1 seq1 97 SEQUENCE"))
+ r.Check(testkit.Rows("test1 seq1 _tidb_rowid 1 _TIDB_ROWID", "test1 seq1 97 SEQUENCE"))
}
func TestNoHistoryWhenDisableRetry(t *testing.T) {
@@ -898,7 +900,7 @@ func TestPrepareMaxParamCountCheck(t *testing.T) {
require.NoError(t, err)
bigSQL, bigParams := generateBatchSQL(math.MaxUint16 + 2)
- _, err = tk.Exec(bigSQL, bigParams...)
+ err = tk.ExecToErr(bigSQL, bigParams...)
require.Error(t, err)
require.EqualError(t, err, "[executor:1390]Prepared statement contains too many placeholders")
}
@@ -938,7 +940,7 @@ func TestBatchInsertDelete(t *testing.T) {
atomic.StoreUint64(&kv.TxnTotalSizeLimit, originLimit)
}()
// Set the limitation to a small value, make it easier to reach the limitation.
- atomic.StoreUint64(&kv.TxnTotalSizeLimit, 5800)
+ atomic.StoreUint64(&kv.TxnTotalSizeLimit, 5900)
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
@@ -985,16 +987,12 @@ func TestBatchInsertDelete(t *testing.T) {
// Test tidb_batch_insert could not work if enable-batch-dml is disabled.
tk.MustExec("set @@session.tidb_batch_insert=1;")
- _, err = tk.Exec("insert into batch_insert (c) select * from batch_insert;")
- require.Error(t, err)
- require.True(t, kv.ErrTxnTooLarge.Equal(err))
+ tk.MustGetErrCode("insert into batch_insert (c) select * from batch_insert;", errno.ErrTxnTooLarge)
tk.MustExec("set @@session.tidb_batch_insert=0;")
// for on duplicate key
- _, err = tk.Exec(`insert into batch_insert_on_duplicate select * from batch_insert_on_duplicate as tt
- on duplicate key update batch_insert_on_duplicate.id=batch_insert_on_duplicate.id+1000;`)
- require.Error(t, err)
- require.Truef(t, kv.ErrTxnTooLarge.Equal(err), "%v", err)
+ tk.MustGetErrCode(`insert into batch_insert_on_duplicate select * from batch_insert_on_duplicate as tt
+ on duplicate key update batch_insert_on_duplicate.id=batch_insert_on_duplicate.id+1000;`, errno.ErrTxnTooLarge)
r = tk.MustQuery("select count(*) from batch_insert;")
r.Check(testkit.Rows("320"))
@@ -1020,17 +1018,14 @@ func TestBatchInsertDelete(t *testing.T) {
tk.MustExec("set @@session.tidb_dml_batch_size=50;")
// for on duplicate key
- _, err = tk.Exec(`insert into batch_insert_on_duplicate select * from batch_insert_on_duplicate as tt
+ tk.MustExec(`insert into batch_insert_on_duplicate select * from batch_insert_on_duplicate as tt
on duplicate key update batch_insert_on_duplicate.id=batch_insert_on_duplicate.id+1000;`)
- require.NoError(t, err)
r = tk.MustQuery("select count(*) from batch_insert_on_duplicate;")
r.Check(testkit.Rows("320"))
// Disable BachInsert mode in transition.
tk.MustExec("begin;")
- _, err = tk.Exec("insert into batch_insert (c) select * from batch_insert;")
- require.Error(t, err)
- require.True(t, kv.ErrTxnTooLarge.Equal(err))
+ tk.MustGetErrCode("insert into batch_insert (c) select * from batch_insert;", errno.ErrTxnTooLarge)
tk.MustExec("rollback;")
r = tk.MustQuery("select count(*) from batch_insert;")
r.Check(testkit.Rows("640"))
diff --git a/executor/set.go b/executor/set.go
index b3b8c00c1d316..2396356c1245b 100644
--- a/executor/set.go
+++ b/executor/set.go
@@ -24,7 +24,9 @@ import (
"github.com/pingcap/tidb/parser/ast"
"github.com/pingcap/tidb/parser/charset"
"github.com/pingcap/tidb/parser/mysql"
+ "github.com/pingcap/tidb/planner/core"
"github.com/pingcap/tidb/plugin"
+ "github.com/pingcap/tidb/privilege"
"github.com/pingcap/tidb/sessionctx"
"github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/table/temptable"
@@ -32,6 +34,7 @@ import (
"github.com/pingcap/tidb/util/collate"
"github.com/pingcap/tidb/util/gcutil"
"github.com/pingcap/tidb/util/logutil"
+ "github.com/pingcap/tidb/util/sem"
"go.uber.org/zap"
)
@@ -109,6 +112,22 @@ func (e *SetExecutor) setSysVariable(ctx context.Context, name string, v *expres
}
return variable.ErrUnknownSystemVar.GenWithStackByArgs(name)
}
+
+ if sysVar.RequireDynamicPrivileges != nil {
+ semEnabled := sem.IsEnabled()
+ pm := privilege.GetPrivilegeManager(e.ctx)
+ privs := sysVar.RequireDynamicPrivileges(v.IsGlobal, semEnabled)
+ for _, priv := range privs {
+ if !pm.RequestDynamicVerification(sessionVars.ActiveRoles, priv, false) {
+ msg := priv
+ if !semEnabled {
+ msg = "SUPER or " + msg
+ }
+ return core.ErrSpecificAccessDenied.GenWithStackByArgs(msg)
+ }
+ }
+ }
+
if sysVar.IsNoop && !variable.EnableNoopVariables.Load() {
// The variable is a noop. For compatibility we allow it to still
// be changed, but we append a warning since users might be expecting
diff --git a/executor/set_config.go b/executor/set_config.go
index 531a61acdc4a0..b508b55eb2fc7 100644
--- a/executor/set_config.go
+++ b/executor/set_config.go
@@ -102,7 +102,7 @@ func (s *SetConfigExec) Next(ctx context.Context, req *chunk.Chunk) error {
if s.p.Instance != "" {
nodeAddrs.Insert(s.p.Instance)
}
- serversInfo = filterClusterServerInfo(serversInfo, nodeTypes, nodeAddrs)
+ serversInfo = infoschema.FilterClusterServerInfo(serversInfo, nodeTypes, nodeAddrs)
if s.p.Instance != "" && len(serversInfo) == 0 {
return errors.Errorf("instance %v is not found in this cluster", s.p.Instance)
}
diff --git a/executor/set_test.go b/executor/set_test.go
index a8d4a0b059246..1b2b4186bb4a3 100644
--- a/executor/set_test.go
+++ b/executor/set_test.go
@@ -20,7 +20,6 @@ import (
"errors"
"fmt"
"io"
- "io/ioutil"
"net/http"
"strconv"
"testing"
@@ -744,7 +743,7 @@ func TestSetVar(t *testing.T) {
tk.MustQuery("select @@tidb_max_auto_analyze_time").Check(testkit.Rows("0"))
// test variables for cost model ver2
- tk.MustQuery("select @@tidb_cost_model_version").Check(testkit.Rows("1"))
+ tk.MustQuery("select @@tidb_cost_model_version").Check(testkit.Rows(fmt.Sprintf("%v", variable.DefTiDBCostModelVer)))
tk.MustExec("set tidb_cost_model_version=3")
tk.MustQuery("show warnings").Check(testkit.RowsWithSep("|", "Warning|1292|Truncated incorrect tidb_cost_model_version value: '3'"))
tk.MustExec("set tidb_cost_model_version=0")
@@ -767,51 +766,51 @@ func TestSetVar(t *testing.T) {
tk.MustGetErrCode("set global init_connect = 'invalidstring'", mysql.ErrWrongTypeForVar)
tk.MustExec("set global init_connect = 'select now(); select timestamp()'")
- // test variable 'tidb_enable_general_plan_cache'
+ // test variable 'tidb_enable_non_prepared_plan_cache'
// global scope
- tk.MustQuery("select @@global.tidb_enable_general_plan_cache").Check(testkit.Rows("0")) // default value
- tk.MustExec("set global tidb_enable_general_plan_cache = 1")
- tk.MustQuery("select @@global.tidb_enable_general_plan_cache").Check(testkit.Rows("1"))
- tk.MustExec("set global tidb_enable_general_plan_cache = 0")
- tk.MustQuery("select @@global.tidb_enable_general_plan_cache").Check(testkit.Rows("0"))
+ tk.MustQuery("select @@global.tidb_enable_non_prepared_plan_cache").Check(testkit.Rows("0")) // default value
+ tk.MustExec("set global tidb_enable_non_prepared_plan_cache = 1")
+ tk.MustQuery("select @@global.tidb_enable_non_prepared_plan_cache").Check(testkit.Rows("1"))
+ tk.MustExec("set global tidb_enable_non_prepared_plan_cache = 0")
+ tk.MustQuery("select @@global.tidb_enable_non_prepared_plan_cache").Check(testkit.Rows("0"))
// session scope
- tk.MustQuery("select @@session.tidb_enable_general_plan_cache").Check(testkit.Rows("0")) // default value
- tk.MustExec("set session tidb_enable_general_plan_cache = 1")
- tk.MustQuery("select @@session.tidb_enable_general_plan_cache").Check(testkit.Rows("1"))
- tk.MustExec("set session tidb_enable_general_plan_cache = 0")
- tk.MustQuery("select @@session.tidb_enable_general_plan_cache").Check(testkit.Rows("0"))
+ tk.MustQuery("select @@session.tidb_enable_non_prepared_plan_cache").Check(testkit.Rows("0")) // default value
+ tk.MustExec("set session tidb_enable_non_prepared_plan_cache = 1")
+ tk.MustQuery("select @@session.tidb_enable_non_prepared_plan_cache").Check(testkit.Rows("1"))
+ tk.MustExec("set session tidb_enable_non_prepared_plan_cache = 0")
+ tk.MustQuery("select @@session.tidb_enable_non_prepared_plan_cache").Check(testkit.Rows("0"))
- // test variable 'tidb_general_plan_cache-size'
+ // test variable 'tidb_non_prepared_plan_cache-size'
// global scope
- tk.MustQuery("select @@global.tidb_general_plan_cache_size").Check(testkit.Rows("100")) // default value
- tk.MustExec("set global tidb_general_plan_cache_size = 200")
- tk.MustQuery("select @@global.tidb_general_plan_cache_size").Check(testkit.Rows("200"))
- tk.MustExec("set global tidb_general_plan_cache_size = 200000000") // overflow
- tk.MustQuery("show warnings").Check(testkit.Rows("Warning 1292 Truncated incorrect tidb_general_plan_cache_size value: '200000000'"))
- tk.MustQuery("select @@global.tidb_general_plan_cache_size").Check(testkit.Rows("100000"))
+ tk.MustQuery("select @@global.tidb_non_prepared_plan_cache_size").Check(testkit.Rows("100")) // default value
+ tk.MustExec("set global tidb_non_prepared_plan_cache_size = 200")
+ tk.MustQuery("select @@global.tidb_non_prepared_plan_cache_size").Check(testkit.Rows("200"))
+ tk.MustExec("set global tidb_non_prepared_plan_cache_size = 200000000") // overflow
+ tk.MustQuery("show warnings").Check(testkit.Rows("Warning 1292 Truncated incorrect tidb_non_prepared_plan_cache_size value: '200000000'"))
+ tk.MustQuery("select @@global.tidb_non_prepared_plan_cache_size").Check(testkit.Rows("100000"))
// session scope
- tk.MustQuery("select @@session.tidb_general_plan_cache_size").Check(testkit.Rows("100")) // default value
- tk.MustExec("set session tidb_general_plan_cache_size = 300")
- tk.MustQuery("select @@session.tidb_general_plan_cache_size").Check(testkit.Rows("300"))
- tk.MustExec("set session tidb_general_plan_cache_size = -1") // underflow
- tk.MustQuery("show warnings").Check(testkit.Rows("Warning 1292 Truncated incorrect tidb_general_plan_cache_size value: '-1'"))
- tk.MustQuery("select @@session.tidb_general_plan_cache_size").Check(testkit.Rows("1"))
+ tk.MustQuery("select @@session.tidb_non_prepared_plan_cache_size").Check(testkit.Rows("100")) // default value
+ tk.MustExec("set session tidb_non_prepared_plan_cache_size = 300")
+ tk.MustQuery("select @@session.tidb_non_prepared_plan_cache_size").Check(testkit.Rows("300"))
+ tk.MustExec("set session tidb_non_prepared_plan_cache_size = -1") // underflow
+ tk.MustQuery("show warnings").Check(testkit.Rows("Warning 1292 Truncated incorrect tidb_non_prepared_plan_cache_size value: '-1'"))
+ tk.MustQuery("select @@session.tidb_non_prepared_plan_cache_size").Check(testkit.Rows("1"))
// test variable 'foreign_key_checks'
// global scope
- tk.MustQuery("select @@global.foreign_key_checks").Check(testkit.Rows("0")) // default value
- tk.MustExec("set global foreign_key_checks = 1")
- tk.MustQuery("select @@global.foreign_key_checks").Check(testkit.Rows("1"))
+ tk.MustQuery("select @@global.foreign_key_checks").Check(testkit.Rows("1")) // default value
+ tk.MustExec("set global foreign_key_checks = 0")
+ tk.MustQuery("select @@global.foreign_key_checks").Check(testkit.Rows("0"))
// session scope
- tk.MustQuery("select @@session.foreign_key_checks").Check(testkit.Rows("0")) // default value
- tk.MustExec("set session foreign_key_checks = 1")
- tk.MustQuery("select @@session.foreign_key_checks").Check(testkit.Rows("1"))
+ tk.MustQuery("select @@session.foreign_key_checks").Check(testkit.Rows("1")) // default value
+ tk.MustExec("set session foreign_key_checks = 0")
+ tk.MustQuery("select @@session.foreign_key_checks").Check(testkit.Rows("0"))
- // test variable 'foreign_key_checks'
+ // test variable 'tidb_enable_foreign_key'
// global scope
- tk.MustQuery("select @@global.tidb_enable_foreign_key").Check(testkit.Rows("0")) // default value
- tk.MustExec("set global tidb_enable_foreign_key = 1")
- tk.MustQuery("select @@global.tidb_enable_foreign_key").Check(testkit.Rows("1"))
+ tk.MustQuery("select @@global.tidb_enable_foreign_key").Check(testkit.Rows("1")) // default value
+ tk.MustExec("set global tidb_enable_foreign_key = 0")
+ tk.MustQuery("select @@global.tidb_enable_foreign_key").Check(testkit.Rows("0"))
// test variable 'tidb_opt_force_inline_cte'
tk.MustQuery("select @@session.tidb_opt_force_inline_cte").Check(testkit.Rows("0")) // default value is 0
@@ -853,6 +852,23 @@ func TestSetVar(t *testing.T) {
tk.MustQuery("select @@global.tidb_opt_range_max_size").Check(testkit.Rows("1048576"))
tk.MustExec("set session tidb_opt_range_max_size = 2097152")
tk.MustQuery("select @@session.tidb_opt_range_max_size").Check(testkit.Rows("2097152"))
+
+ // test for password validation
+ tk.MustQuery("SELECT @@GLOBAL.validate_password.enable").Check(testkit.Rows("0"))
+ tk.MustQuery("SELECT @@GLOBAL.validate_password.length").Check(testkit.Rows("8"))
+ tk.MustExec("SET GLOBAL validate_password.length = 3")
+ tk.MustQuery("SELECT @@GLOBAL.validate_password.length").Check(testkit.Rows("4"))
+ tk.MustExec("SET GLOBAL validate_password.mixed_case_count = 2")
+ tk.MustQuery("SELECT @@GLOBAL.validate_password.length").Check(testkit.Rows("6"))
+
+ // test tidb_cdc_write_source
+ require.Equal(t, uint64(0), tk.Session().GetSessionVars().CDCWriteSource)
+ tk.MustQuery("select @@tidb_cdc_write_source").Check(testkit.Rows("0"))
+ tk.MustExec("set @@session.tidb_cdc_write_source = 2")
+ tk.MustQuery("select @@tidb_cdc_write_source").Check(testkit.Rows("2"))
+ require.Equal(t, uint64(2), tk.Session().GetSessionVars().CDCWriteSource)
+ tk.MustExec("set @@session.tidb_cdc_write_source = 0")
+ require.Equal(t, uint64(0), tk.Session().GetSessionVars().CDCWriteSource)
}
func TestGetSetNoopVars(t *testing.T) {
@@ -1407,14 +1423,11 @@ func TestValidateSetVar(t *testing.T) {
tk.MustExec("set @@innodb_lock_wait_timeout = 1073741825")
tk.MustQuery("show warnings").Check(testkit.RowsWithSep("|", "Warning|1292|Truncated incorrect innodb_lock_wait_timeout value: '1073741825'"))
- tk.MustExec("set @@global.validate_password_number_count=-1")
- tk.MustQuery("show warnings").Check(testkit.RowsWithSep("|", "Warning|1292|Truncated incorrect validate_password_number_count value: '-1'"))
+ tk.MustExec("set @@global.validate_password.number_count=-1")
+ tk.MustQuery("show warnings").Check(testkit.RowsWithSep("|", "Warning|1292|Truncated incorrect validate_password.number_count value: '-1'"))
- tk.MustExec("set @@global.validate_password_length=-1")
- tk.MustQuery("show warnings").Check(testkit.RowsWithSep("|", "Warning|1292|Truncated incorrect validate_password_length value: '-1'"))
-
- tk.MustExec("set @@global.validate_password_length=8")
- tk.MustQuery("show warnings").Check(testkit.Rows())
+ tk.MustExec("set @@global.validate_password.length=-1")
+ tk.MustQuery("show warnings").Check(testkit.RowsWithSep("|", "Warning|1292|Truncated incorrect validate_password.length value: '-1'"))
err = tk.ExecToErr("set @@tx_isolation=''")
require.True(t, terror.ErrorEqual(err, variable.ErrWrongValueForVar), fmt.Sprintf("err %v", err))
@@ -1788,7 +1801,7 @@ func TestSetClusterConfig(t *testing.T) {
httpCnt = 0
tk.Session().SetValue(executor.TestSetConfigHTTPHandlerKey, func(req *http.Request) (*http.Response, error) {
httpCnt++
- body, err := ioutil.ReadAll(req.Body)
+ body, err := io.ReadAll(req.Body)
require.NoError(t, err)
// The `raftstore.` prefix is stripped.
require.JSONEq(t, `{"server.snap-max-write-bytes-per-sec":"500MB"}`, string(body))
diff --git a/executor/show.go b/executor/show.go
index 8ec62eac26c08..99e9d80121a01 100644
--- a/executor/show.go
+++ b/executor/show.go
@@ -39,9 +39,11 @@ import (
"github.com/pingcap/tidb/parser/ast"
"github.com/pingcap/tidb/parser/auth"
"github.com/pingcap/tidb/parser/charset"
+ parserformat "github.com/pingcap/tidb/parser/format"
"github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/parser/terror"
+ "github.com/pingcap/tidb/parser/tidb"
field_types "github.com/pingcap/tidb/parser/types"
plannercore "github.com/pingcap/tidb/planner/core"
"github.com/pingcap/tidb/plugin"
@@ -67,6 +69,7 @@ import (
"github.com/pingcap/tidb/util/memory"
"github.com/pingcap/tidb/util/sem"
"github.com/pingcap/tidb/util/set"
+ "github.com/pingcap/tidb/util/slice"
"github.com/pingcap/tidb/util/sqlexec"
"github.com/pingcap/tidb/util/stringutil"
"golang.org/x/exp/slices"
@@ -304,13 +307,14 @@ func (v *visibleChecker) Leave(in ast.Node) (out ast.Node, ok bool) {
}
func (e *ShowExec) fetchShowBind() error {
- var bindRecords []*bindinfo.BindRecord
+ var tmp []*bindinfo.BindRecord
if !e.GlobalScope {
handle := e.ctx.Value(bindinfo.SessionBindInfoKeyType).(*bindinfo.SessionHandle)
- bindRecords = handle.GetAllBindRecord()
+ tmp = handle.GetAllBindRecord()
} else {
- bindRecords = domain.GetDomain(e.ctx).BindHandle().GetAllBindRecord()
+ tmp = domain.GetDomain(e.ctx).BindHandle().GetAllBindRecord()
}
+ bindRecords := slice.Copy(tmp)
// Remove the invalid bindRecord.
ind := 0
for _, bindData := range bindRecords {
@@ -368,6 +372,8 @@ func (e *ShowExec) fetchShowBind() error {
hint.Charset,
hint.Collation,
hint.Source,
+ hint.SQLDigest,
+ hint.PlanDigest,
})
}
}
@@ -1006,8 +1012,9 @@ func ConstructResultOfShowCreateTable(ctx sessionctx.Context, tableInfo *model.T
}
buf.WriteString(" DEFAULT NULL")
}
- case "CURRENT_TIMESTAMP":
- buf.WriteString(" DEFAULT CURRENT_TIMESTAMP")
+ case "CURRENT_TIMESTAMP", "CURRENT_DATE":
+ buf.WriteString(" DEFAULT ")
+ buf.WriteString(defaultValue.(string))
if col.GetDecimal() > 0 {
buf.WriteString(fmt.Sprintf("(%d)", col.GetDecimal()))
}
@@ -1142,7 +1149,7 @@ func ConstructResultOfShowCreateTable(ctx sessionctx.Context, tableInfo *model.T
buf.WriteString(fmt.Sprintf(" ON UPDATE %s", model.ReferOptionType(fk.OnUpdate).String()))
}
if fk.Version < model.FKVersion1 {
- buf.WriteString(" /*T![FOREIGN KEY] INVALID */")
+ buf.WriteString(" /* FOREIGN KEY INVALID */")
}
}
@@ -1222,6 +1229,54 @@ func ConstructResultOfShowCreateTable(ctx sessionctx.Context, tableInfo *model.T
// add partition info here.
ddl.AppendPartitionInfo(tableInfo.Partition, buf, sqlMode)
+
+ if tableInfo.TTLInfo != nil {
+ restoreFlags := parserformat.RestoreStringSingleQuotes | parserformat.RestoreNameBackQuotes | parserformat.RestoreTiDBSpecialComment
+ restoreCtx := parserformat.NewRestoreCtx(restoreFlags, buf)
+
+ restoreCtx.WritePlain(" ")
+ err = restoreCtx.WriteWithSpecialComments(tidb.FeatureIDTTL, func() error {
+ columnName := ast.ColumnName{Name: tableInfo.TTLInfo.ColumnName}
+ timeUnit := ast.TimeUnitExpr{Unit: ast.TimeUnitType(tableInfo.TTLInfo.IntervalTimeUnit)}
+ restoreCtx.WriteKeyWord("TTL")
+ restoreCtx.WritePlain("=")
+ restoreCtx.WriteName(columnName.String())
+ restoreCtx.WritePlainf(" + INTERVAL %s ", tableInfo.TTLInfo.IntervalExprStr)
+ return timeUnit.Restore(restoreCtx)
+ })
+
+ if err != nil {
+ return err
+ }
+
+ restoreCtx.WritePlain(" ")
+ err = restoreCtx.WriteWithSpecialComments(tidb.FeatureIDTTL, func() error {
+ restoreCtx.WriteKeyWord("TTL_ENABLE")
+ restoreCtx.WritePlain("=")
+ if tableInfo.TTLInfo.Enable {
+ restoreCtx.WriteString("ON")
+ } else {
+ restoreCtx.WriteString("OFF")
+ }
+ return nil
+ })
+
+ if err != nil {
+ return err
+ }
+
+ restoreCtx.WritePlain(" ")
+ err = restoreCtx.WriteWithSpecialComments(tidb.FeatureIDTTL, func() error {
+ restoreCtx.WriteKeyWord("TTL_JOB_INTERVAL")
+ restoreCtx.WritePlain("=")
+ restoreCtx.WriteString(tableInfo.TTLInfo.JobInterval.String())
+ return nil
+ })
+
+ if err != nil {
+ return err
+ }
+ }
return nil
}
@@ -1487,7 +1542,11 @@ func (e *ShowExec) fetchShowCreateUser(ctx context.Context) error {
exec := e.ctx.(sqlexec.RestrictedSQLExecutor)
- rows, _, err := exec.ExecRestrictedSQL(ctx, nil, `SELECT plugin, Account_locked, JSON_UNQUOTE(JSON_EXTRACT(user_attributes, '$.metadata')), Token_issuer
+ rows, _, err := exec.ExecRestrictedSQL(ctx, nil,
+ `SELECT plugin, Account_locked, user_attributes->>'$.metadata', Token_issuer,
+ Password_reuse_history, Password_reuse_time, Password_expired, Password_lifetime,
+ user_attributes->>'$.Password_locking.failed_login_attempts',
+ user_attributes->>'$.Password_locking.password_lock_time_days'
FROM %n.%n WHERE User=%? AND Host=%?`,
mysql.SystemDB, mysql.UserTable, userName, strings.ToLower(hostName))
if err != nil {
@@ -1513,7 +1572,7 @@ func (e *ShowExec) fetchShowCreateUser(ctx context.Context) error {
userAttributes := rows[0].GetString(2)
if len(userAttributes) > 0 {
- userAttributes = " ATTRIBUTE " + userAttributes
+ userAttributes = fmt.Sprintf(" ATTRIBUTE '%s'", userAttributes)
}
tokenIssuer := rows[0].GetString(3)
@@ -1521,6 +1580,47 @@ func (e *ShowExec) fetchShowCreateUser(ctx context.Context) error {
tokenIssuer = " token_issuer " + tokenIssuer
}
+ var passwordHistory string
+ if rows[0].IsNull(4) {
+ passwordHistory = "DEFAULT"
+ } else {
+ passwordHistory = strconv.FormatUint(rows[0].GetUint64(4), 10)
+ }
+
+ var passwordReuseInterval string
+ if rows[0].IsNull(5) {
+ passwordReuseInterval = "DEFAULT"
+ } else {
+ passwordReuseInterval = strconv.FormatUint(rows[0].GetUint64(5), 10) + " DAY"
+ }
+
+ passwordExpired := rows[0].GetEnum(6).String()
+ passwordLifetime := int64(-1)
+ if !rows[0].IsNull(7) {
+ passwordLifetime = rows[0].GetInt64(7)
+ }
+ passwordExpiredStr := "PASSWORD EXPIRE DEFAULT"
+ if passwordExpired == "Y" {
+ passwordExpiredStr = "PASSWORD EXPIRE"
+ } else if passwordLifetime == 0 {
+ passwordExpiredStr = "PASSWORD EXPIRE NEVER"
+ } else if passwordLifetime > 0 {
+ passwordExpiredStr = fmt.Sprintf("PASSWORD EXPIRE INTERVAL %d DAY", passwordLifetime)
+ }
+
+ failedLoginAttempts := rows[0].GetString(8)
+ if len(failedLoginAttempts) > 0 {
+ failedLoginAttempts = " FAILED_LOGIN_ATTEMPTS " + failedLoginAttempts
+ }
+
+ passwordLockTimeDays := rows[0].GetString(9)
+ if len(passwordLockTimeDays) > 0 {
+ if passwordLockTimeDays == "-1" {
+ passwordLockTimeDays = " PASSWORD_LOCK_TIME UNBOUNDED"
+ } else {
+ passwordLockTimeDays = " PASSWORD_LOCK_TIME " + passwordLockTimeDays
+ }
+ }
rows, _, err = exec.ExecRestrictedSQL(ctx, nil, `SELECT Priv FROM %n.%n WHERE User=%? AND Host=%?`, mysql.SystemDB, mysql.GlobalPrivTable, userName, hostName)
if err != nil {
return errors.Trace(err)
@@ -1544,8 +1644,8 @@ func (e *ShowExec) fetchShowCreateUser(ctx context.Context) error {
}
// FIXME: the returned string is not escaped safely
- showStr := fmt.Sprintf("CREATE USER '%s'@'%s' IDENTIFIED WITH '%s'%s REQUIRE %s%s PASSWORD EXPIRE DEFAULT ACCOUNT %s%s",
- e.User.Username, e.User.Hostname, authplugin, authStr, require, tokenIssuer, accountLocked, userAttributes)
+ showStr := fmt.Sprintf("CREATE USER '%s'@'%s' IDENTIFIED WITH '%s'%s REQUIRE %s%s %s ACCOUNT %s PASSWORD HISTORY %s PASSWORD REUSE INTERVAL %s%s%s%s",
+ e.User.Username, e.User.Hostname, authplugin, authStr, require, tokenIssuer, passwordExpiredStr, accountLocked, passwordHistory, passwordReuseInterval, failedLoginAttempts, passwordLockTimeDays, userAttributes)
e.appendRow([]interface{}{showStr})
return nil
}
diff --git a/executor/showtest/BUILD.bazel b/executor/showtest/BUILD.bazel
index 807e00c8e88ec..1882c92e0627d 100644
--- a/executor/showtest/BUILD.bazel
+++ b/executor/showtest/BUILD.bazel
@@ -11,6 +11,7 @@ go_test(
race = "on",
shard_count = 45,
deps = [
+ "//autoid_service",
"//config",
"//executor",
"//infoschema",
diff --git a/executor/showtest/show_test.go b/executor/showtest/show_test.go
index 11fa95dc0bb8c..6ff3db919ee9f 100644
--- a/executor/showtest/show_test.go
+++ b/executor/showtest/show_test.go
@@ -21,6 +21,7 @@ import (
"testing"
"github.com/pingcap/failpoint"
+ _ "github.com/pingcap/tidb/autoid_service"
"github.com/pingcap/tidb/executor"
"github.com/pingcap/tidb/infoschema"
"github.com/pingcap/tidb/parser/auth"
@@ -142,7 +143,8 @@ func TestShowCreateTable(t *testing.T) {
"`d` datetime(4) default current_timestamp(4),\n" +
"`e` varchar(20) default 'cUrrent_tImestamp',\n" +
"`f` datetime(2) default current_timestamp(2) on update current_timestamp(2),\n" +
- "`g` timestamp(2) default current_timestamp(2) on update current_timestamp(2))")
+ "`g` timestamp(2) default current_timestamp(2) on update current_timestamp(2),\n" +
+ "`h` date default current_date )")
tk.MustQuery("show create table `t`").Check(testkit.RowsWithSep("|",
""+
"t CREATE TABLE `t` (\n"+
@@ -152,7 +154,8 @@ func TestShowCreateTable(t *testing.T) {
" `d` datetime(4) DEFAULT CURRENT_TIMESTAMP(4),\n"+
" `e` varchar(20) DEFAULT 'cUrrent_tImestamp',\n"+
" `f` datetime(2) DEFAULT CURRENT_TIMESTAMP(2) ON UPDATE CURRENT_TIMESTAMP(2),\n"+
- " `g` timestamp(2) DEFAULT CURRENT_TIMESTAMP(2) ON UPDATE CURRENT_TIMESTAMP(2)\n"+
+ " `g` timestamp(2) DEFAULT CURRENT_TIMESTAMP(2) ON UPDATE CURRENT_TIMESTAMP(2),\n"+
+ " `h` date DEFAULT CURRENT_DATE\n"+
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin",
))
tk.MustExec("drop table t")
@@ -317,9 +320,10 @@ func TestShowCreateTable(t *testing.T) {
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin",
))
- // TiDB defaults (and only supports) foreign_key_checks=0
+ // set @@foreign_key_checks=0,
// This means that the child table can be created before the parent table.
// This behavior is required for mysqldump restores.
+ tk.MustExec("set @@foreign_key_checks=0")
tk.MustExec(`DROP TABLE IF EXISTS parent, child`)
tk.MustExec(`CREATE TABLE child (id INT NOT NULL PRIMARY KEY auto_increment, parent_id INT NOT NULL, INDEX par_ind (parent_id), CONSTRAINT child_ibfk_1 FOREIGN KEY (parent_id) REFERENCES parent(id))`)
tk.MustExec(`CREATE TABLE parent ( id INT NOT NULL PRIMARY KEY auto_increment )`)
@@ -330,7 +334,7 @@ func TestShowCreateTable(t *testing.T) {
" `parent_id` int(11) NOT NULL,\n"+
" PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n"+
" KEY `par_ind` (`parent_id`),\n"+
- " CONSTRAINT `child_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `test`.`parent` (`id`) /*T![FOREIGN KEY] INVALID */\n"+
+ " CONSTRAINT `child_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `test`.`parent` (`id`)\n"+
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin",
))
@@ -344,7 +348,7 @@ func TestShowCreateTable(t *testing.T) {
" `parent_id` int(11) NOT NULL,\n"+
" PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n"+
" KEY `par_ind` (`parent_id`),\n"+
- " CONSTRAINT `child_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `test`.`parent` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE /*T![FOREIGN KEY] INVALID */\n"+
+ " CONSTRAINT `child_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `test`.`parent` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE\n"+
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin",
))
@@ -357,7 +361,8 @@ func TestShowCreateTable(t *testing.T) {
" `id` int(11) NOT NULL,\n" +
" `b` int(11) DEFAULT NULL,\n" +
" PRIMARY KEY (`id`) /*T![clustered_index] CLUSTERED */,\n" +
- " CONSTRAINT `fk` FOREIGN KEY (`b`) REFERENCES `test1`.`t1` (`id`) /*T![FOREIGN KEY] INVALID */\n" +
+ " KEY `fk` (`b`),\n" +
+ " CONSTRAINT `fk` FOREIGN KEY (`b`) REFERENCES `test1`.`t1` (`id`)\n" +
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin"))
// Test issue #20327
@@ -963,6 +968,8 @@ func TestShow2(t *testing.T) {
c_timestamp_default timestamp default current_timestamp,
c_timestamp_default_3 timestamp(3) default current_timestamp(3),
c_timestamp_default_4 timestamp(3) default current_timestamp(3) on update current_timestamp(3),
+ c_date_default date default current_date,
+ c_date_default_2 date default (curdate()),
c_blob blob,
c_tinyblob tinyblob,
c_mediumblob mediumblob,
@@ -999,6 +1006,8 @@ func TestShow2(t *testing.T) {
"[c_timestamp_default timestamp YES CURRENT_TIMESTAMP select,insert,update,references ]\n" +
"[c_timestamp_default_3 timestamp(3) YES CURRENT_TIMESTAMP(3) select,insert,update,references ]\n" +
"[c_timestamp_default_4 timestamp(3) YES CURRENT_TIMESTAMP(3) DEFAULT_GENERATED on update CURRENT_TIMESTAMP(3) select,insert,update,references ]\n" +
+ "[c_date_default date YES CURRENT_DATE select,insert,update,references ]\n" +
+ "[c_date_default_2 date YES CURRENT_DATE select,insert,update,references ]\n" +
"[c_blob blob YES select,insert,update,references ]\n" +
"[c_tinyblob tinyblob YES select,insert,update,references ]\n" +
"[c_mediumblob mediumblob YES select,insert,update,references ]\n" +
@@ -1057,11 +1066,11 @@ func TestShowCreateUser(t *testing.T) {
// Create a new user.
tk.MustExec(`CREATE USER 'test_show_create_user'@'%' IDENTIFIED BY 'root';`)
tk.MustQuery("show create user 'test_show_create_user'@'%'").
- Check(testkit.Rows(`CREATE USER 'test_show_create_user'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK`))
+ Check(testkit.Rows(`CREATE USER 'test_show_create_user'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT`))
tk.MustExec(`CREATE USER 'test_show_create_user'@'localhost' IDENTIFIED BY 'test';`)
tk.MustQuery("show create user 'test_show_create_user'@'localhost';").
- Check(testkit.Rows(`CREATE USER 'test_show_create_user'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK`))
+ Check(testkit.Rows(`CREATE USER 'test_show_create_user'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT`))
// Case: the user exists but the host portion doesn't match
err := tk.QueryToErr("show create user 'test_show_create_user'@'asdf';")
@@ -1073,10 +1082,10 @@ func TestShowCreateUser(t *testing.T) {
tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "127.0.0.1", AuthUsername: "root", AuthHostname: "%"}, nil, nil)
tk.MustQuery("show create user current_user").
- Check(testkit.Rows("CREATE USER 'root'@'127.0.0.1' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK"))
+ Check(testkit.Rows("CREATE USER 'root'@'127.0.0.1' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT"))
tk.MustQuery("show create user current_user()").
- Check(testkit.Rows("CREATE USER 'root'@'127.0.0.1' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK"))
+ Check(testkit.Rows("CREATE USER 'root'@'127.0.0.1' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT"))
tk.MustExec("create user 'check_priv'")
@@ -1089,9 +1098,9 @@ func TestShowCreateUser(t *testing.T) {
// "show create user" for current user doesn't check privileges.
tk1.MustQuery("show create user current_user").
- Check(testkit.Rows("CREATE USER 'check_priv'@'127.0.0.1' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK"))
+ Check(testkit.Rows("CREATE USER 'check_priv'@'127.0.0.1' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT"))
- // Creating users with `IDENTIFIED WITH 'caching_sha2_password'`
+ // Creating users with `IDENTIFIED WITH 'caching_sha2_password'`.
tk.MustExec("CREATE USER 'sha_test'@'%' IDENTIFIED WITH 'caching_sha2_password' BY 'temp_passwd'")
// Compare only the start of the output as the salt changes every time.
@@ -1102,29 +1111,57 @@ func TestShowCreateUser(t *testing.T) {
// Compare only the start of the output as the salt changes every time.
rows = tk.MustQuery("SHOW CREATE USER 'sock'@'%'")
- require.Equal(t, "CREATE USER 'sock'@'%' IDENTIFIED WITH 'auth_socket' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK", rows.Rows()[0][0].(string))
+ require.Equal(t, "CREATE USER 'sock'@'%' IDENTIFIED WITH 'auth_socket' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT", rows.Rows()[0][0].(string))
tk.MustExec("CREATE USER 'sock2'@'%' IDENTIFIED WITH 'auth_socket' AS 'sock3'")
// Compare only the start of the output as the salt changes every time.
rows = tk.MustQuery("SHOW CREATE USER 'sock2'@'%'")
- require.Equal(t, "CREATE USER 'sock2'@'%' IDENTIFIED WITH 'auth_socket' AS 'sock3' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK", rows.Rows()[0][0].(string))
+ require.Equal(t, "CREATE USER 'sock2'@'%' IDENTIFIED WITH 'auth_socket' AS 'sock3' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT", rows.Rows()[0][0].(string))
- // Test ACCOUNT LOCK/UNLOCK
+ // Test ACCOUNT LOCK/UNLOCK.
tk.MustExec("CREATE USER 'lockness'@'%' IDENTIFIED BY 'monster' ACCOUNT LOCK")
rows = tk.MustQuery("SHOW CREATE USER 'lockness'@'%'")
- require.Equal(t, "CREATE USER 'lockness'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*BC05309E7FE12AFD4EBB9FFE7E488A6320F12FF3' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT LOCK", rows.Rows()[0][0].(string))
+ require.Equal(t, "CREATE USER 'lockness'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*BC05309E7FE12AFD4EBB9FFE7E488A6320F12FF3' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT LOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT", rows.Rows()[0][0].(string))
- // Test COMMENT and ATTRIBUTE
+ // Test COMMENT and ATTRIBUTE.
tk.MustExec("CREATE USER commentUser COMMENT '1234'")
- tk.MustQuery("SHOW CREATE USER commentUser").Check(testkit.Rows(`CREATE USER 'commentUser'@'%' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK ATTRIBUTE {"comment": "1234"}`))
+ tk.MustQuery("SHOW CREATE USER commentUser").Check(testkit.Rows(`CREATE USER 'commentUser'@'%' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT ATTRIBUTE '{"comment": "1234"}'`))
tk.MustExec(`CREATE USER attributeUser attribute '{"name": "Tom", "age": 19}'`)
- tk.MustQuery("SHOW CREATE USER attributeUser").Check(testkit.Rows(`CREATE USER 'attributeUser'@'%' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK ATTRIBUTE {"age": 19, "name": "Tom"}`))
+ tk.MustQuery("SHOW CREATE USER attributeUser").Check(testkit.Rows(`CREATE USER 'attributeUser'@'%' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT ATTRIBUTE '{"age": 19, "name": "Tom"}'`))
- // Creating users with 'IDENTIFIED WITH 'tidb_auth_token''
+ // Creating users with IDENTIFIED WITH 'tidb_auth_token'.
tk.MustExec(`CREATE USER 'token_user'@'%' IDENTIFIED WITH 'tidb_auth_token' ATTRIBUTE '{"email": "user@pingcap.com"}'`)
- tk.MustQuery("SHOW CREATE USER token_user").Check(testkit.Rows(`CREATE USER 'token_user'@'%' IDENTIFIED WITH 'tidb_auth_token' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK ATTRIBUTE {"email": "user@pingcap.com"}`))
+ tk.MustQuery("SHOW CREATE USER token_user").Check(testkit.Rows(`CREATE USER 'token_user'@'%' IDENTIFIED WITH 'tidb_auth_token' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT ATTRIBUTE '{"email": "user@pingcap.com"}'`))
tk.MustExec(`ALTER USER 'token_user'@'%' REQUIRE token_issuer 'issuer-ABC'`)
- tk.MustQuery("SHOW CREATE USER token_user").Check(testkit.Rows(`CREATE USER 'token_user'@'%' IDENTIFIED WITH 'tidb_auth_token' AS '' REQUIRE NONE token_issuer issuer-ABC PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK ATTRIBUTE {"email": "user@pingcap.com"}`))
+ tk.MustQuery("SHOW CREATE USER token_user").Check(testkit.Rows(`CREATE USER 'token_user'@'%' IDENTIFIED WITH 'tidb_auth_token' AS '' REQUIRE NONE token_issuer issuer-ABC PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT ATTRIBUTE '{"email": "user@pingcap.com"}'`))
+
+ // create users with password reuse.
+ tk.MustExec(`CREATE USER 'reuse_user'@'%' IDENTIFIED WITH 'tidb_auth_token' PASSWORD HISTORY 5 PASSWORD REUSE INTERVAL 3 DAY`)
+ tk.MustQuery("SHOW CREATE USER reuse_user").Check(testkit.Rows(`CREATE USER 'reuse_user'@'%' IDENTIFIED WITH 'tidb_auth_token' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY 5 PASSWORD REUSE INTERVAL 3 DAY`))
+ tk.MustExec(`ALTER USER 'reuse_user'@'%' PASSWORD HISTORY 50`)
+ tk.MustQuery("SHOW CREATE USER reuse_user").Check(testkit.Rows(`CREATE USER 'reuse_user'@'%' IDENTIFIED WITH 'tidb_auth_token' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY 50 PASSWORD REUSE INTERVAL 3 DAY`))
+ tk.MustExec(`ALTER USER 'reuse_user'@'%' PASSWORD REUSE INTERVAL 31 DAY`)
+ tk.MustQuery("SHOW CREATE USER reuse_user").Check(testkit.Rows(`CREATE USER 'reuse_user'@'%' IDENTIFIED WITH 'tidb_auth_token' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY 50 PASSWORD REUSE INTERVAL 31 DAY`))
+
+ tk.MustExec("CREATE USER 'jeffrey1'@'localhost' PASSWORD EXPIRE")
+ tk.MustQuery("SHOW CREATE USER 'jeffrey1'@'localhost'").Check(testkit.Rows(`CREATE USER 'jeffrey1'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT`))
+ tk.MustExec("CREATE USER 'jeffrey2'@'localhost' PASSWORD EXPIRE DEFAULT")
+ tk.MustQuery("SHOW CREATE USER 'jeffrey2'@'localhost'").Check(testkit.Rows(`CREATE USER 'jeffrey2'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT`))
+ tk.MustExec("CREATE USER 'jeffrey3'@'localhost' PASSWORD EXPIRE NEVER")
+ tk.MustQuery("SHOW CREATE USER 'jeffrey3'@'localhost'").Check(testkit.Rows(`CREATE USER 'jeffrey3'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE NEVER ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT`))
+ tk.MustExec("CREATE USER 'jeffrey4'@'localhost' PASSWORD EXPIRE INTERVAL 180 DAY")
+ tk.MustQuery("SHOW CREATE USER 'jeffrey4'@'localhost'").Check(testkit.Rows(`CREATE USER 'jeffrey4'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE INTERVAL 180 DAY ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT`))
+
+ tk.MustExec("CREATE USER failed_login_user")
+ tk.MustQuery("SHOW CREATE USER failed_login_user").Check(testkit.Rows(`CREATE USER 'failed_login_user'@'%' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT`))
+ tk.MustExec("ALTER USER failed_login_user FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME 2")
+ tk.MustQuery("SHOW CREATE USER failed_login_user").Check(testkit.Rows(`CREATE USER 'failed_login_user'@'%' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME 2`))
+ tk.MustExec("ALTER USER failed_login_user PASSWORD_LOCK_TIME UNBOUNDED")
+ tk.MustQuery("SHOW CREATE USER failed_login_user").Check(testkit.Rows(`CREATE USER 'failed_login_user'@'%' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME UNBOUNDED`))
+ tk.MustExec("ALTER USER failed_login_user comment 'testcomment'")
+ tk.MustQuery("SHOW CREATE USER failed_login_user").Check(testkit.Rows(`CREATE USER 'failed_login_user'@'%' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME UNBOUNDED ATTRIBUTE '{"comment": "testcomment"}'`))
+ tk.MustExec("ALTER USER failed_login_user ATTRIBUTE '{\"attribute\": \"testattribute\"}'")
+ tk.MustQuery("SHOW CREATE USER failed_login_user").Check(testkit.Rows(`CREATE USER 'failed_login_user'@'%' IDENTIFIED WITH 'mysql_native_password' AS '' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME UNBOUNDED ATTRIBUTE '{"attribute": "testattribute", "comment": "testcomment"}'`))
}
func TestUnprivilegedShow(t *testing.T) {
@@ -1485,7 +1522,7 @@ func TestShowBuiltin(t *testing.T) {
res := tk.MustQuery("show builtins;")
require.NotNil(t, res)
rows := res.Rows()
- const builtinFuncNum = 283
+ const builtinFuncNum = 285
require.Equal(t, builtinFuncNum, len(rows))
require.Equal(t, rows[0][0].(string), "abs")
require.Equal(t, rows[builtinFuncNum-1][0].(string), "yearweek")
@@ -1989,3 +2026,55 @@ func TestShowLimitReturnRow(t *testing.T) {
rows = result.Rows()
require.Equal(t, rows[0][2], "idx_b")
}
+
+func TestShowTTLOption(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(created_at datetime) ttl = `created_at` + INTERVAL 100 YEAR")
+ tk.MustQuery("show create table t").Check(testkit.Rows("t CREATE TABLE `t` (\n `created_at` datetime DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`created_at` + INTERVAL 100 YEAR */ /*T![ttl] TTL_ENABLE='ON' */ /*T![ttl] TTL_JOB_INTERVAL='1h' */"))
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(created_at datetime) ttl = `created_at` + INTERVAL 100 YEAR ttl_enable = 'OFF'")
+ tk.MustQuery("show create table t").Check(testkit.Rows("t CREATE TABLE `t` (\n `created_at` datetime DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`created_at` + INTERVAL 100 YEAR */ /*T![ttl] TTL_ENABLE='OFF' */ /*T![ttl] TTL_JOB_INTERVAL='1h' */"))
+
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t (created_at datetime) TTL = created_at + INTERVAL 3.14159 HOUR_MINUTE")
+ tk.MustQuery("show create table t").Check(testkit.Rows("t CREATE TABLE `t` (\n `created_at` datetime DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`created_at` + INTERVAL 3.14159 HOUR_MINUTE */ /*T![ttl] TTL_ENABLE='ON' */ /*T![ttl] TTL_JOB_INTERVAL='1h' */"))
+
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t (created_at datetime) TTL = created_at + INTERVAL \"15:20\" HOUR_MINUTE")
+ tk.MustQuery("show create table t").Check(testkit.Rows("t CREATE TABLE `t` (\n `created_at` datetime DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`created_at` + INTERVAL _utf8mb4'15:20' HOUR_MINUTE */ /*T![ttl] TTL_ENABLE='ON' */ /*T![ttl] TTL_JOB_INTERVAL='1h' */"))
+
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t (created_at datetime) TTL = created_at + INTERVAL 100 YEAR TTL_JOB_INTERVAL = '1d'")
+ tk.MustQuery("show create table t").Check(testkit.Rows("t CREATE TABLE `t` (\n `created_at` datetime DEFAULT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![ttl] TTL=`created_at` + INTERVAL 100 YEAR */ /*T![ttl] TTL_ENABLE='ON' */ /*T![ttl] TTL_JOB_INTERVAL='1d' */"))
+}
+
+func TestShowBindingDigestField(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t1, t2")
+ tk.MustExec("create table t1(id int, key(id))")
+ tk.MustExec("create table t2(id int, key(id))")
+ tk.MustExec("create binding for select * from t1, t2 where t1.id = t2.id using select /*+ merge_join(t1, t2)*/ * from t1, t2 where t1.id = t2.id")
+ result := tk.MustQuery("show bindings;")
+ rows := result.Rows()[0]
+ require.Equal(t, len(rows), 11)
+ require.Equal(t, rows[9], "ac1ceb4eb5c01f7c03e29b7d0d6ab567e563f4c93164184cde218f20d07fd77c")
+ tk.MustExec("drop binding for select * from t1, t2 where t1.id = t2.id")
+ result = tk.MustQuery("show bindings;")
+ require.Equal(t, len(result.Rows()), 0)
+
+ tk.MustExec("create global binding for select * from t1, t2 where t1.id = t2.id using select /*+ merge_join(t1, t2)*/ * from t1, t2 where t1.id = t2.id")
+ result = tk.MustQuery("show global bindings;")
+ rows = result.Rows()[0]
+ require.Equal(t, len(rows), 11)
+ require.Equal(t, rows[9], "ac1ceb4eb5c01f7c03e29b7d0d6ab567e563f4c93164184cde218f20d07fd77c")
+ tk.MustExec("drop global binding for select * from t1, t2 where t1.id = t2.id")
+ result = tk.MustQuery("show global bindings;")
+ require.Equal(t, len(result.Rows()), 0)
+}
diff --git a/executor/simple.go b/executor/simple.go
index 29d40775fa06e..081ef80c43507 100644
--- a/executor/simple.go
+++ b/executor/simple.go
@@ -19,7 +19,9 @@ import (
"context"
"encoding/json"
"fmt"
+ "math"
"os"
+ "strconv"
"strings"
"syscall"
"time"
@@ -51,15 +53,18 @@ import (
"github.com/pingcap/tidb/util/collate"
"github.com/pingcap/tidb/util/hack"
"github.com/pingcap/tidb/util/logutil"
+ "github.com/pingcap/tidb/util/mathutil"
+ pwdValidator "github.com/pingcap/tidb/util/password-validation"
"github.com/pingcap/tidb/util/sem"
"github.com/pingcap/tidb/util/sqlexec"
"github.com/pingcap/tidb/util/timeutil"
"github.com/pingcap/tidb/util/tls"
"github.com/pingcap/tipb/go-tipb"
- tikvutil "github.com/tikv/client-go/v2/util"
"go.uber.org/zap"
)
+const notSpecified = -1
+
var (
transactionDurationPessimisticRollback = metrics.TransactionDuration.WithLabelValues(metrics.LblPessimistic, metrics.LblRollback)
transactionDurationOptimisticRollback = metrics.TransactionDuration.WithLabelValues(metrics.LblOptimistic, metrics.LblRollback)
@@ -85,6 +90,33 @@ type SimpleExec struct {
staleTxnStartTS uint64
}
+type passwordOrLockOptionsInfo struct {
+ lockAccount string
+ passwordExpired string
+ passwordLifetime any
+ passwordHistory int64
+ passwordHistoryChange bool
+ passwordReuseInterval int64
+ passwordReuseIntervalChange bool
+ failedLoginAttempts int64
+ passwordLockTime int64
+ failedLoginAttemptsChange bool
+ passwordLockTimeChange bool
+}
+
+type passwordReuseInfo struct {
+ passwordHistory int64
+ passwordReuseInterval int64
+}
+
+type userInfo struct {
+ host string
+ user string
+ pLI *passwordOrLockOptionsInfo
+ pwd string
+ authString string
+}
+
func (e *baseExecutor) getSysSession() (sessionctx.Context, error) {
dom := domain.GetDomain(e.ctx)
sysSessionPool := dom.SysSessionPool()
@@ -110,6 +142,16 @@ func (e *baseExecutor) releaseSysSession(ctx context.Context, sctx sessionctx.Co
sysSessionPool.Put(sctx.(pools.Resource))
}
+// clearSysSession close the session does not return the session.
+// Since the environment variables in the session are changed, the session object is not returned.
+func clearSysSession(ctx context.Context, sctx sessionctx.Context) {
+ if sctx == nil {
+ return
+ }
+ _, _ = sctx.(sqlexec.SQLExecutor).ExecuteInternal(ctx, "rollback")
+ sctx.(pools.Resource).Close()
+}
+
// Next implements the Executor Next interface.
func (e *SimpleExec) Next(ctx context.Context, req *chunk.Chunk) (err error) {
if e.done {
@@ -783,6 +825,215 @@ func (e *SimpleExec) executeRollback(s *ast.RollbackStmt) error {
return nil
}
+func whetherSavePasswordHistory(plOptions *passwordOrLockOptionsInfo) bool {
+ var passwdSaveNum, passwdSaveTime int64
+ // If the user specifies a default, read the global variable.
+ if plOptions.passwordHistoryChange && plOptions.passwordHistory != notSpecified {
+ passwdSaveNum = plOptions.passwordHistory
+ } else {
+ passwdSaveNum = variable.PasswordHistory.Load()
+ }
+ if plOptions.passwordReuseIntervalChange && plOptions.passwordReuseInterval != notSpecified {
+ passwdSaveTime = plOptions.passwordReuseInterval
+ } else {
+ passwdSaveTime = variable.PasswordReuseInterval.Load()
+ }
+ return passwdSaveTime > 0 || passwdSaveNum > 0
+}
+
+type alterUserPasswordLocking struct {
+ failedLoginAttempts int64
+ passwordLockTime int64
+ failedLoginAttemptsNotFound bool
+ passwordLockTimeChangeNotFound bool
+ // containsNoOthers indicates whether User_attributes only contains one "Password_locking" element.
+ containsNoOthers bool
+}
+
+func (info *passwordOrLockOptionsInfo) loadOptions(plOption []*ast.PasswordOrLockOption) error {
+ if length := len(plOption); length > 0 {
+ // If "PASSWORD EXPIRE ..." appears many times,
+ // only the last declaration takes effect.
+ Loop:
+ for i := length - 1; i >= 0; i-- {
+ switch plOption[i].Type {
+ case ast.PasswordExpire:
+ info.passwordExpired = "Y"
+ break Loop
+ case ast.PasswordExpireDefault:
+ info.passwordLifetime = nil
+ break Loop
+ case ast.PasswordExpireNever:
+ info.passwordLifetime = 0
+ break Loop
+ case ast.PasswordExpireInterval:
+ if plOption[i].Count == 0 || plOption[i].Count > math.MaxUint16 {
+ return types.ErrWrongValue2.GenWithStackByArgs("DAY", fmt.Sprintf("%v", plOption[i].Count))
+ }
+ info.passwordLifetime = plOption[i].Count
+ break Loop
+ }
+ }
+ }
+ // only the last declaration takes effect.
+ for _, option := range plOption {
+ switch option.Type {
+ case ast.Lock:
+ info.lockAccount = "Y"
+ case ast.Unlock:
+ info.lockAccount = "N"
+ case ast.FailedLoginAttempts:
+ info.failedLoginAttempts = mathutil.Min(option.Count, math.MaxInt16)
+ info.failedLoginAttemptsChange = true
+ case ast.PasswordLockTime:
+ info.passwordLockTime = mathutil.Min(option.Count, math.MaxInt16)
+ info.passwordLockTimeChange = true
+ case ast.PasswordLockTimeUnbounded:
+ info.passwordLockTime = -1
+ info.passwordLockTimeChange = true
+ case ast.PasswordHistory:
+ info.passwordHistory = mathutil.Min(option.Count, math.MaxUint16)
+ info.passwordHistoryChange = true
+ case ast.PasswordHistoryDefault:
+ info.passwordHistory = notSpecified
+ info.passwordHistoryChange = true
+ case ast.PasswordReuseInterval:
+ info.passwordReuseInterval = mathutil.Min(option.Count, math.MaxUint16)
+ info.passwordReuseIntervalChange = true
+ case ast.PasswordReuseDefault:
+ info.passwordReuseInterval = notSpecified
+ info.passwordReuseIntervalChange = true
+ }
+ }
+ return nil
+}
+
+func createUserFailedLoginJSON(info *passwordOrLockOptionsInfo) string {
+ // Record only when either failedLoginAttempts and passwordLockTime is not 0
+ if (info.failedLoginAttemptsChange && info.failedLoginAttempts != 0) || (info.passwordLockTimeChange && info.passwordLockTime != 0) {
+ return fmt.Sprintf("\"Password_locking\": {\"failed_login_attempts\": %d,\"password_lock_time_days\": %d}",
+ info.failedLoginAttempts, info.passwordLockTime)
+ }
+ return ""
+}
+
+func alterUserFailedLoginJSON(info *alterUserPasswordLocking, lockAccount string) string {
+ // alterUserPasswordLocking is the user's actual configuration.
+ var passwordLockingArray []string
+ if info.failedLoginAttempts != 0 || info.passwordLockTime != 0 {
+ if lockAccount == "N" {
+ passwordLockingArray = append(passwordLockingArray,
+ fmt.Sprintf("\"auto_account_locked\": \"%s\"", lockAccount),
+ fmt.Sprintf("\"auto_locked_last_changed\": \"%s\"", time.Now().Format(time.UnixDate)),
+ fmt.Sprintf("\"failed_login_count\": %d", 0))
+ }
+ passwordLockingArray = append(passwordLockingArray,
+ fmt.Sprintf("\"failed_login_attempts\": %d", info.failedLoginAttempts),
+ fmt.Sprintf("\"password_lock_time_days\": %d", info.passwordLockTime))
+ }
+ if len(passwordLockingArray) > 0 {
+ return fmt.Sprintf("\"Password_locking\": {%s}", strings.Join(passwordLockingArray, ","))
+ }
+ return ""
+}
+
+func readPasswordLockingInfo(ctx context.Context, sqlExecutor sqlexec.SQLExecutor, name string, host string, pLO *passwordOrLockOptionsInfo) (aUPL *alterUserPasswordLocking, err error) {
+ alterUserInfo := &alterUserPasswordLocking{
+ failedLoginAttempts: 0,
+ passwordLockTime: 0,
+ failedLoginAttemptsNotFound: false,
+ passwordLockTimeChangeNotFound: false,
+ containsNoOthers: false,
+ }
+ sql := new(strings.Builder)
+ sqlexec.MustFormatSQL(sql, `SELECT JSON_UNQUOTE(JSON_EXTRACT(user_attributes, '$.Password_locking.failed_login_attempts')),
+ JSON_UNQUOTE(JSON_EXTRACT(user_attributes, '$.Password_locking.password_lock_time_days')),
+ JSON_LENGTH(JSON_REMOVE(user_attributes, '$.Password_locking')) FROM %n.%n WHERE User=%? AND Host=%?;`,
+ mysql.SystemDB, mysql.UserTable, name, strings.ToLower(host))
+ recordSet, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
+ if err != nil {
+ return nil, err
+ }
+ defer func() {
+ if closeErr := recordSet.Close(); closeErr != nil {
+ err = closeErr
+ }
+ }()
+ rows, err := sqlexec.DrainRecordSet(ctx, recordSet, 3)
+ if err != nil {
+ return nil, err
+ }
+
+ // Configuration priority is User Changes > User History
+ if pLO.failedLoginAttemptsChange {
+ alterUserInfo.failedLoginAttempts = pLO.failedLoginAttempts
+ } else if !rows[0].IsNull(0) {
+ str := rows[0].GetString(0)
+ alterUserInfo.failedLoginAttempts, err = strconv.ParseInt(str, 10, 64)
+ if err != nil {
+ return nil, err
+ }
+ alterUserInfo.failedLoginAttempts = mathutil.Max(alterUserInfo.failedLoginAttempts, 0)
+ alterUserInfo.failedLoginAttempts = mathutil.Min(alterUserInfo.failedLoginAttempts, math.MaxInt16)
+ } else {
+ alterUserInfo.failedLoginAttemptsNotFound = true
+ }
+
+ if pLO.passwordLockTimeChange {
+ alterUserInfo.passwordLockTime = pLO.passwordLockTime
+ } else if !rows[0].IsNull(1) {
+ str := rows[0].GetString(1)
+ alterUserInfo.passwordLockTime, err = strconv.ParseInt(str, 10, 64)
+ if err != nil {
+ return nil, err
+ }
+ alterUserInfo.passwordLockTime = mathutil.Max(alterUserInfo.passwordLockTime, -1)
+ alterUserInfo.passwordLockTime = mathutil.Min(alterUserInfo.passwordLockTime, math.MaxInt16)
+ } else {
+ alterUserInfo.passwordLockTimeChangeNotFound = true
+ }
+
+ alterUserInfo.containsNoOthers = rows[0].IsNull(2) || rows[0].GetInt64(2) == 0
+ return alterUserInfo, nil
+}
+
+// deletePasswordLockingAttribute deletes "$.Password_locking" in "User_attributes" when failedLoginAttempts and passwordLockTime both 0.
+func deletePasswordLockingAttribute(ctx context.Context, sqlExecutor sqlexec.SQLExecutor, name string, host string, alterUser *alterUserPasswordLocking) error {
+ // No password_locking information.
+ if alterUser.failedLoginAttemptsNotFound && alterUser.passwordLockTimeChangeNotFound {
+ return nil
+ }
+ // Password_locking information is still in used.
+ if alterUser.failedLoginAttempts != 0 || alterUser.passwordLockTime != 0 {
+ return nil
+ }
+ sql := new(strings.Builder)
+ if alterUser.containsNoOthers {
+ // If we use JSON_REMOVE(user_attributes, '$.Password_locking') directly here, the result is not compatible with MySQL.
+ sqlexec.MustFormatSQL(sql, `UPDATE %n.%n SET user_attributes=NULL`, mysql.SystemDB, mysql.UserTable)
+ } else {
+ sqlexec.MustFormatSQL(sql, `UPDATE %n.%n SET user_attributes=JSON_REMOVE(user_attributes, '$.Password_locking') `, mysql.SystemDB, mysql.UserTable)
+ }
+ sqlexec.MustFormatSQL(sql, " WHERE Host=%? and User=%?;", host, name)
+ _, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
+ return err
+}
+
+func (e *SimpleExec) authUsingCleartextPwd(authOpt *ast.AuthOption, authPlugin string) bool {
+ if authOpt == nil || !authOpt.ByAuthString {
+ return false
+ }
+ return mysql.IsAuthPluginClearText(authPlugin)
+}
+
+func (e *SimpleExec) isValidatePasswordEnabled() bool {
+ validatePwdEnable, err := e.ctx.GetSessionVars().GlobalVarsAccessor.GetGlobalSysVar(variable.ValidatePasswordEnable)
+ if err != nil {
+ return false
+ }
+ return variable.TiDBOptOn(validatePwdEnable)
+}
+
func (e *SimpleExec) executeCreateUser(ctx context.Context, s *ast.CreateUserStmt) error {
internalCtx := kv.WithInternalSourceType(context.Background(), kv.InternalTxnPrivilege)
// Check `CREATE USER` privilege.
@@ -810,31 +1061,48 @@ func (e *SimpleExec) executeCreateUser(ctx context.Context, s *ast.CreateUserStm
return err
}
- lockAccount := "N"
- if length := len(s.PasswordOrLockOptions); length > 0 {
- // If "ACCOUNT LOCK" or "ACCOUNT UNLOCK" appears many times,
- // the last declaration takes effect.
- for i := length - 1; i >= 0; i-- {
- if s.PasswordOrLockOptions[i].Type == ast.Lock {
- lockAccount = "Y"
- break
- } else if s.PasswordOrLockOptions[i].Type == ast.Unlock {
- break
- }
- }
+ plOptions := &passwordOrLockOptionsInfo{
+ lockAccount: "N",
+ passwordExpired: "N",
+ passwordLifetime: nil,
+ passwordHistory: notSpecified,
+ passwordReuseInterval: notSpecified,
+ failedLoginAttemptsChange: false,
+ passwordLockTimeChange: false,
+ passwordHistoryChange: false,
+ passwordReuseIntervalChange: false,
}
+ err = plOptions.loadOptions(s.PasswordOrLockOptions)
+ if err != nil {
+ return err
+ }
+ PasswordLocking := createUserFailedLoginJSON(plOptions)
if s.IsCreateRole {
- lockAccount = "Y"
+ plOptions.lockAccount = "Y"
+ plOptions.passwordExpired = "Y"
}
- var userAttributes any = nil
+ var userAttributes []string
if s.CommentOrAttributeOption != nil {
if s.CommentOrAttributeOption.Type == ast.UserCommentType {
- userAttributes = fmt.Sprintf("{\"metadata\": {\"comment\": \"%s\"}}", s.CommentOrAttributeOption.Value)
+ userAttributes = append(userAttributes, fmt.Sprintf("\"metadata\": {\"comment\": \"%s\"}", s.CommentOrAttributeOption.Value))
} else if s.CommentOrAttributeOption.Type == ast.UserAttributeType {
- userAttributes = fmt.Sprintf("{\"metadata\": %s}", s.CommentOrAttributeOption.Value)
+ userAttributes = append(userAttributes, fmt.Sprintf("\"metadata\": %s", s.CommentOrAttributeOption.Value))
+ }
+ }
+ resourceGroupName := "default"
+ if s.ResourceGroupNameOption != nil {
+ if s.ResourceGroupNameOption.Type == ast.UserResourceGroupName {
+ resourceGroupName = s.ResourceGroupNameOption.Value
}
}
+ userAttributes = append(userAttributes, fmt.Sprintf("\"resource_group\": \"%s\"", resourceGroupName))
+ // If FAILED_LOGIN_ATTEMPTS and PASSWORD_LOCK_TIME are both specified to 0, a string of 0 length is generated.
+ // When inserting the attempts into json, an error occurs. This requires special handling.
+ if PasswordLocking != "" {
+ userAttributes = append(userAttributes, PasswordLocking)
+ }
+ userAttributesStr := fmt.Sprintf("{%s}", strings.Join(userAttributes, ","))
tokenIssuer := ""
for _, authTokenOption := range s.AuthTokenOrTLSOptions {
@@ -845,13 +1113,26 @@ func (e *SimpleExec) executeCreateUser(ctx context.Context, s *ast.CreateUserStm
}
sql := new(strings.Builder)
- sqlexec.MustFormatSQL(sql, `INSERT INTO %n.%n (Host, User, authentication_string, plugin, user_attributes, Account_locked, Token_issuer) VALUES `, mysql.SystemDB, mysql.UserTable)
+ sqlPasswordHistory := new(strings.Builder)
+ passwordInit := true
+ // Get changed user password reuse info.
+ savePasswdHistory := whetherSavePasswordHistory(plOptions)
+ sqlTemplate := "INSERT INTO %n.%n (Host, User, authentication_string, plugin, user_attributes, Account_locked, Token_issuer, Password_expired, Password_lifetime, Password_reuse_time, Password_reuse_history) VALUES "
+ valueTemplate := "(%?, %?, %?, %?, %?, %?, %?, %?, %?"
+
+ sqlexec.MustFormatSQL(sql, sqlTemplate, mysql.SystemDB, mysql.UserTable)
+ if savePasswdHistory {
+ sqlexec.MustFormatSQL(sqlPasswordHistory, `INSERT INTO %n.%n (Host, User, Password) VALUES `, mysql.SystemDB, mysql.PasswordHistoryTable)
+ }
users := make([]*auth.UserIdentity, 0, len(s.Specs))
for _, spec := range s.Specs {
if len(spec.User.Username) > auth.UserNameMaxLength {
return ErrWrongStringLength.GenWithStackByArgs(spec.User.Username, "user name", auth.UserNameMaxLength)
}
+ if len(spec.User.Username) == 0 && plOptions.passwordExpired == "Y" {
+ return ErrPasswordExpireAnonymousUser.GenWithStackByArgs()
+ }
if len(spec.User.Hostname) > auth.HostNameMaxLength {
return ErrWrongStringLength.GenWithStackByArgs(spec.User.Hostname, "host name", auth.HostNameMaxLength)
}
@@ -874,15 +1155,25 @@ func (e *SimpleExec) executeCreateUser(ctx context.Context, s *ast.CreateUserStm
e.ctx.GetSessionVars().StmtCtx.AppendNote(err)
continue
}
+ authPlugin := mysql.AuthNativePassword
+ if spec.AuthOpt != nil && spec.AuthOpt.AuthPlugin != "" {
+ authPlugin = spec.AuthOpt.AuthPlugin
+ }
+ if e.isValidatePasswordEnabled() && !s.IsCreateRole {
+ if spec.AuthOpt == nil || !spec.AuthOpt.ByAuthString && spec.AuthOpt.HashString == "" {
+ return variable.ErrNotValidPassword.GenWithStackByArgs()
+ }
+ if e.authUsingCleartextPwd(spec.AuthOpt, authPlugin) {
+ if err := pwdValidator.ValidatePassword(e.ctx.GetSessionVars(), spec.AuthOpt.AuthString); err != nil {
+ return err
+ }
+ }
+ }
pwd, ok := spec.EncodedPassword()
if !ok {
return errors.Trace(ErrPasswordFormat)
}
- authPlugin := mysql.AuthNativePassword
- if spec.AuthOpt != nil && spec.AuthOpt.AuthPlugin != "" {
- authPlugin = spec.AuthOpt.AuthPlugin
- }
switch authPlugin {
case mysql.AuthNativePassword, mysql.AuthCachingSha2Password, mysql.AuthTiDBSM3Password, mysql.AuthSocket, mysql.AuthTiDBAuthToken:
@@ -901,7 +1192,31 @@ func (e *SimpleExec) executeCreateUser(ctx context.Context, s *ast.CreateUserStm
}
hostName := strings.ToLower(spec.User.Hostname)
- sqlexec.MustFormatSQL(sql, `(%?, %?, %?, %?, %?, %?, %?)`, hostName, spec.User.Username, pwd, authPlugin, userAttributes, lockAccount, recordTokenIssuer)
+ sqlexec.MustFormatSQL(sql, valueTemplate, hostName, spec.User.Username, pwd, authPlugin, userAttributesStr, plOptions.lockAccount, recordTokenIssuer, plOptions.passwordExpired, plOptions.passwordLifetime)
+ // add Password_reuse_time value.
+ if plOptions.passwordReuseIntervalChange && (plOptions.passwordReuseInterval != notSpecified) {
+ sqlexec.MustFormatSQL(sql, `, %?`, plOptions.passwordReuseInterval)
+ } else {
+ sqlexec.MustFormatSQL(sql, `, %?`, nil)
+ }
+ // add Password_reuse_history value.
+ if plOptions.passwordHistoryChange && (plOptions.passwordHistory != notSpecified) {
+ sqlexec.MustFormatSQL(sql, `, %?`, plOptions.passwordHistory)
+ } else {
+ sqlexec.MustFormatSQL(sql, `, %?`, nil)
+ }
+ sqlexec.MustFormatSQL(sql, `)`)
+ // The empty password does not count in the password history and is subject to reuse at any time.
+ // AuthTiDBAuthToken is the token login method on the cloud,
+ // and the Password Reuse Policy does not take effect.
+ if savePasswdHistory && len(pwd) != 0 && !strings.EqualFold(authPlugin, mysql.AuthTiDBAuthToken) {
+ if !passwordInit {
+ sqlexec.MustFormatSQL(sqlPasswordHistory, ",")
+ } else {
+ passwordInit = false
+ }
+ sqlexec.MustFormatSQL(sqlPasswordHistory, `( %?, %?, %?)`, hostName, spec.User.Username, pwd)
+ }
users = append(users, spec.User)
}
if len(users) == 0 {
@@ -920,11 +1235,23 @@ func (e *SimpleExec) executeCreateUser(ctx context.Context, s *ast.CreateUserStm
}
_, err = sqlExecutor.ExecuteInternal(internalCtx, sql.String())
if err != nil {
+ logutil.BgLogger().Warn("Fail to create user", zap.String("sql", sql.String()))
if _, rollbackErr := sqlExecutor.ExecuteInternal(internalCtx, "rollback"); rollbackErr != nil {
return rollbackErr
}
return err
}
+
+ if savePasswdHistory && !passwordInit {
+ _, err = sqlExecutor.ExecuteInternal(internalCtx, sqlPasswordHistory.String())
+ if err != nil {
+ if _, rollbackErr := sqlExecutor.ExecuteInternal(internalCtx, "rollback"); rollbackErr != nil {
+ return errors.Trace(rollbackErr)
+ }
+ return errors.Trace(err)
+ }
+ }
+
if len(privData) != 0 {
sql.Reset()
sqlexec.MustFormatSQL(sql, "INSERT IGNORE INTO %n.%n (Host, User, Priv) VALUES ", mysql.SystemDB, mysql.GlobalPrivTable)
@@ -948,7 +1275,377 @@ func (e *SimpleExec) executeCreateUser(ctx context.Context, s *ast.CreateUserStm
return domain.GetDomain(e.ctx).NotifyUpdatePrivilege()
}
+func getUserPasswordLimit(ctx context.Context, sqlExecutor sqlexec.SQLExecutor, name string, host string, plOptions *passwordOrLockOptionsInfo) (pRI *passwordReuseInfo, err error) {
+ res := &passwordReuseInfo{notSpecified, notSpecified}
+ sql := new(strings.Builder)
+ sqlexec.MustFormatSQL(sql, `SELECT Password_reuse_history,Password_reuse_time FROM %n.%n WHERE User=%? AND Host=%?;`,
+ mysql.SystemDB, mysql.UserTable, name, strings.ToLower(host))
+ // Query the specified user password reuse rules.
+ recordSet, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
+ if err != nil {
+ return nil, err
+ }
+ defer func() {
+ if closeErr := recordSet.Close(); closeErr != nil {
+ err = closeErr
+ }
+ }()
+ rows, err := sqlexec.DrainRecordSet(ctx, recordSet, 3)
+ if err != nil {
+ return nil, err
+ }
+ for _, row := range rows {
+ if !row.IsNull(0) {
+ res.passwordHistory = int64(row.GetUint64(0))
+ } else {
+ res.passwordHistory = variable.PasswordHistory.Load()
+ }
+ if !row.IsNull(1) {
+ res.passwordReuseInterval = int64(row.GetUint64(1))
+ } else {
+ res.passwordReuseInterval = variable.PasswordReuseInterval.Load()
+ }
+ }
+ if plOptions.passwordHistoryChange {
+ // If the user specifies a default, the global variable needs to be re-read.
+ if plOptions.passwordHistory != notSpecified {
+ res.passwordHistory = plOptions.passwordHistory
+ } else {
+ res.passwordHistory = variable.PasswordHistory.Load()
+ }
+ }
+ if plOptions.passwordReuseIntervalChange {
+ // If the user specifies a default, the global variable needs to be re-read.
+ if plOptions.passwordReuseInterval != notSpecified {
+ res.passwordReuseInterval = plOptions.passwordReuseInterval
+ } else {
+ res.passwordReuseInterval = variable.PasswordReuseInterval.Load()
+ }
+ }
+ return res, nil
+}
+
+// getValidTime get the boundary of password valid time.
+func getValidTime(sctx sessionctx.Context, passwordReuse *passwordReuseInfo) string {
+ nowTime := time.Now().In(sctx.GetSessionVars().TimeZone)
+ nowTimeS := nowTime.Unix()
+ beforeTimeS := nowTimeS - passwordReuse.passwordReuseInterval*24*int64(time.Hour/time.Second)
+ if beforeTimeS < 0 {
+ beforeTimeS = 0
+ }
+ return time.Unix(beforeTimeS, 0).Format("2006-01-02 15:04:05.999999999")
+}
+
+// deleteHistoricalData delete useless password history.
+// The deleted password must meet the following conditions at the same time.
+// 1. Exceeded the maximum number of saves.
+// 2. The password has exceeded the prohibition time.
+func deleteHistoricalData(ctx context.Context, sqlExecutor sqlexec.SQLExecutor, userDetail *userInfo, maxDelRows int64, passwordReuse *passwordReuseInfo, sctx sessionctx.Context) error {
+ //never times out or no row need delete.
+ if (passwordReuse.passwordReuseInterval > math.MaxInt32) || maxDelRows == 0 {
+ return nil
+ }
+ sql := new(strings.Builder)
+ // no prohibition time.
+ if passwordReuse.passwordReuseInterval == 0 {
+ deleteTemplate := `DELETE from %n.%n WHERE User= %? AND Host= %? order by Password_timestamp ASC LIMIT `
+ deleteTemplate = deleteTemplate + strconv.FormatInt(maxDelRows, 10)
+ sqlexec.MustFormatSQL(sql, deleteTemplate, mysql.SystemDB, mysql.PasswordHistoryTable,
+ userDetail.user, strings.ToLower(userDetail.host))
+ _, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
+ if err != nil {
+ return err
+ }
+ } else {
+ beforeDate := getValidTime(sctx, passwordReuse)
+ // Deletion must satisfy 1. Exceed the prohibition time 2. Exceed the maximum number of saved records.
+ deleteTemplate := `DELETE from %n.%n WHERE User= %? AND Host= %? AND Password_timestamp < %? order by Password_timestamp ASC LIMIT `
+ deleteTemplate = deleteTemplate + strconv.FormatInt(maxDelRows, 10)
+ sql.Reset()
+ sqlexec.MustFormatSQL(sql, deleteTemplate, mysql.SystemDB, mysql.PasswordHistoryTable,
+ userDetail.user, strings.ToLower(userDetail.host), beforeDate)
+ _, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func addHistoricalData(ctx context.Context, sqlExecutor sqlexec.SQLExecutor, userDetail *userInfo, passwordReuse *passwordReuseInfo) error {
+ if passwordReuse.passwordHistory <= 0 && passwordReuse.passwordReuseInterval <= 0 {
+ return nil
+ }
+ sql := new(strings.Builder)
+ sqlexec.MustFormatSQL(sql, `INSERT INTO %n.%n (Host, User, Password) VALUES (%?, %?, %?) `, mysql.SystemDB, mysql.PasswordHistoryTable, strings.ToLower(userDetail.host), userDetail.user, userDetail.pwd)
+ _, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
+ if err != nil {
+ return errors.Trace(err)
+ }
+ return nil
+}
+
+// checkPasswordsMatch used to compare whether the password encrypted with mysql.AuthCachingSha2Password or mysql.AuthTiDBSM3Password is repeated.
+func checkPasswordsMatch(rows []chunk.Row, oldPwd, authPlugin string) (bool, error) {
+ for _, row := range rows {
+ if !row.IsNull(0) {
+ pwd := row.GetString(0)
+ authok, err := auth.CheckHashingPassword([]byte(pwd), oldPwd, authPlugin)
+ if err != nil {
+ logutil.BgLogger().Error("Failed to check caching_sha2_password", zap.Error(err))
+ return false, err
+ }
+ if authok {
+ return false, nil
+ }
+ }
+ }
+ return true, nil
+}
+
+func getUserPasswordNum(ctx context.Context, sqlExecutor sqlexec.SQLExecutor, userDetail *userInfo) (deleteNum int64, err error) {
+ sql := new(strings.Builder)
+ sqlexec.MustFormatSQL(sql, `SELECT count(*) FROM %n.%n WHERE User=%? AND Host=%?;`, mysql.SystemDB, mysql.PasswordHistoryTable, userDetail.user, strings.ToLower(userDetail.host))
+ recordSet, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
+ if err != nil {
+ return 0, err
+ }
+ defer func() {
+ if closeErr := recordSet.Close(); closeErr != nil {
+ err = closeErr
+ }
+ }()
+ rows, err := sqlexec.DrainRecordSet(ctx, recordSet, 3)
+ if err != nil {
+ return 0, err
+ }
+ if len(rows) != 1 {
+ err := fmt.Errorf("`%s`@`%s` is not unique, please confirm the mysql.password_history table structure", userDetail.user, strings.ToLower(userDetail.host))
+ return 0, err
+ }
+
+ return rows[0].GetInt64(0), nil
+}
+
+func fullRecordCheck(ctx context.Context, sqlExecutor sqlexec.SQLExecutor, userDetail *userInfo, authPlugin string) (canUse bool, err error) {
+ switch authPlugin {
+ case mysql.AuthNativePassword, "":
+ sql := new(strings.Builder)
+ sqlexec.MustFormatSQL(sql, `SELECT count(*) FROM %n.%n WHERE User= %? AND Host= %? AND Password = %?;`, mysql.SystemDB, mysql.PasswordHistoryTable, userDetail.user, strings.ToLower(userDetail.host), userDetail.pwd)
+ recordSet, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
+ if err != nil {
+ return false, err
+ }
+ defer func() {
+ if closeErr := recordSet.Close(); closeErr != nil {
+ err = closeErr
+ }
+ }()
+ rows, err := sqlexec.DrainRecordSet(ctx, recordSet, 3)
+ if err != nil {
+ return false, err
+ }
+ if rows[0].GetInt64(0) == 0 {
+ return true, nil
+ }
+ return false, nil
+ case mysql.AuthCachingSha2Password, mysql.AuthTiDBSM3Password:
+ sql := new(strings.Builder)
+ sqlexec.MustFormatSQL(sql, `SELECT Password FROM %n.%n WHERE User= %? AND Host= %? ;`, mysql.SystemDB, mysql.PasswordHistoryTable, userDetail.user, strings.ToLower(userDetail.host))
+ recordSet, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
+ if err != nil {
+ return false, err
+ }
+ defer func() {
+ if closeErr := recordSet.Close(); closeErr != nil {
+ err = closeErr
+ }
+ }()
+ rows, err := sqlexec.DrainRecordSet(ctx, recordSet, variable.DefMaxChunkSize)
+ if err != nil {
+ return false, err
+ }
+ return checkPasswordsMatch(rows, userDetail.authString, authPlugin)
+ default:
+ return false, ErrPluginIsNotLoaded.GenWithStackByArgs(authPlugin)
+ }
+}
+
+func checkPasswordHistoryRule(ctx context.Context, sqlExecutor sqlexec.SQLExecutor, userDetail *userInfo, passwordReuse *passwordReuseInfo, authPlugin string) (canUse bool, err error) {
+ switch authPlugin {
+ case mysql.AuthNativePassword, "":
+ sql := new(strings.Builder)
+ // Exceeded the maximum number of saved items, only check the ones within the limit.
+ checkRows := `SELECT count(*) FROM (SELECT Password FROM %n.%n WHERE User=%? AND Host=%? ORDER BY Password_timestamp DESC LIMIT `
+ checkRows = checkRows + strconv.FormatInt(passwordReuse.passwordHistory, 10)
+ checkRows = checkRows + ` ) as t where t.Password = %? `
+ sqlexec.MustFormatSQL(sql, checkRows, mysql.SystemDB, mysql.PasswordHistoryTable, userDetail.user, strings.ToLower(userDetail.host), userDetail.pwd)
+ recordSet, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
+ if err != nil {
+ return false, err
+ }
+ defer func() {
+ if closeErr := recordSet.Close(); closeErr != nil {
+ err = closeErr
+ }
+ }()
+ rows, err := sqlexec.DrainRecordSet(ctx, recordSet, 3)
+ if err != nil {
+ return false, err
+ }
+ if rows[0].GetInt64(0) != 0 {
+ return false, nil
+ }
+ return true, nil
+ case mysql.AuthCachingSha2Password, mysql.AuthTiDBSM3Password:
+ sql := new(strings.Builder)
+ checkRows := `SELECT Password FROM %n.%n WHERE User=%? AND Host=%? ORDER BY Password_timestamp DESC LIMIT `
+ checkRows = checkRows + strconv.FormatInt(passwordReuse.passwordHistory, 10)
+ sqlexec.MustFormatSQL(sql, checkRows, mysql.SystemDB, mysql.PasswordHistoryTable, userDetail.user, strings.ToLower(userDetail.host))
+ recordSet, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
+ if err != nil {
+ return false, err
+ }
+ defer func() {
+ if closeErr := recordSet.Close(); closeErr != nil {
+ err = closeErr
+ }
+ }()
+ rows, err := sqlexec.DrainRecordSet(ctx, recordSet, variable.DefMaxChunkSize)
+ if err != nil {
+ return false, err
+ }
+ return checkPasswordsMatch(rows, userDetail.authString, authPlugin)
+ default:
+ return false, ErrPluginIsNotLoaded.GenWithStackByArgs(authPlugin)
+ }
+}
+
+func checkPasswordTimeRule(ctx context.Context, sqlExecutor sqlexec.SQLExecutor, userDetail *userInfo, passwordReuse *passwordReuseInfo,
+ sctx sessionctx.Context, authPlugin string) (canUse bool, err error) {
+ beforeDate := getValidTime(sctx, passwordReuse)
+ switch authPlugin {
+ case mysql.AuthNativePassword, "":
+ sql := new(strings.Builder)
+ sqlexec.MustFormatSQL(sql, `SELECT count(*) FROM %n.%n WHERE User=%? AND Host=%? AND Password = %? AND Password_timestamp >= %?;`,
+ mysql.SystemDB, mysql.PasswordHistoryTable, userDetail.user, strings.ToLower(userDetail.host), userDetail.pwd, beforeDate)
+ recordSet, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
+ if err != nil {
+ return false, err
+ }
+ defer func() {
+ if closeErr := recordSet.Close(); closeErr != nil {
+ err = closeErr
+ }
+ }()
+ rows, err := sqlexec.DrainRecordSet(ctx, recordSet, 3)
+ if err != nil {
+ return false, err
+ }
+ if rows[0].GetInt64(0) == 0 {
+ return true, nil
+ }
+ case mysql.AuthCachingSha2Password, mysql.AuthTiDBSM3Password:
+ sql := new(strings.Builder)
+ sqlexec.MustFormatSQL(sql, `SELECT Password FROM %n.%n WHERE User=%? AND Host=%? AND Password_timestamp >= %?;`, mysql.SystemDB, mysql.PasswordHistoryTable, userDetail.user, strings.ToLower(userDetail.host), beforeDate)
+ recordSet, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
+ if err != nil {
+ return false, err
+ }
+ defer func() {
+ if closeErr := recordSet.Close(); closeErr != nil {
+ err = closeErr
+ }
+ }()
+ rows, err := sqlexec.DrainRecordSet(ctx, recordSet, variable.DefMaxChunkSize)
+ if err != nil {
+ return false, err
+ }
+ return checkPasswordsMatch(rows, userDetail.authString, authPlugin)
+ default:
+ return false, ErrPluginIsNotLoaded.GenWithStackByArgs(authPlugin)
+ }
+ return false, nil
+}
+
+func passwordVerification(ctx context.Context, sqlExecutor sqlexec.SQLExecutor, userDetail *userInfo, passwordReuse *passwordReuseInfo, sctx sessionctx.Context, authPlugin string) (bool, int64, error) {
+ passwordNum, err := getUserPasswordNum(ctx, sqlExecutor, userDetail)
+ if err != nil {
+ return false, 0, err
+ }
+
+ // the maximum number of records that can be deleted.
+ canDeleteNum := passwordNum - passwordReuse.passwordHistory + 1
+ if canDeleteNum < 0 {
+ canDeleteNum = 0
+ }
+
+ if passwordReuse.passwordHistory <= 0 && passwordReuse.passwordReuseInterval <= 0 {
+ return true, canDeleteNum, nil
+ }
+
+ // The maximum number of saves has not been exceeded.
+ // There are too many retention days, and it is impossible to time out in one's lifetime.
+ if (passwordNum <= passwordReuse.passwordHistory) || (passwordReuse.passwordReuseInterval > math.MaxInt32) {
+ passChecking, err := fullRecordCheck(ctx, sqlExecutor, userDetail, authPlugin)
+ return passChecking, canDeleteNum, err
+ }
+
+ if passwordReuse.passwordHistory > 0 {
+ passChecking, err := checkPasswordHistoryRule(ctx, sqlExecutor, userDetail, passwordReuse, authPlugin)
+ if err != nil || !passChecking {
+ return false, 0, err
+ }
+ }
+ if passwordReuse.passwordReuseInterval > 0 {
+ passChecking, err := checkPasswordTimeRule(ctx, sqlExecutor, userDetail, passwordReuse, sctx, authPlugin)
+ if err != nil || !passChecking {
+ return false, 0, err
+ }
+ }
+ return true, canDeleteNum, nil
+}
+
+func checkPasswordReusePolicy(ctx context.Context, sqlExecutor sqlexec.SQLExecutor, userDetail *userInfo, sctx sessionctx.Context, authPlugin string) error {
+ if strings.EqualFold(authPlugin, mysql.AuthTiDBAuthToken) {
+ // AuthTiDBAuthToken is the token login method on the cloud,
+ // and the Password Reuse Policy does not take effect.
+ return nil
+ }
+ // read password reuse info from mysql.user and global variables.
+ passwdReuseInfo, err := getUserPasswordLimit(ctx, sqlExecutor, userDetail.user, userDetail.host, userDetail.pLI)
+ if err != nil {
+ return err
+ }
+ // check whether password can be used.
+ res, maxDelNum, err := passwordVerification(ctx, sqlExecutor, userDetail, passwdReuseInfo, sctx, authPlugin)
+ if err != nil {
+ return err
+ }
+ if !res {
+ return ErrExistsInHistoryPassword.GenWithStackByArgs(userDetail.user, userDetail.host)
+ }
+ err = deleteHistoricalData(ctx, sqlExecutor, userDetail, maxDelNum, passwdReuseInfo, sctx)
+ if err != nil {
+ return err
+ }
+ // insert password history.
+ err = addHistoricalData(ctx, sqlExecutor, userDetail, passwdReuseInfo)
+ if err != nil {
+ return err
+ }
+ return nil
+}
+
func (e *SimpleExec) executeAlterUser(ctx context.Context, s *ast.AlterUserStmt) error {
+ disableSandBoxMode := false
+ var err error
+ if e.ctx.InSandBoxMode() {
+ if err = e.checkSandboxMode(s.Specs); err != nil {
+ return err
+ }
+ disableSandBoxMode = true
+ }
ctx = kv.WithInternalSourceType(ctx, kv.InternalTxnPrivilege)
if s.CurrentAuth != nil {
user := e.ctx.GetSessionVars().User
@@ -965,19 +1662,20 @@ func (e *SimpleExec) executeAlterUser(ctx context.Context, s *ast.AlterUserStmt)
s.Specs = []*ast.UserSpec{spec}
}
- lockAccount := ""
- if len(s.PasswordOrLockOptions) > 0 {
- // If "ACCOUNT LOCK" or "ACCOUNT UNLOCK" appears many times,
- // the last declaration takes effect.
- for i := len(s.PasswordOrLockOptions) - 1; i >= 0; i-- {
- if s.PasswordOrLockOptions[i].Type == ast.Lock {
- lockAccount = "Y"
- break
- } else if s.PasswordOrLockOptions[i].Type == ast.Unlock {
- lockAccount = "N"
- break
- }
- }
+ plOptions := passwordOrLockOptionsInfo{
+ lockAccount: "",
+ passwordExpired: "",
+ passwordLifetime: notSpecified,
+ passwordHistory: notSpecified,
+ passwordReuseInterval: notSpecified,
+ failedLoginAttemptsChange: false,
+ passwordLockTimeChange: false,
+ passwordHistoryChange: false,
+ passwordReuseIntervalChange: false,
+ }
+ err = plOptions.loadOptions(s.PasswordOrLockOptions)
+ if err != nil {
+ return err
}
privData, err := tlsOption2GlobalPriv(s.AuthTokenOrTLSOptions)
@@ -986,6 +1684,7 @@ func (e *SimpleExec) executeAlterUser(ctx context.Context, s *ast.AlterUserStmt)
}
failedUsers := make([]string, 0, len(s.Specs))
+ needRollback := false
checker := privilege.GetPrivilegeManager(e.ctx)
if checker == nil {
return errors.New("could not load privilege checker")
@@ -1003,6 +1702,24 @@ func (e *SimpleExec) executeAlterUser(ctx context.Context, s *ast.AlterUserStmt)
}
}
+ sysSession, err := e.getSysSession()
+ defer clearSysSession(ctx, sysSession)
+ if err != nil {
+ return err
+ }
+ sqlExecutor := sysSession.(sqlexec.SQLExecutor)
+ // session isolation level changed to READ-COMMITTED.
+ // When tidb is at the RR isolation level, executing `begin` will obtain a consistent state.
+ // When operating the same user concurrently, it may happen that historical versions are read.
+ // In order to avoid this risk, change the isolation level to RC.
+ _, err = sqlExecutor.ExecuteInternal(ctx, "set tx_isolation = 'READ-COMMITTED'")
+ if err != nil {
+ return err
+ }
+ if _, err := sqlExecutor.ExecuteInternal(ctx, "BEGIN PESSIMISTIC"); err != nil {
+ return err
+ }
+
for _, spec := range s.Specs {
user := e.ctx.GetSessionVars().User
if spec.User.CurrentUser || ((user != nil) && (user.Username == spec.User.Username) && (user.AuthHostname == spec.User.Hostname)) {
@@ -1036,7 +1753,7 @@ func (e *SimpleExec) executeAlterUser(ctx context.Context, s *ast.AlterUserStmt)
}
}
- exists, err := userExists(ctx, e.ctx, spec.User.Username, spec.User.Hostname)
+ exists, err := userExistsInternal(ctx, sqlExecutor, spec.User.Username, spec.User.Hostname)
if err != nil {
return err
}
@@ -1057,25 +1774,23 @@ func (e *SimpleExec) executeAlterUser(ctx context.Context, s *ast.AlterUserStmt)
RequireAuthTokenOptions
)
authTokenOptionHandler := NoNeedAuthTokenOptions
- if currentAuthPlugin, err := e.userAuthPlugin(spec.User.Username, spec.User.Hostname); err != nil {
+ currentAuthPlugin, err := privilege.GetPrivilegeManager(e.ctx).GetAuthPlugin(spec.User.Username, spec.User.Hostname)
+ if err != nil {
return err
- } else if currentAuthPlugin == mysql.AuthTiDBAuthToken {
+ }
+ if currentAuthPlugin == mysql.AuthTiDBAuthToken {
authTokenOptionHandler = OptionalAuthTokenOptions
}
- exec := e.ctx.(sqlexec.RestrictedSQLExecutor)
type alterField struct {
expr string
- value string
+ value any
}
var fields []alterField
if spec.AuthOpt != nil {
+ fields = append(fields, alterField{"password_last_changed=current_timestamp()", nil})
if spec.AuthOpt.AuthPlugin == "" {
- authplugin, err := e.userAuthPlugin(spec.User.Username, spec.User.Hostname)
- if err != nil {
- return err
- }
- spec.AuthOpt.AuthPlugin = authplugin
+ spec.AuthOpt.AuthPlugin = currentAuthPlugin
}
switch spec.AuthOpt.AuthPlugin {
case mysql.AuthNativePassword, mysql.AuthCachingSha2Password, mysql.AuthTiDBSM3Password, mysql.AuthSocket, "":
@@ -1087,28 +1802,109 @@ func (e *SimpleExec) executeAlterUser(ctx context.Context, s *ast.AlterUserStmt)
default:
return ErrPluginIsNotLoaded.GenWithStackByArgs(spec.AuthOpt.AuthPlugin)
}
+ // changing the auth method prunes history.
+ if spec.AuthOpt.AuthPlugin != currentAuthPlugin {
+ // delete password history from mysql.password_history.
+ sql := new(strings.Builder)
+ sqlexec.MustFormatSQL(sql, `DELETE FROM %n.%n WHERE Host = %? and User = %?;`, mysql.SystemDB, mysql.PasswordHistoryTable, spec.User.Hostname, spec.User.Username)
+ if _, err := sqlExecutor.ExecuteInternal(ctx, sql.String()); err != nil {
+ failedUsers = append(failedUsers, spec.User.String())
+ needRollback = true
+ break
+ }
+ }
+ if e.isValidatePasswordEnabled() && e.authUsingCleartextPwd(spec.AuthOpt, spec.AuthOpt.AuthPlugin) {
+ if err := pwdValidator.ValidatePassword(e.ctx.GetSessionVars(), spec.AuthOpt.AuthString); err != nil {
+ return err
+ }
+ }
pwd, ok := spec.EncodedPassword()
if !ok {
return errors.Trace(ErrPasswordFormat)
}
- fields = append(fields,
- alterField{"authentication_string=%?", pwd},
- alterField{"plugin=%?", spec.AuthOpt.AuthPlugin},
- )
+ // for Support Password Reuse Policy.
+ // The empty password does not count in the password history and is subject to reuse at any time.
+ // https://dev.mysql.com/doc/refman/8.0/en/password-management.html#password-reuse-policy
+ if len(pwd) != 0 {
+ userDetail := &userInfo{
+ host: spec.User.Hostname,
+ user: spec.User.Username,
+ pLI: &plOptions,
+ pwd: pwd,
+ authString: spec.AuthOpt.AuthString,
+ }
+ err := checkPasswordReusePolicy(ctx, sqlExecutor, userDetail, e.ctx, spec.AuthOpt.AuthPlugin)
+ if err != nil {
+ return err
+ }
+ }
+ fields = append(fields, alterField{"authentication_string=%?", pwd})
+ if spec.AuthOpt.AuthPlugin != "" {
+ fields = append(fields, alterField{"plugin=%?", spec.AuthOpt.AuthPlugin})
+ }
+ if spec.AuthOpt.ByAuthString || spec.AuthOpt.ByHashString {
+ if plOptions.passwordExpired == "" {
+ plOptions.passwordExpired = "N"
+ }
+ }
+ }
+
+ if len(plOptions.lockAccount) != 0 {
+ fields = append(fields, alterField{"account_locked=%?", plOptions.lockAccount})
+ }
+
+ // support alter Password_reuse_history and Password_reuse_time.
+ if plOptions.passwordHistoryChange {
+ if plOptions.passwordHistory == notSpecified {
+ fields = append(fields, alterField{"Password_reuse_history = NULL ", ""})
+ } else {
+ fields = append(fields, alterField{"Password_reuse_history = %? ", strconv.FormatInt(plOptions.passwordHistory, 10)})
+ }
+ }
+ if plOptions.passwordReuseIntervalChange {
+ if plOptions.passwordReuseInterval == notSpecified {
+ fields = append(fields, alterField{"Password_reuse_time = NULL ", ""})
+ } else {
+ fields = append(fields, alterField{"Password_reuse_time = %? ", strconv.FormatInt(plOptions.passwordReuseInterval, 10)})
+ }
+ }
+
+ passwordLockingInfo, err := readPasswordLockingInfo(ctx, sqlExecutor, spec.User.Username, spec.User.Hostname, &plOptions)
+ if err != nil {
+ return err
}
+ passwordLockingStr := alterUserFailedLoginJSON(passwordLockingInfo, plOptions.lockAccount)
- if len(lockAccount) != 0 {
- fields = append(fields, alterField{"account_locked=%?", lockAccount})
+ if len(plOptions.passwordExpired) != 0 {
+ if len(spec.User.Username) == 0 && plOptions.passwordExpired == "Y" {
+ return ErrPasswordExpireAnonymousUser.GenWithStackByArgs()
+ }
+ fields = append(fields, alterField{"password_expired=%?", plOptions.passwordExpired})
+ }
+ if plOptions.passwordLifetime != notSpecified {
+ fields = append(fields, alterField{"password_lifetime=%?", plOptions.passwordLifetime})
}
+ var newAttributes []string
if s.CommentOrAttributeOption != nil {
- newAttributesStr := ""
if s.CommentOrAttributeOption.Type == ast.UserCommentType {
- newAttributesStr = fmt.Sprintf(`{"metadata": {"comment": "%s"}}`, s.CommentOrAttributeOption.Value)
+ newAttributes = append(newAttributes, fmt.Sprintf(`"metadata": {"comment": "%s"}`, s.CommentOrAttributeOption.Value))
} else {
- newAttributesStr = fmt.Sprintf(`{"metadata": %s}`, s.CommentOrAttributeOption.Value)
+ newAttributes = append(newAttributes, fmt.Sprintf(`"metadata": %s`, s.CommentOrAttributeOption.Value))
}
- fields = append(fields, alterField{"user_attributes=json_merge_patch(user_attributes, %?)", newAttributesStr})
+ }
+ if s.ResourceGroupNameOption != nil && s.ResourceGroupNameOption.Type == ast.UserResourceGroupName {
+ newAttributes = append(newAttributes, fmt.Sprintf(`"resource_group": "%s"`, s.ResourceGroupNameOption.Value))
+ }
+ if passwordLockingStr != "" {
+ newAttributes = append(newAttributes, passwordLockingStr)
+ }
+ if length := len(newAttributes); length > 0 {
+ if length > 1 || passwordLockingStr == "" {
+ passwordLockingInfo.containsNoOthers = false
+ }
+ newAttributesStr := fmt.Sprintf("{%s}", strings.Join(newAttributes, ","))
+ fields = append(fields, alterField{"user_attributes=json_merge_patch(coalesce(user_attributes, '{}'), %?)", newAttributesStr})
}
switch authTokenOptionHandler {
@@ -1144,31 +1940,35 @@ func (e *SimpleExec) executeAlterUser(ctx context.Context, s *ast.AlterUserStmt)
}
}
sqlexec.MustFormatSQL(sql, " WHERE Host=%? and User=%?;", spec.User.Hostname, spec.User.Username)
- _, _, err := exec.ExecRestrictedSQL(ctx, nil, sql.String())
+ _, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
if err != nil {
failedUsers = append(failedUsers, spec.User.String())
+ needRollback = true
continue
}
}
+ // Remove useless Password_locking from User_attributes.
+ err = deletePasswordLockingAttribute(ctx, sqlExecutor, spec.User.Username, spec.User.Hostname, passwordLockingInfo)
+ if err != nil {
+ failedUsers = append(failedUsers, spec.User.String())
+ needRollback = true
+ continue
+ }
+
if len(privData) > 0 {
- _, _, err := exec.ExecRestrictedSQL(ctx, nil, "INSERT INTO %n.%n (Host, User, Priv) VALUES (%?,%?,%?) ON DUPLICATE KEY UPDATE Priv = values(Priv)", mysql.SystemDB, mysql.GlobalPrivTable, spec.User.Hostname, spec.User.Username, string(hack.String(privData)))
+ sql := new(strings.Builder)
+ sqlexec.MustFormatSQL(sql, "INSERT INTO %n.%n (Host, User, Priv) VALUES (%?,%?,%?) ON DUPLICATE KEY UPDATE Priv = values(Priv)", mysql.SystemDB, mysql.GlobalPrivTable, spec.User.Hostname, spec.User.Username, string(hack.String(privData)))
+ _, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
if err != nil {
failedUsers = append(failedUsers, spec.User.String())
+ needRollback = true
}
}
}
if len(failedUsers) > 0 {
- // Commit the transaction even if we returns error
- txn, err := e.ctx.Txn(true)
- if err != nil {
- return err
- }
- err = txn.Commit(tikvutil.SetSessionID(context.TODO(), e.ctx.GetSessionVars().ConnectionID))
- if err != nil {
- return err
- }
- if !s.IfExists {
+ // Compatible with MySQL 8.0, `ALTER USER` realizes atomic operation.
+ if !s.IfExists || needRollback {
return ErrCannotUser.GenWithStackByArgs("ALTER USER", strings.Join(failedUsers, ","))
}
for _, user := range failedUsers {
@@ -1176,7 +1976,30 @@ func (e *SimpleExec) executeAlterUser(ctx context.Context, s *ast.AlterUserStmt)
e.ctx.GetSessionVars().StmtCtx.AppendNote(err)
}
}
- return domain.GetDomain(e.ctx).NotifyUpdatePrivilege()
+ if _, err := sqlExecutor.ExecuteInternal(ctx, "commit"); err != nil {
+ return err
+ }
+ if err = domain.GetDomain(e.ctx).NotifyUpdatePrivilege(); err != nil {
+ return err
+ }
+ if disableSandBoxMode {
+ e.ctx.DisableSandBoxMode()
+ }
+ return nil
+}
+
+func (e *SimpleExec) checkSandboxMode(specs []*ast.UserSpec) error {
+ for _, spec := range specs {
+ if spec.AuthOpt == nil {
+ continue
+ }
+ if spec.AuthOpt.ByAuthString || spec.AuthOpt.ByHashString {
+ if spec.User.CurrentUser || e.ctx.GetSessionVars().User.Username == spec.User.Username {
+ return nil
+ }
+ }
+ }
+ return errMustChangePassword.GenWithStackByArgs()
}
func (e *SimpleExec) executeGrantRole(ctx context.Context, s *ast.GrantRoleStmt) error {
@@ -1246,10 +2069,9 @@ func (e *SimpleExec) executeRenameUser(s *ast.RenameUserStmt) error {
}
sqlExecutor := sysSession.(sqlexec.SQLExecutor)
- if _, err := sqlExecutor.ExecuteInternal(ctx, "begin"); err != nil {
+ if _, err := sqlExecutor.ExecuteInternal(ctx, "BEGIN PESSIMISTIC"); err != nil {
return err
}
-
for _, userToUser := range s.UserToUsers {
oldUser, newUser := userToUser.OldUser, userToUser.NewUser
if len(newUser.Username) > auth.UserNameMaxLength {
@@ -1322,6 +2144,12 @@ func (e *SimpleExec) executeRenameUser(s *ast.RenameUserStmt) error {
break
}
+ // rename passwordhistory from PasswordHistoryTable.
+ if err = renameUserHostInSystemTable(sqlExecutor, mysql.PasswordHistoryTable, "USER", "HOST", userToUser); err != nil {
+ failedUser = oldUser.String() + " TO " + newUser.String() + " " + mysql.PasswordHistoryTable + " error"
+ break
+ }
+
// rename relationship from mysql.global_grants
// TODO: add global_grants into the parser
// TODO: need update columns_priv once we implement columns_priv functionality.
@@ -1426,6 +2254,14 @@ func (e *SimpleExec) executeDropUser(ctx context.Context, s *ast.DropUserStmt) e
break
}
+ // delete password history from mysql.password_history.
+ sql.Reset()
+ sqlexec.MustFormatSQL(sql, `DELETE FROM %n.%n WHERE Host = %? and User = %?;`, mysql.SystemDB, mysql.PasswordHistoryTable, strings.ToLower(user.Hostname), user.Username)
+ if _, err = sqlExecutor.ExecuteInternal(internalCtx, sql.String()); err != nil {
+ failedUsers = append(failedUsers, user.String())
+ break
+ }
+
// delete privileges from mysql.global_priv
sql.Reset()
sqlexec.MustFormatSQL(sql, `DELETE FROM %n.%n WHERE Host = %? and User = %?;`, mysql.SystemDB, mysql.GlobalPrivTable, user.Hostname, user.Username)
@@ -1546,7 +2382,7 @@ func userExists(ctx context.Context, sctx sessionctx.Context, name string, host
// use the same internal executor to read within the same transaction, otherwise same as userExists
func userExistsInternal(ctx context.Context, sqlExecutor sqlexec.SQLExecutor, name string, host string) (bool, error) {
sql := new(strings.Builder)
- sqlexec.MustFormatSQL(sql, `SELECT * FROM %n.%n WHERE User=%? AND Host=%?;`, mysql.SystemDB, mysql.UserTable, name, strings.ToLower(host))
+ sqlexec.MustFormatSQL(sql, `SELECT * FROM %n.%n WHERE User=%? AND Host=%? FOR UPDATE;`, mysql.SystemDB, mysql.UserTable, name, strings.ToLower(host))
recordSet, err := sqlExecutor.ExecuteInternal(ctx, sql.String())
if err != nil {
return false, err
@@ -1564,18 +2400,29 @@ func userExistsInternal(ctx context.Context, sqlExecutor sqlexec.SQLExecutor, na
return rows > 0, err
}
-func (e *SimpleExec) userAuthPlugin(name string, host string) (string, error) {
- pm := privilege.GetPrivilegeManager(e.ctx)
- authplugin, err := pm.GetAuthPlugin(name, host)
+func (e *SimpleExec) executeSetPwd(ctx context.Context, s *ast.SetPwdStmt) error {
+ ctx = kv.WithInternalSourceType(ctx, kv.InternalTxnPrivilege)
+ sysSession, err := e.getSysSession()
+ defer clearSysSession(ctx, sysSession)
if err != nil {
- return "", err
+ return err
+ }
+
+ sqlExecutor := sysSession.(sqlexec.SQLExecutor)
+ // session isolation level changed to READ-COMMITTED.
+ // When tidb is at the RR isolation level, executing `begin` will obtain a consistent state.
+ // When operating the same user concurrently, it may happen that historical versions are read.
+ // In order to avoid this risk, change the isolation level to RC.
+ _, err = sqlExecutor.ExecuteInternal(ctx, "set tx_isolation = 'READ-COMMITTED'")
+ if err != nil {
+ return err
+ }
+ if _, err := sqlExecutor.ExecuteInternal(ctx, "BEGIN PESSIMISTIC"); err != nil {
+ return err
}
- return authplugin, nil
-}
-func (e *SimpleExec) executeSetPwd(ctx context.Context, s *ast.SetPwdStmt) error {
- ctx = kv.WithInternalSourceType(ctx, kv.InternalTxnPrivilege)
var u, h string
+ disableSandboxMode := false
if s.User == nil || s.User.CurrentUser {
if e.ctx.GetSessionVars().User == nil {
return errors.New("Session error is empty")
@@ -1591,18 +2438,31 @@ func (e *SimpleExec) executeSetPwd(ctx context.Context, s *ast.SetPwdStmt) error
u = s.User.Username
h = s.User.Hostname
}
- exists, err := userExists(ctx, e.ctx, u, h)
+ exists, err := userExistsInternal(ctx, sqlExecutor, u, h)
if err != nil {
return err
}
if !exists {
return errors.Trace(ErrPasswordNoMatch)
}
+ if e.ctx.InSandBoxMode() {
+ if s.User == nil || s.User.CurrentUser ||
+ e.ctx.GetSessionVars().User.AuthUsername == u && e.ctx.GetSessionVars().User.AuthHostname == strings.ToLower(h) {
+ disableSandboxMode = true
+ } else {
+ return errMustChangePassword.GenWithStackByArgs()
+ }
+ }
- authplugin, err := e.userAuthPlugin(u, h)
+ authplugin, err := privilege.GetPrivilegeManager(e.ctx).GetAuthPlugin(u, h)
if err != nil {
return err
}
+ if e.isValidatePasswordEnabled() {
+ if err := pwdValidator.ValidatePassword(e.ctx.GetSessionVars(), s.Password); err != nil {
+ return err
+ }
+ }
var pwd string
switch authplugin {
case mysql.AuthCachingSha2Password, mysql.AuthTiDBSM3Password:
@@ -1614,13 +2474,47 @@ func (e *SimpleExec) executeSetPwd(ctx context.Context, s *ast.SetPwdStmt) error
pwd = auth.EncodePassword(s.Password)
}
+ // for Support Password Reuse Policy.
+ plOptions := &passwordOrLockOptionsInfo{
+ lockAccount: "",
+ passwordHistory: notSpecified,
+ passwordReuseInterval: notSpecified,
+ passwordHistoryChange: false,
+ passwordReuseIntervalChange: false,
+ }
+ // The empty password does not count in the password history and is subject to reuse at any time.
+ // https://dev.mysql.com/doc/refman/8.0/en/password-management.html#password-reuse-policy
+ if len(pwd) != 0 {
+ userDetail := &userInfo{
+ host: h,
+ user: u,
+ pLI: plOptions,
+ pwd: pwd,
+ authString: s.Password,
+ }
+ err := checkPasswordReusePolicy(ctx, sqlExecutor, userDetail, e.ctx, authplugin)
+ if err != nil {
+ return err
+ }
+ }
// update mysql.user
- exec := e.ctx.(sqlexec.RestrictedSQLExecutor)
- _, _, err = exec.ExecRestrictedSQL(ctx, nil, `UPDATE %n.%n SET authentication_string=%? WHERE User=%? AND Host=%?;`, mysql.SystemDB, mysql.UserTable, pwd, u, strings.ToLower(h))
+ sql := new(strings.Builder)
+ sqlexec.MustFormatSQL(sql, `UPDATE %n.%n SET authentication_string=%?,password_expired='N',password_last_changed=current_timestamp() WHERE User=%? AND Host=%?;`, mysql.SystemDB, mysql.UserTable, pwd, u, strings.ToLower(h))
+ _, err = sqlExecutor.ExecuteInternal(ctx, sql.String())
if err != nil {
return err
}
- return domain.GetDomain(e.ctx).NotifyUpdatePrivilege()
+ if _, err := sqlExecutor.ExecuteInternal(ctx, "commit"); err != nil {
+ return err
+ }
+ err = domain.GetDomain(e.ctx).NotifyUpdatePrivilege()
+ if err != nil {
+ return err
+ }
+ if disableSandboxMode {
+ e.ctx.DisableSandBoxMode()
+ }
+ return nil
}
func (e *SimpleExec) executeKillStmt(ctx context.Context, s *ast.KillStmt) error {
@@ -1776,14 +2670,24 @@ func (e *SimpleExec) executeAlterInstance(s *ast.AlterInstanceStmt) error {
func (e *SimpleExec) executeDropStats(s *ast.DropStatsStmt) (err error) {
h := domain.GetDomain(e.ctx).StatsHandle()
var statsIDs []int64
+ // TODO: GLOBAL option will be deprecated. Also remove this condition when the syntax is removed
if s.IsGlobalStats {
- statsIDs = []int64{s.Table.TableInfo.ID}
+ statsIDs = []int64{s.Tables[0].TableInfo.ID}
} else {
- if statsIDs, _, err = core.GetPhysicalIDsAndPartitionNames(s.Table.TableInfo, s.PartitionNames); err != nil {
- return err
- }
if len(s.PartitionNames) == 0 {
- statsIDs = append(statsIDs, s.Table.TableInfo.ID)
+ for _, table := range s.Tables {
+ partitionStatIds, _, err := core.GetPhysicalIDsAndPartitionNames(table.TableInfo, nil)
+ if err != nil {
+ return err
+ }
+ statsIDs = append(statsIDs, partitionStatIds...)
+ statsIDs = append(statsIDs, table.TableInfo.ID)
+ }
+ } else {
+ // TODO: drop stats for specific partition is deprecated. Also remove this condition when the syntax is removed
+ if statsIDs, _, err = core.GetPhysicalIDsAndPartitionNames(s.Tables[0].TableInfo, s.PartitionNames); err != nil {
+ return err
+ }
}
}
if err := h.DeleteTableStatsFromKV(statsIDs); err != nil {
diff --git a/executor/simple_test.go b/executor/simple_test.go
index 8b284fb9b42e5..a67933bbbca92 100644
--- a/executor/simple_test.go
+++ b/executor/simple_test.go
@@ -21,13 +21,13 @@ import (
"testing"
"github.com/pingcap/tidb/config"
+ "github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/parser/auth"
"github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/server"
"github.com/pingcap/tidb/testkit"
"github.com/pingcap/tidb/util"
"github.com/stretchr/testify/require"
- tikvutil "github.com/tikv/client-go/v2/util"
)
func TestKillStmt(t *testing.T) {
@@ -86,7 +86,7 @@ func TestKillStmt(t *testing.T) {
func TestUserAttributes(t *testing.T) {
store, _ := testkit.CreateMockStoreAndDomain(t)
rootTK := testkit.NewTestKit(t, store)
- ctx := context.WithValue(context.Background(), tikvutil.RequestSourceKey, tikvutil.RequestSource{RequestSourceInternal: true})
+ ctx := kv.WithInternalSourceType(context.Background(), kv.InternalTxnPrivilege)
// https://dev.mysql.com/doc/refman/8.0/en/create-user.html#create-user-comments-attributes
rootTK.MustExec(`CREATE USER testuser COMMENT '1234'`)
@@ -94,9 +94,9 @@ func TestUserAttributes(t *testing.T) {
_, err := rootTK.Exec(`CREATE USER testuser2 ATTRIBUTE '{"name": "Tom", age: 19}'`)
rootTK.MustExec(`CREATE USER testuser2`)
require.Error(t, err)
- rootTK.MustQuery(`SELECT user_attributes FROM mysql.user WHERE user = 'testuser'`).Check(testkit.Rows(`{"metadata": {"comment": "1234"}}`))
- rootTK.MustQuery(`SELECT user_attributes FROM mysql.user WHERE user = 'testuser1'`).Check(testkit.Rows(`{"metadata": {"age": 19, "name": "Tom"}}`))
- rootTK.MustQuery(`SELECT user_attributes FROM mysql.user WHERE user = 'testuser2'`).Check(testkit.Rows(``))
+ rootTK.MustQuery(`SELECT user_attributes FROM mysql.user WHERE user = 'testuser'`).Check(testkit.Rows(`{"metadata": {"comment": "1234"}, "resource_group": "default"}`))
+ rootTK.MustQuery(`SELECT user_attributes FROM mysql.user WHERE user = 'testuser1'`).Check(testkit.Rows(`{"metadata": {"age": 19, "name": "Tom"}, "resource_group": "default"}`))
+ rootTK.MustQuery(`SELECT user_attributes FROM mysql.user WHERE user = 'testuser2'`).Check(testkit.Rows(`{"resource_group": "default"}`))
rootTK.MustQueryWithContext(ctx, `SELECT attribute FROM information_schema.user_attributes WHERE user = 'testuser'`).Check(testkit.Rows(`{"comment": "1234"}`))
rootTK.MustQueryWithContext(ctx, `SELECT attribute FROM information_schema.user_attributes WHERE user = 'testuser1'`).Check(testkit.Rows(`{"age": 19, "name": "Tom"}`))
rootTK.MustQueryWithContext(ctx, `SELECT attribute->>"$.age" AS age, attribute->>"$.name" AS name FROM information_schema.user_attributes WHERE user = 'testuser1'`).Check(testkit.Rows(`19 Tom`))
@@ -105,7 +105,9 @@ func TestUserAttributes(t *testing.T) {
// https://dev.mysql.com/doc/refman/8.0/en/alter-user.html#alter-user-comments-attributes
rootTK.MustExec(`ALTER USER testuser1 ATTRIBUTE '{"age": 20, "sex": "male"}'`)
rootTK.MustQueryWithContext(ctx, `SELECT attribute FROM information_schema.user_attributes WHERE user = 'testuser1'`).Check(testkit.Rows(`{"age": 20, "name": "Tom", "sex": "male"}`))
- rootTK.MustExec(`ALTER USER testuser1 ATTRIBUTE '{"sex": null}'`)
+ rootTK.MustExec(`ALTER USER testuser1 ATTRIBUTE '{"hobby": "soccer"}'`)
+ rootTK.MustQueryWithContext(ctx, `SELECT attribute FROM information_schema.user_attributes WHERE user = 'testuser1'`).Check(testkit.Rows(`{"age": 20, "hobby": "soccer", "name": "Tom", "sex": "male"}`))
+ rootTK.MustExec(`ALTER USER testuser1 ATTRIBUTE '{"sex": null, "hobby": null}'`)
rootTK.MustQueryWithContext(ctx, `SELECT attribute FROM information_schema.user_attributes WHERE user = 'testuser1'`).Check(testkit.Rows(`{"age": 20, "name": "Tom"}`))
rootTK.MustExec(`ALTER USER testuser1 COMMENT '5678'`)
rootTK.MustQueryWithContext(ctx, `SELECT attribute FROM information_schema.user_attributes WHERE user = 'testuser1'`).Check(testkit.Rows(`{"age": 20, "comment": "5678", "name": "Tom"}`))
@@ -121,4 +123,11 @@ func TestUserAttributes(t *testing.T) {
tk.MustQueryWithContext(ctx, `SELECT user, host, attribute FROM information_schema.user_attributes ORDER BY user`).Check(
testkit.Rows("root % ", "testuser % {\"comment\": \"1234\"}", "testuser1 % {\"age\": 20, \"name\": \"Tom\"}", "testuser2 % "))
tk.MustGetErrCode(`SELECT user, host, user_attributes FROM mysql.user ORDER BY user`, mysql.ErrTableaccessDenied)
+
+ // https://github.com/pingcap/tidb/issues/39207
+ rootTK.MustExec("create user usr1@'%' identified by 'passord'")
+ rootTK.MustExec("alter user usr1 comment 'comment1'")
+ rootTK.MustQuery("select user_attributes from mysql.user where user = 'usr1'").Check(testkit.Rows(`{"metadata": {"comment": "comment1"}, "resource_group": "default"}`))
+ rootTK.MustExec("alter user usr1 resource group 'rg1'")
+ rootTK.MustQuery("select user_attributes from mysql.user where user = 'usr1'").Check(testkit.Rows(`{"metadata": {"comment": "comment1"}, "resource_group": "rg1"}`))
}
diff --git a/executor/simpletest/BUILD.bazel b/executor/simpletest/BUILD.bazel
index 0f8c010c0bc99..2da6aa029e3cd 100644
--- a/executor/simpletest/BUILD.bazel
+++ b/executor/simpletest/BUILD.bazel
@@ -5,6 +5,7 @@ go_test(
timeout = "short",
srcs = [
"main_test.go",
+ "password_management_test.go",
"simple_test.go",
],
flaky = True,
@@ -12,17 +13,23 @@ go_test(
shard_count = 30,
deps = [
"//config",
+ "//domain",
+ "//errno",
"//executor",
+ "//kv",
"//parser/auth",
"//parser/model",
"//parser/mysql",
"//parser/terror",
"//planner/core",
+ "//privilege/privileges",
"//session",
"//sessionctx",
+ "//sessionctx/variable",
"//statistics/handle",
"//store/mockstore",
"//testkit",
+ "//util/sqlexec",
"@com_github_pingcap_errors//:errors",
"@com_github_stretchr_testify//require",
"@io_opencensus_go//stats/view",
diff --git a/executor/simpletest/password_management_test.go b/executor/simpletest/password_management_test.go
new file mode 100644
index 0000000000000..ae3352cdf84b7
--- /dev/null
+++ b/executor/simpletest/password_management_test.go
@@ -0,0 +1,1363 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package simpletest
+
+import (
+ "bytes"
+ "crypto/sha1"
+ "encoding/json"
+ "fmt"
+ "strconv"
+ "strings"
+ "testing"
+ "time"
+
+ "github.com/pingcap/tidb/domain"
+ "github.com/pingcap/tidb/errno"
+ "github.com/pingcap/tidb/kv"
+ "github.com/pingcap/tidb/parser/auth"
+ "github.com/pingcap/tidb/parser/mysql"
+ "github.com/pingcap/tidb/privilege/privileges"
+ "github.com/pingcap/tidb/sessionctx/variable"
+ "github.com/pingcap/tidb/testkit"
+ "github.com/pingcap/tidb/util/sqlexec"
+ "github.com/stretchr/testify/require"
+)
+
+func TestValidatePassword(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ subtk := testkit.NewTestKit(t, store)
+ err := tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "%"}, nil, nil)
+ require.NoError(t, err)
+ tk.MustExec("CREATE USER ''@'localhost'")
+ tk.MustExec("GRANT ALL PRIVILEGES ON mysql.* TO ''@'localhost';")
+ err = subtk.Session().Auth(&auth.UserIdentity{Hostname: "localhost"}, nil, nil)
+ require.NoError(t, err)
+
+ authPlugins := []string{mysql.AuthNativePassword, mysql.AuthCachingSha2Password, mysql.AuthTiDBSM3Password}
+ tk.MustQuery("SELECT @@global.validate_password.enable").Check(testkit.Rows("0"))
+ tk.MustExec("SET GLOBAL validate_password.enable = 1")
+ tk.MustQuery("SELECT @@global.validate_password.enable").Check(testkit.Rows("1"))
+
+ for _, authPlugin := range authPlugins {
+ tk.MustExec("DROP USER IF EXISTS testuser")
+ tk.MustExec(fmt.Sprintf("CREATE USER testuser IDENTIFIED WITH %s BY '!Abc12345678'", authPlugin))
+
+ tk.MustExec("SET GLOBAL validate_password.policy = 'LOW'")
+ // check user name
+ tk.MustQuery("SELECT @@global.validate_password.check_user_name").Check(testkit.Rows("1"))
+ tk.MustContainErrMsg("ALTER USER testuser IDENTIFIED BY '!Abcdroot1234'", "Password Contains User Name")
+ tk.MustContainErrMsg("ALTER USER testuser IDENTIFIED BY '!Abcdtoor1234'", "Password Contains Reversed User Name")
+ tk.MustExec("SET PASSWORD FOR 'testuser' = 'testuser'") // password the same as the user name, but run by root
+ tk.MustExec("ALTER USER testuser IDENTIFIED BY 'testuser'")
+ tk.MustExec("SET GLOBAL validate_password.check_user_name = 0")
+ tk.MustExec("ALTER USER testuser IDENTIFIED BY '!Abcdroot1234'")
+ tk.MustExec("ALTER USER testuser IDENTIFIED BY '!Abcdtoor1234'")
+ tk.MustExec("SET GLOBAL validate_password.check_user_name = 1")
+
+ // LOW: Length
+ tk.MustExec("SET GLOBAL validate_password.length = 8")
+ tk.MustQuery("SELECT @@global.validate_password.length").Check(testkit.Rows("8"))
+ tk.MustContainErrMsg("ALTER USER testuser IDENTIFIED BY '1234567'", "Require Password Length: 8")
+ tk.MustExec("SET GLOBAL validate_password.length = 12")
+ tk.MustContainErrMsg("ALTER USER testuser IDENTIFIED BY '!Abcdefg123'", "Require Password Length: 12")
+ tk.MustExec("ALTER USER testuser IDENTIFIED BY '!Abcdefg1234'")
+ tk.MustExec("SET GLOBAL validate_password.length = 8")
+
+ // MEDIUM: Length; numeric, lowercase/uppercase, and special characters
+ tk.MustExec("SET GLOBAL validate_password.policy = 'MEDIUM'")
+ tk.MustExec("ALTER USER testuser IDENTIFIED BY '!Abc1234567'")
+ tk.MustContainErrMsg("ALTER USER testuser IDENTIFIED BY '!ABC1234567'", "Require Password Lowercase Count: 1")
+ tk.MustContainErrMsg("ALTER USER testuser IDENTIFIED BY '!abc1234567'", "Require Password Uppercase Count: 1")
+ tk.MustContainErrMsg("ALTER USER testuser IDENTIFIED BY '!ABCDabcd'", "Require Password Digit Count: 1")
+ tk.MustContainErrMsg("ALTER USER testuser IDENTIFIED BY 'Abc1234567'", "Require Password Non-alphanumeric Count: 1")
+ tk.MustExec("SET GLOBAL validate_password.special_char_count = 0")
+ tk.MustExec("ALTER USER testuser IDENTIFIED BY 'Abc1234567'")
+ tk.MustExec("SET GLOBAL validate_password.special_char_count = 1")
+ tk.MustExec("SET GLOBAL validate_password.length = 3")
+ tk.MustQuery("SELECT @@GLOBAL.validate_password.length").Check(testkit.Rows("4"))
+
+ // STRONG: Length; numeric, lowercase/uppercase, and special characters; dictionary file
+ tk.MustExec("SET GLOBAL validate_password.policy = 'STRONG'")
+ tk.MustExec("ALTER USER testuser IDENTIFIED BY '!Abc1234567'")
+ tk.MustExec(fmt.Sprintf("SET GLOBAL validate_password.dictionary = '%s'", "1234;5678"))
+ tk.MustExec("ALTER USER testuser IDENTIFIED BY '!Abc123567'")
+ tk.MustExec("ALTER USER testuser IDENTIFIED BY '!Abc43218765'")
+ tk.MustContainErrMsg("ALTER USER testuser IDENTIFIED BY '!Abc1234567'", "Password contains word in the dictionary")
+ tk.MustExec("SET GLOBAL validate_password.dictionary = ''")
+ tk.MustExec("ALTER USER testuser IDENTIFIED BY '!Abc1234567'")
+
+ // "IDENTIFIED AS 'xxx'" is not affected by validation
+ tk.MustExec(fmt.Sprintf("ALTER USER testuser IDENTIFIED WITH '%s' AS ''", authPlugin))
+ }
+ tk.MustContainErrMsg("CREATE USER 'testuser1'@'localhost'", "Your password does not satisfy the current policy requirements")
+ tk.MustContainErrMsg("CREATE USER 'testuser1'@'localhost' IDENTIFIED WITH 'caching_sha2_password'", "Your password does not satisfy the current policy requirements")
+ tk.MustContainErrMsg("CREATE USER 'testuser1'@'localhost' IDENTIFIED WITH 'caching_sha2_password' AS ''", "Your password does not satisfy the current policy requirements")
+
+ // if the username is '', all password can pass the check_user_name
+ subtk.MustQuery("SELECT user(), current_user()").Check(testkit.Rows("@localhost @localhost"))
+ subtk.MustQuery("SELECT @@global.validate_password.check_user_name").Check(testkit.Rows("1"))
+ subtk.MustQuery("SELECT @@global.validate_password.enable").Check(testkit.Rows("1"))
+ tk.MustExec("SET GLOBAL validate_password.number_count = 0")
+ tk.MustExec("SET GLOBAL validate_password.special_char_count = 0")
+ tk.MustExec("SET GLOBAL validate_password.mixed_case_count = 0")
+ tk.MustExec("SET GLOBAL validate_password.length = 0")
+ subtk.MustExec("ALTER USER ''@'localhost' IDENTIFIED BY ''")
+ subtk.MustExec("ALTER USER ''@'localhost' IDENTIFIED BY 'abcd'")
+
+ // CREATE ROLE is not affected by password validation
+ tk.MustExec("SET GLOBAL validate_password.enable = 1")
+ tk.MustExec("SET GLOBAL validate_password.number_count = default")
+ tk.MustExec("SET GLOBAL validate_password.special_char_count = default")
+ tk.MustExec("SET GLOBAL validate_password.mixed_case_count = default")
+ tk.MustExec("SET GLOBAL validate_password.length = default")
+ tk.MustExec("CREATE ROLE role1")
+}
+
+func expectedPasswordExpiration(t *testing.T, tk *testkit.TestKit, testuser, expired string, lifetime string) {
+ res := tk.MustQuery(fmt.Sprintf("SELECT password_expired, password_last_changed, password_lifetime FROM mysql.user WHERE user = '%s'", testuser))
+ rows := res.Rows()
+ require.NotEmpty(t, rows)
+ row := rows[0]
+ require.Equal(t, 3, len(row))
+ require.Equal(t, expired, row[0].(string), testuser)
+ require.True(t, len(row[1].(string)) > 0, testuser)
+ require.Equal(t, lifetime, row[2].(string), testuser)
+}
+
+func TestPasswordExpiration(t *testing.T) {
+ store, _ := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+
+ // CREATE USER
+ tk.MustExec(`CREATE USER testuser`)
+ expectedPasswordExpiration(t, tk, "testuser", "N", "")
+ tk.MustExec(`CREATE USER testuser1 PASSWORD EXPIRE`)
+ expectedPasswordExpiration(t, tk, "testuser1", "Y", "")
+ tk.MustExec(`CREATE USER testuser2 PASSWORD EXPIRE DEFAULT`)
+ expectedPasswordExpiration(t, tk, "testuser2", "N", "")
+ tk.MustExec(`CREATE USER testuser3 PASSWORD EXPIRE NEVER`)
+ expectedPasswordExpiration(t, tk, "testuser3", "N", "0")
+ tk.MustExec(`CREATE USER testuser4 PASSWORD EXPIRE INTERVAL 3 DAY`)
+ expectedPasswordExpiration(t, tk, "testuser4", "N", "3")
+ tk.MustExec(`CREATE ROLE role1`)
+ expectedPasswordExpiration(t, tk, "role1", "Y", "")
+
+ // ALTER USER
+ testcases := []struct {
+ user string
+ expired string
+ }{
+ {"testuser", "N"},
+ {"testuser1", "Y"},
+ {"testuser2", "N"},
+ {"testuser3", "N"},
+ {"testuser4", "N"},
+ {"role1", "Y"},
+ }
+ for _, testcase := range testcases {
+ tk.MustExec(fmt.Sprintf("ALTER USER %s PASSWORD EXPIRE NEVER", testcase.user))
+ expectedPasswordExpiration(t, tk, testcase.user, testcase.expired, "0")
+ tk.MustExec(fmt.Sprintf("ALTER USER %s PASSWORD EXPIRE DEFAULT", testcase.user))
+ expectedPasswordExpiration(t, tk, testcase.user, testcase.expired, "")
+ tk.MustExec(fmt.Sprintf("ALTER USER %s PASSWORD EXPIRE INTERVAL 3 DAY", testcase.user))
+ expectedPasswordExpiration(t, tk, testcase.user, testcase.expired, "3")
+ tk.MustExec(fmt.Sprintf("ALTER USER %s PASSWORD EXPIRE", testcase.user))
+ expectedPasswordExpiration(t, tk, testcase.user, "Y", "3")
+ tk.MustExec(fmt.Sprintf("ALTER USER %s IDENTIFIED BY '' PASSWORD EXPIRE", testcase.user))
+ expectedPasswordExpiration(t, tk, testcase.user, "Y", "3")
+ tk.MustExec(fmt.Sprintf("ALTER USER %s IDENTIFIED WITH 'mysql_native_password' AS ''", testcase.user))
+ expectedPasswordExpiration(t, tk, testcase.user, "N", "3")
+ tk.MustExec(fmt.Sprintf("ALTER USER %s IDENTIFIED BY ''", testcase.user))
+ expectedPasswordExpiration(t, tk, testcase.user, "N", "3")
+ }
+
+ // SET PASSWORD
+ tk.MustExec("ALTER USER testuser PASSWORD EXPIRE")
+ expectedPasswordExpiration(t, tk, "testuser", "Y", "3")
+ tk.MustExec("SET PASSWORD FOR testuser = '1234'")
+ expectedPasswordExpiration(t, tk, "testuser", "N", "3")
+
+ tk.MustGetErrCode(`CREATE USER ''@localhost IDENTIFIED BY 'pass' PASSWORD EXPIRE`, mysql.ErrPasswordExpireAnonymousUser)
+ tk.MustExec(`CREATE USER ''@localhost IDENTIFIED BY 'pass'`)
+ tk.MustGetErrCode(`ALTER USER ''@localhost PASSWORD EXPIRE`, mysql.ErrPasswordExpireAnonymousUser)
+
+ // different cleartext authentication plugin
+ for _, authplugin := range []string{mysql.AuthNativePassword, mysql.AuthCachingSha2Password, mysql.AuthTiDBSM3Password} {
+ tk.MustExec("DROP USER IF EXISTS 'u1'@'localhost'")
+ tk.MustExec(fmt.Sprintf("CREATE USER 'u1'@'localhost' IDENTIFIED WITH '%s'", authplugin))
+ tk.MustExec("ALTER USER 'u1'@'localhost' IDENTIFIED BY 'pass'")
+ tk.MustExec("ALTER USER 'u1'@'localhost' PASSWORD EXPIRE")
+ tk.MustQuery("SELECT password_expired FROM mysql.user WHERE user = 'u1'").Check(testkit.Rows("Y"))
+ }
+}
+
+// Test cases that related to PASSWORD VALIDATION, PASSWORD EXPIRATION, PASSWORD REUSE POLICY, and PASSWORD FAILED-LOGIN TRACK.
+func TestPasswordManagement(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("SET GLOBAL validate_password.enable = 1")
+
+ // PASSWORD VALIDATION can work with user-specified PASSWORD REUSE POLICY.
+ tk.MustExec("CREATE USER u1 IDENTIFIED BY '!Abc1234' password history 1")
+ tk.MustGetErrCode("ALTER USER u1 IDENTIFIED BY '!Abc1234'", errno.ErrExistsInHistoryPassword)
+ tk.MustGetErrCode("ALTER USER u1 IDENTIFIED BY '!abc1234'", errno.ErrNotValidPassword)
+
+ // PASSWORD VALIDATION can work with global PASSWORD REUSE POLICY.
+ tk.MustExec("SET GLOBAL password_history = 1")
+ tk.MustExec("DROP USER u1")
+ tk.MustExec("CREATE USER u1 IDENTIFIED BY '!Abc1234'")
+ tk.MustGetErrCode("ALTER USER u1 IDENTIFIED BY '!Abc1234'", errno.ErrExistsInHistoryPassword)
+ tk.MustGetErrCode("ALTER USER u1 IDENTIFIED BY '!abc1234'", errno.ErrNotValidPassword)
+
+ // PASSWORD EXPIRATION can work with ACCOUNT LOCK.
+ // PASSWORD EXPIRE NEVER and ACCOUNT UNLOCK take effect.
+ tk.MustExec(`ALTER USER u1 ACCOUNT LOCK PASSWORD EXPIRE NEVER PASSWORD EXPIRE NEVER ACCOUNT UNLOCK ACCOUNT LOCK ACCOUNT LOCK ACCOUNT UNLOCK;`)
+ tk.MustQuery(`SELECT password_expired, password_lifetime, account_locked FROM mysql.user WHERE USER='u1';`).Check(
+ testkit.Rows("N 0 N"))
+
+ // PASSWORD EXPIRATION can work with PASSWORD REUSE POLICY
+ tk.MustExec(`create user u2 identified by '!Abc1234' password expire password reuse interval default password expire never password
+ reuse interval 3 day password history 5 password history default password expire default`)
+ tk.MustQuery(`select password_expired, password_lifetime, password_reuse_history, password_reuse_time from mysql.user where user = 'u2'`).Check(
+ testkit.Rows("N 3"))
+ tk.MustExec(`alter user u2 password expire default password reuse interval 3 day password history default
+ password expire never password expire interval 5 day password reuse interval default password expire password history 5`)
+ tk.MustQuery(`select password_expired, password_lifetime, password_reuse_history, password_reuse_time from mysql.user where user = 'u2'`).Check(
+ testkit.Rows("Y 5 "))
+ tk.MustExec(`alter user u2 identified by '!Abc12345'`)
+ tk.MustQuery(`select password_expired, password_lifetime, password_reuse_history, password_reuse_time from mysql.user where user = 'u2'`).Check(
+ testkit.Rows("N 5 "))
+
+ // PASSWORD FAILED-LOGIN TRACK can work with USER COMMENT and USER ATTRIBUTE
+ tk.MustExec(`CREATE USER u3 IDENTIFIED BY '!Abc12345' FAILED_LOGIN_ATTEMPTS 4 PASSWORD_LOCK_TIME 3 COMMENT 'Some statements to test create user'`)
+ tk.MustQuery(`select user_attributes->>"$.metadata" from mysql.user where user = 'u3'`).Check(testkit.Rows(`{"comment": "Some statements to test create user"}`))
+ tk.MustQuery(`select user_attributes->>"$.Password_locking" from mysql.user where user = 'u3'`).Check(testkit.Rows(`{"failed_login_attempts": 4, "password_lock_time_days": 3}`))
+ tk.MustExec(`ALTER USER u3 FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME unbounded FAILED_LOGIN_ATTEMPTS 5 PASSWORD_LOCK_TIME 5 ATTRIBUTE '{"name": "John", "age": 19}'`)
+ tk.MustQuery(`select user_attributes->>"$.metadata" from mysql.user where user = 'u3'`).Check(testkit.Rows(`{"age": 19, "comment": "Some statements to test create user", "name": "John"}`))
+ tk.MustQuery(`select user_attributes->>"$.Password_locking" from mysql.user where user = 'u3'`).Check(testkit.Rows(`{"failed_login_attempts": 5, "password_lock_time_days": 5}`))
+
+ tk.MustExec("SET GLOBAL validate_password.enable = 0")
+
+ rootTK := testkit.NewTestKit(t, store)
+ // Password Strength Check.
+ rootTK.MustExec(`set global validate_password.enable = ON`)
+ rootTK.MustExec(`drop user u2`)
+ rootTK.MustGetErrCode(`create user u2 identified by 'u2' PASSWORD EXPIRE INTERVAL 2 DAY password history 2
+ password reuse interval 2 day FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME 1`, 1819)
+ rootTK.MustGetErrCode(`create user u2`, 1819)
+ rootTK.MustGetErrCode(`create user u2 identified by 'u2222222' PASSWORD EXPIRE INTERVAL 2 DAY password history 2
+ password reuse interval 2 day FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME 1`, 1819)
+ rootTK.MustGetErrCode(`create user u2 identified by 'Uu2222222' PASSWORD EXPIRE INTERVAL 2 DAY password history 2
+ password reuse interval 2 day FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME 1`, 1819)
+ rootTK.MustGetErrCode(`create user u2 identified by 'Uu3222222' PASSWORD EXPIRE INTERVAL 2 DAY password history 2
+ password reuse interval 2 day FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME 1`, 1819)
+ rootTK.MustExec(`create user u2 identified by 'Uu3@22222' PASSWORD EXPIRE INTERVAL 2 DAY password history 2
+ password reuse interval 2 day FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME 1`)
+ rootTK.MustQuery(`Select count(*) from mysql.password_history where user = 'u2' and host = '%'`).Check(testkit.Rows("1"))
+ result := rootTK.MustQuery(`Select authentication_string from mysql.user where user = 'u2' and host = '%'`)
+ result.Check(testkit.Rows(auth.EncodePassword("Uu3@22222")))
+ // Disable password reuse.
+ rootTK.MustGetErrCode(`Alter user u2 identified by 'Uu3@22222'`, 3638)
+ rootTK.MustGetErrCode(`Set password for 'u2' = 'Uu3@22222'`, 3638)
+ // Password Strength Check.
+ rootTK.MustGetErrCode(`Alter user u2 identified by 'U2'`, 1819)
+ rootTK.MustGetErrCode(`Set password for 'u2' = 'U2'`, 1819)
+ // Did not modify successfully.
+ result = rootTK.MustQuery(`Select authentication_string from mysql.user where user = 'u2' and host = '%'`)
+ result.Check(testkit.Rows(auth.EncodePassword("Uu3@22222")))
+ // Auto-lock in effect.
+ err := tk.Session().Auth(&auth.UserIdentity{Username: "u2", Hostname: "%"}, sha1Password(""), nil)
+ require.ErrorContains(t, err, "Account is blocked for 1 day(s) (1 day(s) remaining) due to 1 consecutive failed logins.")
+ result = rootTK.MustQuery(`SELECT
+ JSON_UNQUOTE(JSON_EXTRACT(user_attributes, '$.Password_locking.failed_login_count')),
+ JSON_UNQUOTE(JSON_EXTRACT(user_attributes, '$.Password_locking.auto_account_locked')) from mysql.user where user = 'u2' and host = '%'`)
+ result.Check(testkit.Rows(`1 Y`))
+ rootTK.MustExec(`ALTER user u2 account unlock`)
+
+ // Unlock in effect.
+ result = rootTK.MustQuery(`SELECT
+ JSON_UNQUOTE(JSON_EXTRACT(user_attributes, '$.Password_locking.failed_login_count')),
+ JSON_UNQUOTE(JSON_EXTRACT(user_attributes, '$.Password_locking.auto_account_locked')) from mysql.user where user = 'u2' and host = '%'`)
+ result.Check(testkit.Rows(`0 N`))
+
+ rootTK.MustExec(`set global validate_password.enable = OFF`)
+ rootTK.MustExec(`update mysql.user set Password_last_changed = date_sub(Password_last_changed,interval '3 0:0:1' DAY_SECOND) where user = 'u2' and host = '%'`)
+ err = domain.GetDomain(rootTK.Session()).NotifyUpdatePrivilege()
+ require.NoError(t, err)
+ // Password expires and takes effect.
+ err = tk.Session().Auth(&auth.UserIdentity{Username: "u2", Hostname: "%"}, sha1Password("Uu3@22222"), nil)
+ require.ErrorContains(t, err, "Your password has expired.")
+ variable.IsSandBoxModeEnabled.Store(true)
+ err = tk.Session().Auth(&auth.UserIdentity{Username: "u2", Hostname: "%"}, sha1Password("Uu3@22222"), nil)
+ require.NoError(t, err)
+ require.True(t, tk.Session().InSandBoxMode())
+
+ rootTK.MustExec(`set global validate_password.enable = ON`)
+ // Forbid other users to change password.
+ tk.MustGetErrCode(`Alter user root identified by 'Uu3@22222'`, 1820)
+ // Disable password reuse.
+ tk.MustGetErrCode(`Alter user u2 identified by 'Uu3@22222'`, 3638)
+ tk.MustGetErrCode(`set password = 'Uu3@22222'`, 3638)
+ // Password Strength Check.
+ tk.MustGetErrCode(`Alter user u2 identified by 'U2'`, 1819)
+ tk.MustGetErrCode(`set password = 'U2'`, 1819)
+ tk.MustExec(`Set password = 'Uu3@22223'`)
+ require.False(t, tk.Session().InSandBoxMode())
+ rootTK.MustQuery(`Select count(*) from mysql.password_history where user = 'u2' and host = '%'`).Check(testkit.Rows("2"))
+ result = rootTK.MustQuery(`Select authentication_string from mysql.user where user = 'u2' and host = '%'`)
+ result.Check(testkit.Rows(auth.EncodePassword("Uu3@22223")))
+ tk = testkit.NewTestKit(t, store)
+ err = tk.Session().Auth(&auth.UserIdentity{Username: "u2", Hostname: "%"}, sha1Password("Uu3@22223"), nil)
+ require.NoError(t, err)
+}
+
+// Test basic CREATE/ALTER USER with failed-login track.
+func TestFailedLoginTrackingBasic(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+
+ createUserTestCases := []struct {
+ sql string
+ rsJSON string
+ user string
+ }{
+ {"CREATE USER 'u1'@'localhost' IDENTIFIED BY 'password' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 3;",
+ "{\"failed_login_attempts\": 3, \"password_lock_time_days\": 3}", "u1"},
+ {"CREATE USER 'u2'@'localhost' IDENTIFIED BY 'password' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME UNBOUNDED;",
+ "{\"failed_login_attempts\": 3, \"password_lock_time_days\": -1}", "u2"},
+ {"CREATE USER 'u3'@'localhost' IDENTIFIED BY 'password' FAILED_LOGIN_ATTEMPTS 3;",
+ "{\"failed_login_attempts\": 3, \"password_lock_time_days\": 0}", "u3"},
+ {"CREATE USER 'u4'@'localhost' IDENTIFIED BY 'password' PASSWORD_LOCK_TIME 3;",
+ "{\"failed_login_attempts\": 0, \"password_lock_time_days\": 3}", "u4"},
+ {"CREATE USER 'u5'@'localhost' IDENTIFIED BY 'password' PASSWORD_LOCK_TIME UNBOUNDED;",
+ "{\"failed_login_attempts\": 0, \"password_lock_time_days\": -1}", "u5"},
+ }
+ for _, tc := range createUserTestCases {
+ tk.MustExec(tc.sql)
+ sql := fmt.Sprintf("SELECT user_attributes->>\"$.Password_locking\" from mysql.user WHERE USER = '%s' AND HOST = 'localhost' for update", tc.user)
+ tk.MustQuery(sql).Check(testkit.Rows(tc.rsJSON))
+ }
+
+ alterUserTestCases := []struct {
+ sql string
+ user string
+ failedLoginAttempts int64
+ passwordLockTimeDays int64
+ failedLoginCount int64
+ comment string
+ }{
+ {"ALTER USER 'u1'@'localhost' FAILED_LOGIN_ATTEMPTS 4 PASSWORD_LOCK_TIME 6;", "u1",
+ 4, 6, 0, ""},
+ {"ALTER USER 'u2'@'localhost' FAILED_LOGIN_ATTEMPTS 4 PASSWORD_LOCK_TIME UNBOUNDED;",
+ "u2", 4, -1, 0, ""},
+ {"ALTER USER 'u3'@'localhost' PASSWORD_LOCK_TIME 6;",
+ "u3", 3, 6, 0, ""},
+ {"ALTER USER 'u4'@'localhost' FAILED_LOGIN_ATTEMPTS 4;",
+ "u4", 4, 3, 0, ""},
+ {"ALTER USER 'u4'@'localhost' PASSWORD_LOCK_TIME UNBOUNDED;",
+ "u4", 4, -1, 0, ""},
+ {"ALTER USER 'u5'@'localhost' ACCOUNT UNLOCK FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 6;",
+ "u5", 3, 6, 0, ""},
+ {"ALTER USER 'u5'@'localhost' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 6 COMMENT 'Something';",
+ "u5", 3, 6, 0, "Something"},
+ }
+ for _, tc := range alterUserTestCases {
+ tk.MustExec(tc.sql)
+ sql := fmt.Sprintf("SELECT user_attributes from mysql.user WHERE USER = '%s' AND HOST = 'localhost' for update", tc.user)
+ rs := tk.MustQuery(sql)
+ buf := bytes.NewBufferString("")
+ for _, row := range rs.Rows() {
+ _, err := fmt.Fprintf(buf, "%s\n", row)
+ require.NoError(t, err)
+ }
+ str := buf.String()
+ var ua []userAttributes
+ err := json.Unmarshal([]byte(str), &ua)
+ require.NoError(t, err)
+ require.Equal(t, tc.failedLoginAttempts, ua[0].PasswordLocking.FailedLoginAttempts, tc.sql, str)
+ require.Equal(t, tc.passwordLockTimeDays, ua[0].PasswordLocking.PasswordLockTimeDays, tc.sql, str)
+ require.Equal(t, tc.failedLoginCount, ua[0].PasswordLocking.FailedLoginCount, tc.sql, str)
+ require.Equal(t, tc.comment, ua[0].Metadata.Comment, tc.sql, str)
+ }
+
+ tk.MustExec("CREATE USER 'u6'@'localhost' IDENTIFIED BY 'password' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 3;")
+ tk.MustQuery(" SHOW CREATE USER 'u6'@'localhost';").Check(
+ testkit.Rows("CREATE USER 'u6'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 3"))
+
+ tk.MustExec("CREATE USER 'u7'@'localhost' IDENTIFIED BY 'password';")
+ tk.MustQuery(" SHOW CREATE USER 'u7'@'localhost';").Check(
+ testkit.Rows("CREATE USER 'u7'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT"))
+
+ tk.MustExec("CREATE USER 'u8'@'localhost' IDENTIFIED BY 'password' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME UNBOUNDED;")
+ tk.MustQuery(" SHOW CREATE USER 'u8'@'localhost';").Check(
+ testkit.Rows("CREATE USER 'u8'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME UNBOUNDED"))
+
+ tk.MustExec("ALTER USER 'u4'@'localhost' PASSWORD_LOCK_TIME 0 FAILED_LOGIN_ATTEMPTS 0")
+ tk.MustQuery("select user_attributes from mysql.user where user = 'u4' and host = 'localhost'").Check(testkit.Rows(`{"resource_group": "default"}`))
+ tk.MustExec("ALTER USER 'u4'@'localhost' account unlock")
+ tk.MustQuery("select user_attributes from mysql.user where user = 'u4' and host = 'localhost'").Check(testkit.Rows(`{"resource_group": "default"}`))
+ tk.MustExec("ALTER USER 'u4'@'localhost' PASSWORD_LOCK_TIME 6")
+ tk.MustQuery("select user_attributes from mysql.user where user = 'u4' and host = 'localhost'").Check(testkit.Rows(`{"Password_locking": {"failed_login_attempts": 0, "password_lock_time_days": 6}, "resource_group": "default"}`))
+}
+
+func TestUserReuseControl(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ rootTK := testkit.NewTestKit(t, store)
+ rootTK.MustQuery(`show variables like "password_history"`).Check(testkit.Rows("password_history 0"))
+ rootTK.MustQuery(`show variables like "password_reuse_interval"`).Check(testkit.Rows("password_reuse_interval 0"))
+ rootTK.MustExec(`set global password_history = -1`)
+ rootTK.MustExec(`set global password_reuse_interval = -1`)
+ rootTK.MustQuery(`show variables like "password_history"`).Check(testkit.Rows("password_history 0"))
+ rootTK.MustQuery(`show variables like "password_reuse_interval"`).Check(testkit.Rows("password_reuse_interval 0"))
+ rootTK.MustExec(`set global password_history = 4294967295`)
+ rootTK.MustExec(`set global password_reuse_interval = 4294967295`)
+ rootTK.MustQuery(`show variables like "password_history"`).Check(testkit.Rows("password_history 4294967295"))
+ rootTK.MustQuery(`show variables like "password_reuse_interval"`).Check(testkit.Rows("password_reuse_interval 4294967295"))
+ rootTK.MustExec(`set global password_history = 4294967296`)
+ rootTK.MustExec(`set global password_reuse_interval = 4294967296`)
+ rootTK.MustQuery(`show variables like "password_history"`).Check(testkit.Rows("password_history 4294967295"))
+ rootTK.MustQuery(`show variables like "password_reuse_interval"`).Check(testkit.Rows("password_reuse_interval 4294967295"))
+ rootTK.MustGetErrCode(`set session password_history = 42949`, 1229)
+ rootTK.MustGetErrCode(`set session password_reuse_interval = 42949`, 1229)
+}
+
+func TestUserReuseInfo(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ rootTK := testkit.NewTestKit(t, store)
+ rootTK.MustExec(`CREATE USER testReuse`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(` `))
+ rootTK.MustExec(`ALTER USER testReuse PASSWORD HISTORY 5`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(`5 `))
+ rootTK.MustExec(`ALTER USER testReuse PASSWORD HISTORY 0`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(`0 `))
+ rootTK.MustExec(`ALTER USER testReuse PASSWORD HISTORY DEFAULT`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(` `))
+ rootTK.MustExec(`ALTER USER testReuse PASSWORD HISTORY 65536`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(`65535 `))
+ rootTK.MustExec(`ALTER USER testReuse PASSWORD REUSE INTERVAL 5 DAY`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(`65535 5`))
+ rootTK.MustExec(`ALTER USER testReuse PASSWORD REUSE INTERVAL 0 DAY`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(`65535 0`))
+ rootTK.MustExec(`ALTER USER testReuse PASSWORD REUSE INTERVAL DEFAULT`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(`65535 `))
+ rootTK.MustExec(`ALTER USER testReuse PASSWORD REUSE INTERVAL 65536 DAY`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(`65535 65535`))
+ rootTK.MustExec(`ALTER USER testReuse PASSWORD HISTORY 6 PASSWORD REUSE INTERVAL 6 DAY`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(`6 6`))
+ rootTK.MustExec(`ALTER USER testReuse PASSWORD HISTORY 6 PASSWORD HISTORY 7 `)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(`7 6`))
+
+ rootTK.MustExec(`drop USER testReuse`)
+ rootTK.MustExec(`CREATE USER testReuse PASSWORD HISTORY 5`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(`5 `))
+ rootTK.MustExec(`drop USER testReuse`)
+ rootTK.MustExec(`CREATE USER testReuse PASSWORD REUSE INTERVAL 5 DAY`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(` 5`))
+ rootTK.MustExec(`drop USER testReuse`)
+ rootTK.MustExec(`CREATE USER testReuse PASSWORD REUSE INTERVAL 5 DAY PASSWORD REUSE INTERVAL 6 DAY`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(` 6`))
+ rootTK.MustExec(`drop USER testReuse`)
+ rootTK.MustExec(`CREATE USER testReuse PASSWORD HISTORY 5 PASSWORD REUSE INTERVAL 6 DAY`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(`5 6`))
+ rootTK.MustExec(`drop USER testReuse`)
+ rootTK.MustExec(`CREATE USER testReuse PASSWORD REUSE INTERVAL 6 DAY PASSWORD HISTORY 5`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(`5 6`))
+
+ rootTK.MustExec(`drop USER testReuse`)
+ rootTK.MustGetErrCode(`CREATE USER testReuse PASSWORD HISTORY -5`, 1064)
+ rootTK.MustGetErrCode(`CREATE USER testReuse PASSWORD REUSE INTERVAL -6 DAY`, 1064)
+ rootTK.MustExec(`CREATE USER testReuse PASSWORD HISTORY 65535 PASSWORD REUSE INTERVAL 65535 DAY`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(`65535 65535`))
+ rootTK.MustExec(`drop USER testReuse`)
+ rootTK.MustExec(`CREATE USER testReuse PASSWORD HISTORY 65536 PASSWORD REUSE INTERVAL 65536 DAY`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(`65535 65535`))
+ rootTK.MustExec(`drop USER testReuse`)
+ rootTK.MustExec(`CREATE USER testReuse PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(` `))
+ rootTK.MustExec(`drop USER testReuse`)
+ rootTK.MustExec(`CREATE USER testReuse PASSWORD HISTORY 0 PASSWORD REUSE INTERVAL 0 DAY`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(`0 0`))
+}
+
+func TestUserReuseFunction(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ rootTK := testkit.NewTestKit(t, store)
+ rootTK.MustExec(`CREATE USER testReuse identified by 'test'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`0`))
+ rootTK.MustExec(`set global password_history = 1;`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`1`))
+ rootTK.MustGetErrCode(`alter USER testReuse identified by 'test'`, 3638)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`1`))
+ rootTK.MustExec(`alter USER testReuse identified by 'test1'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`1`))
+ rootTK.MustExec(`DROP USER testReuse`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`0`))
+
+ rootTK.MustExec(`set global password_history = 0;`)
+ rootTK.MustExec(`set global password_reuse_interval = 1;`)
+ rootTK.MustExec(`CREATE USER testReuse identified by 'test'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`1`))
+ rootTK.MustGetErrCode(`alter USER testReuse identified by 'test'`, 3638)
+ rootTK.MustExec(`alter USER testReuse identified by 'test1'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`2`))
+ rootTK.MustExec(`alter USER testReuse identified by 'test2'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`3`))
+ rootTK.MustExec(`alter USER testReuse identified by 'test3'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`4`))
+ rootTK.MustExec(`update mysql.password_history set Password_timestamp = date_sub(Password_timestamp,interval '1 0:0:1' DAY_SECOND)`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`1`))
+ rootTK.MustExec(`drop USER testReuse `)
+
+ rootTK.MustExec(`set global password_reuse_interval = 0;`)
+ //password nil is not stored
+ rootTK.MustExec(`CREATE USER testReuse PASSWORD HISTORY 5 PASSWORD REUSE INTERVAL 6 DAY`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`0`))
+ rootTK.MustExec(`drop USER testReuse `)
+
+ rootTK.MustExec(`CREATE USER testReuse identified by 'test' PASSWORD HISTORY 5`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`1`))
+ rootTK.MustExec(`alter USER testReuse identified by 'test1'`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test2'`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test3'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`4`))
+ rootTK.MustGetErrCode(`alter USER testReuse identified by 'test'`, 3638)
+ rootTK.MustExec(`alter USER testReuse identified by 'test4'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`5`))
+ rootTK.MustExec(`alter USER testReuse identified by 'test5'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`5`))
+ rootTK.MustGetErrCode(`alter USER testReuse identified by 'test1'`, 3638)
+ rootTK.MustExec(`alter USER testReuse identified by 'test'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`5`))
+ rootTK.MustExec(`drop USER testReuse`)
+
+ rootTK.MustExec(`CREATE USER testReuse identified by 'test' PASSWORD HISTORY 5 PASSWORD REUSE INTERVAL 3 DAY`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`1`))
+ rootTK.MustExec(`alter USER testReuse identified by 'test1'`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test2'`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test3'`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test4'`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test5'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`6`))
+ rootTK.MustGetErrCode(`alter USER testReuse identified by 'test'`, 3638)
+ rootTK.MustExec(`update mysql.password_history set Password_timestamp = date_sub(Password_timestamp,interval '3 0:0:1' DAY_SECOND) where user = 'testReuse' order by Password_timestamp asc limit 1`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`6`))
+ rootTK.MustExec(`drop USER testReuse`)
+
+ rootTK.MustExec(`CREATE USER testReuse identified by 'test' PASSWORD HISTORY 5 PASSWORD REUSE INTERVAL 3 DAY`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`1`))
+ rootTK.MustExec(`alter USER testReuse identified by 'test1'`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test2'`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test3'`)
+ rootTK.MustExec(`update mysql.password_history set Password_timestamp = date_sub(Password_timestamp,interval '3 0:0:1' DAY_SECOND) where user = 'testReuse' order by Password_timestamp asc limit 1`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`4`))
+ rootTK.MustGetErrCode(`alter USER testReuse identified by 'test'`, 3638)
+ rootTK.MustExec(`ALTER USER testReuse PASSWORD HISTORY 3`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`4`))
+ rootTK.MustExec(`drop USER testReuse`)
+
+ rootTK.MustExec(`set global password_history = 1;`)
+ rootTK.MustExec(`set global password_reuse_interval = 1;`)
+ rootTK.MustExec(`CREATE USER testReuse identified by 'test' PASSWORD HISTORY 0 PASSWORD REUSE INTERVAL 0 DAY`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`0`))
+ rootTK.MustExec(`alter USER testReuse identified by 'test'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`0`))
+ rootTK.MustExec(`drop USER testReuse`)
+
+ rootTK.MustExec(`set global password_history = 0;`)
+ rootTK.MustExec(`set global password_reuse_interval = 360000000;`)
+ rootTK.MustExec(`CREATE USER testReuse identified by 'test'`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test1'`)
+ rootTK.MustGetErrCode(`alter USER testReuse identified by 'test'`, 3638)
+ rootTK.MustGetErrCode(`set PASSWORD FOR testReuse = 'test'`, 3638)
+ rootTK.MustExec(`alter USER testReuse identified by ''`)
+ rootTK.MustExec(`alter USER testReuse identified by ''`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`2`))
+ rootTK.MustExec(`alter USER testReuse identified by 'test2'`)
+ rootTK.MustExec(`set global password_reuse_interval = 4294967295;`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test3'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`4`))
+ rootTK.MustExec(`set PASSWORD FOR testReuse = 'test4'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`5`))
+ rootTK.MustExec(`drop USER testReuse`)
+
+ rootTK.MustExec(`set global password_reuse_interval = 0;`)
+ rootTK.MustExec(`CREATE USER testReuse identified by 'test' PASSWORD HISTORY 5`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test1'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`2`))
+ rootTK.MustExec(`alter USER testReuse identified by 'test1' PASSWORD HISTORY 0`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`0`))
+ rootTK.MustExec(`alter USER testReuse identified by 'test1' PASSWORD HISTORY 2 PASSWORD REUSE INTERVAL 1 DAY`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test2'`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test3'`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test1' PASSWORD HISTORY 2 PASSWORD REUSE INTERVAL 0 DAY`)
+
+ // Support password and default value modification at the same time.
+ rootTK.MustExec(`drop USER testReuse`)
+ rootTK.MustExec(`set global password_history = 1`)
+ rootTK.MustExec(`CREATE USER testReuse identified by 'test' PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`1`))
+ rootTK.MustGetErrCode(`ALTER USER testReuse identified by 'test' PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT`, 3638)
+ rootTK.MustExec(`ALTER USER testReuse identified by 'test1' PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`1`))
+}
+
+func TestUserReuseDifferentAuth(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ rootTK := testkit.NewTestKit(t, store)
+ // test caching_sha2_password.
+ rootTK.MustExec(`CREATE USER testReuse identified with 'caching_sha2_password' by 'test' PASSWORD HISTORY 1 `)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`1`))
+ rootTK.MustGetErrCode(`alter USER testReuse identified by 'test'`, 3638)
+ rootTK.MustGetErrCode(`set password for testReuse = 'test'`, 3638)
+ rootTK.MustExec(`alter USER testReuse identified by 'test1'`)
+ rootTK.MustExec(`alter USER testReuse identified with 'tidb_sm3_password'`)
+ // changing the auth method prunes history.
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`0`))
+
+ rootTK.MustExec(`drop USER testReuse`)
+ rootTK.MustExec(`CREATE USER testReuse identified with 'tidb_sm3_password' by 'test' PASSWORD HISTORY 1 `)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`1`))
+ rootTK.MustGetErrCode(`alter USER testReuse identified by 'test'`, 3638)
+ rootTK.MustGetErrCode(`set password for testReuse = 'test'`, 3638)
+ rootTK.MustExec(`alter USER testReuse identified by 'test1'`)
+ rootTK.MustExec(`alter USER testReuse identified with 'caching_sha2_password'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`0`))
+
+ rootTK.MustExec(`drop USER testReuse`)
+ rootTK.MustExec(`CREATE USER testReuse identified with 'caching_sha2_password' by 'test' PASSWORD REUSE INTERVAL 1 DAY`)
+ rootTK.MustGetErrCode(`alter USER testReuse identified by 'test'`, 3638)
+ rootTK.MustGetErrCode(`set password for testReuse = 'test'`, 3638)
+ rootTK.MustExec(`alter USER testReuse identified by 'test1'`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test2'`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test3'`)
+ rootTK.MustGetErrCode(`alter USER testReuse identified by 'test'`, 3638)
+ rootTK.MustExec(`update mysql.password_history set Password_timestamp = date_sub(Password_timestamp,interval '1 0:0:1' DAY_SECOND) where user = 'testReuse' order by Password_timestamp asc limit 1`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test'`)
+
+ rootTK.MustExec(`drop USER testReuse`)
+ rootTK.MustGetErrCode(`CREATE USER testReuse identified with 'mysql_clear_password' by 'test' PASSWORD REUSE INTERVAL 1 DAY`, 1524)
+ rootTK.MustGetErrCode(`CREATE USER testReuse identified with 'tidb_session_token' by 'test' PASSWORD REUSE INTERVAL 1 DAY`, 1524)
+ // no password.
+ rootTK.MustExec(`CREATE USER testReuse identified with 'auth_socket' by 'test' PASSWORD REUSE INTERVAL 1 DAY`)
+ rootTK.MustExec(`ALTER USER testReuse identified by 'test' `)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`0`))
+ rootTK.MustQuery(`SELECT authentication_string FROM mysql.user WHERE user = 'testReuse'`).Check(testkit.Rows(""))
+ rootTK.MustExec(`ALTER USER testReuse identified with 'caching_sha2_password' by 'test' `)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`1`))
+ // AuthTiDBAuthToken is the token login method on the cloud,
+ // and the Password Reuse Policy does not take effect.
+ rootTK.MustExec(`drop USER testReuse`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`0`))
+ rootTK.MustExec(`CREATE USER testReuse identified with 'tidb_auth_token' by 'test' PASSWORD REUSE INTERVAL 1 DAY`)
+ rootTK.MustExec(`ALTER USER testReuse identified by 'test' `)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`0`))
+ rootTK.MustExec(`set password for testReuse = 'test'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`0`))
+ rootTK.MustExec(`ALTER USER testReuse identified with 'caching_sha2_password' by 'test' `)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`1`))
+ rootTK.MustGetErrCode(`alter USER testReuse identified by 'test'`, 3638)
+ rootTK.MustGetErrCode(`set password for testReuse = 'test'`, 3638)
+ rootTK.MustExec(`drop USER testReuse`)
+}
+
+func TestUserReuseMultiuser(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ rootTK := testkit.NewTestKit(t, store)
+ //alter multi user success
+ rootTK.MustExec(`CREATE USER testReuse identified by 'test', testReuse1 identified by 'test', testReuse2 identified by 'test' PASSWORD HISTORY 65535 PASSWORD REUSE INTERVAL 65535 DAY`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user like 'testReuse%'`).Check(testkit.Rows(`65535 65535`, `65535 65535`, `65535 65535`))
+ rootTK.MustExec(`ALTER USER testReuse identified by 'test1', testReuse1 identified by 'test1', testReuse2 identified by 'test1' PASSWORD HISTORY 3 PASSWORD REUSE INTERVAL 3 DAY`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user like 'testReuse%'`).Check(testkit.Rows(`3 3`, `3 3`, `3 3`))
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user like 'testReuse%' group by user`).Check(testkit.Rows(`2`, `2`, `2`))
+ //alter multi user fail
+ rootTK.MustExec(`CREATE USER testReuse3 identified by 'test'`)
+ rootTK.MustQuery(`SELECT Password_reuse_history,Password_reuse_time FROM mysql.user WHERE user like 'testReuse%'`).Check(testkit.Rows(`3 3`, `3 3`, `3 3`, ` `))
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user like 'testReuse%' group by user`).Check(testkit.Rows(`2`, `2`, `2`))
+ rootTK.MustGetErrCode(`ALTER USER testReuse identified by 'test1', testReuse3 identified by 'test1'`, 3638)
+ //drop user
+ rootTK.MustExec(`drop User testReuse, testReuse1, testReuse2, testReuse3`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user like 'testReuse%' `).Check(testkit.Rows(`0`))
+}
+
+func TestUserReuseRename(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ rootTK := testkit.NewTestKit(t, store)
+ rootTK.MustExec(`CREATE USER testReuse identified by 'test' PASSWORD HISTORY 5`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`1`))
+ rootTK.MustExec(`alter USER testReuse identified by 'test1'`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test2'`)
+ rootTK.MustExec(`alter USER testReuse identified by 'test3'`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`4`))
+ rootTK.MustExec(`rename USER testReuse to testReuse1`)
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse'`).Check(testkit.Rows(`0`))
+ rootTK.MustQuery(`SELECT count(*) FROM mysql.password_history WHERE user = 'testReuse1'`).Check(testkit.Rows(`4`))
+}
+
+func TestUserAlterUser(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ rootTK := testkit.NewTestKit(t, store)
+ rootTK.MustExec(`CREATE USER test1 IDENTIFIED WITH 'mysql_native_password' BY '1234'`)
+ alterUserSQL := `ALTER USER 'test1' IDENTIFIED BY '222', 'test_not_exist'@'localhost' IDENTIFIED BY '111';`
+ rootTK.MustGetErrCode(alterUserSQL, mysql.ErrCannotUser)
+ result := rootTK.MustQuery(`SELECT authentication_string FROM mysql.User WHERE User="test1" and Host="%"`)
+ result.Check(testkit.Rows(auth.EncodePassword("1234")))
+ alterUserSQL = `ALTER USER IF EXISTS 'test1' IDENTIFIED BY '222', 'test_not_exist'@'localhost' IDENTIFIED BY '111';`
+ rootTK.MustExec(alterUserSQL)
+ rootTK.MustQuery("show warnings").Check(testkit.RowsWithSep("|", "Note|3162|User 'test_not_exist'@'localhost' does not exist."))
+ result = rootTK.MustQuery(`SELECT authentication_string FROM mysql.User WHERE User="test1" and Host="%"`)
+ result.Check(testkit.Rows(auth.EncodePassword("222")))
+}
+
+func sha1Password(s string) []byte {
+ crypt := sha1.New()
+ crypt.Write([]byte(s))
+ hashStage1 := crypt.Sum(nil)
+ crypt.Reset()
+ crypt.Write(hashStage1)
+ hashStage2 := crypt.Sum(nil)
+ crypt.Reset()
+ crypt.Write(hashStage2)
+ hashStage3 := crypt.Sum(nil)
+ for i := range hashStage3 {
+ hashStage3[i] ^= hashStage1[i]
+ }
+ return hashStage3
+}
+
+func TestFailedLoginTracking(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+
+ // Set FAILED_LOGIN_ATTEMPTS to 1, and check error messages after login failure once.
+ createAndCheck(tk, "CREATE USER 'testu1'@'localhost' IDENTIFIED BY 'testu1' FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME 1",
+ "{\"Password_locking\": {\"failed_login_attempts\": 1, \"password_lock_time_days\": 1}, \"resource_group\": \"default\"}", "testu1")
+ err := tk.Session().Auth(&auth.UserIdentity{Username: "testu1", Hostname: "localhost"}, sha1Password("password"), nil)
+ lds := strconv.FormatInt(1, 10)
+ errTarget := privileges.GenerateAccountAutoLockErr(1, "testu1", "localhost", lds, lds)
+ require.Equal(t, err.Error(), errTarget.Error())
+ checkAuthUser(t, tk, "testu1", 1, "Y")
+
+ // Check the login error message after the account is locked.
+ err = tk.Session().Auth(&auth.UserIdentity{Username: "testu1", Hostname: "localhost"}, sha1Password("password"), nil)
+ require.Equal(t, err.Error(), errTarget.Error())
+ checkAuthUser(t, tk, "testu1", 1, "Y")
+
+ // Set FAILED_LOGIN_ATTEMPTS to 1 and PASSWORD_LOCK_TIME to UNBOUNDED. Check error messages after failed login once.
+ createAndCheck(tk, "CREATE USER 'testu2'@'localhost' IDENTIFIED BY 'testu2' FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME UNBOUNDED",
+ "{\"Password_locking\": {\"failed_login_attempts\": 1, \"password_lock_time_days\": -1}, \"resource_group\": \"default\"}", "testu2")
+ err = tk.Session().Auth(&auth.UserIdentity{Username: "testu2", Hostname: "localhost"}, sha1Password("password"), nil)
+ errTarget = privileges.GenerateAccountAutoLockErr(1, "testu2", "localhost", "unlimited", "unlimited")
+ require.Equal(t, err.Error(), errTarget.Error())
+ checkAuthUser(t, tk, "testu2", 1, "Y")
+
+ // Check the login error message after the account is locked.
+ err = tk.Session().Auth(&auth.UserIdentity{Username: "testu2", Hostname: "localhost"}, sha1Password("password"), nil)
+ require.Equal(t, err.Error(), errTarget.Error())
+ checkAuthUser(t, tk, "testu2", 1, "Y")
+
+ // Set FAILED_LOGIN_ATTEMPTS to 0 or PASSWORD_LOCK_TIME to 0. Check error messages after failed login once.
+ createAndCheck(tk, "CREATE USER 'testu3'@'localhost' IDENTIFIED BY 'testu3' FAILED_LOGIN_ATTEMPTS 0 PASSWORD_LOCK_TIME UNBOUNDED",
+ "{\"Password_locking\": {\"failed_login_attempts\": 0, \"password_lock_time_days\": -1}, \"resource_group\": \"default\"}", "testu3")
+ err = tk.Session().Auth(&auth.UserIdentity{Username: "testu3", Hostname: "localhost"}, sha1Password("password"), nil)
+ require.ErrorContains(t, err, "Access denied for user 'testu3'@'localhost' (using password: YES)")
+ checkAuthUser(t, tk, "testu3", 0, "")
+ createAndCheck(tk, "CREATE USER 'testu4'@'localhost' IDENTIFIED BY 'testu4' FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME 0",
+ "{\"Password_locking\": {\"failed_login_attempts\": 1, \"password_lock_time_days\": 0}, \"resource_group\": \"default\"}", "testu4")
+ err = tk.Session().Auth(&auth.UserIdentity{Username: "testu4", Hostname: "localhost"}, sha1Password("password"), nil)
+ require.ErrorContains(t, err, "Access denied for user 'testu4'@'localhost' (using password: YES)")
+ checkAuthUser(t, tk, "testu4", 0, "")
+ tk.MustExec("CREATE USER 'testu5'@'localhost' IDENTIFIED BY 'testu5' FAILED_LOGIN_ATTEMPTS 0 PASSWORD_LOCK_TIME 0")
+ err = tk.Session().Auth(&auth.UserIdentity{Username: "testu5", Hostname: "localhost"}, sha1Password("password"), nil)
+ require.ErrorContains(t, err, "Access denied for user 'testu5'@'localhost' (using password: YES)")
+ tk.MustQuery("select user_attributes from mysql.user where user= 'testu5' and host = 'localhost'").Check(testkit.Rows("{\"resource_group\": \"default\"}"))
+
+ tk.MustExec("DROP USER 'testu1'@'localhost', 'testu2'@'localhost', 'testu3'@'localhost', 'testu4'@'localhost', 'testu5'@'localhost'")
+
+ // Create user specifying only comment.
+ tk.MustExec("CREATE USER 'testu1'@'localhost' IDENTIFIED BY 'testu1' comment 'testcomment' ")
+ tk.MustQuery("select user_attributes from mysql.user where user= 'testu1' and host = 'localhost'").
+ Check(testkit.Rows("{\"metadata\": {\"comment\": \"testcomment\"}, \"resource_group\": \"default\"}"))
+
+ // Create user specifying only attribute.
+ tk.MustExec("create user testu2@'localhost' identified by 'testu2' ATTRIBUTE '{\"attribute\":\"testattribute\"}'")
+ tk.MustQuery("select user_attributes from mysql.user where user= 'testu2' and host = 'localhost'").
+ Check(testkit.Rows("{\"metadata\": {\"attribute\": \"testattribute\"}, \"resource_group\": \"default\"}"))
+
+ // Create user specified comment and FAILED_LOGIN_ATTEMPTS and PASSWORD_LOCK_TIME.
+ tk.MustExec("create user testu3@'localhost' identified by 'testu3' FAILED_LOGIN_ATTEMPTS 1 " +
+ "PASSWORD_LOCK_TIME 1 comment 'testcomment'")
+ checkUserUserAttributes(tk, "testu3", "localhost", "1 1 {\"comment\": \"testcomment\"}")
+
+ // Create user specified attribute and FAILED_LOGIN_ATTEMPTS and PASSWORD_LOCK_TIME.
+ tk.MustExec("create user testu4@'localhost' identified by 'testu4' FAILED_LOGIN_ATTEMPTS 1 " +
+ "PASSWORD_LOCK_TIME 1 ATTRIBUTE '{\"attribute\":\"testattribute\"}'")
+ checkUserUserAttributes(tk, "testu4", "localhost", "1 1 {\"attribute\": \"testattribute\"}")
+
+ // Create user specified comment, FAILED_LOGIN_ATTEMPTS, and PASSWORD_LOCK_TIME,
+ // and confirm the user_attributes column value after login fails.
+ tk.MustExec("create user testu5@'localhost' identified by 'testu5' FAILED_LOGIN_ATTEMPTS 2 " +
+ "PASSWORD_LOCK_TIME 1 comment 'testcomment'")
+ checkUserUserAttributes(tk, "testu5", "localhost", "2 1 {\"comment\": \"testcomment\"}")
+
+ // Confirm the user_attributes value after login failure once.
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "testu5", Hostname: "localhost"},
+ sha1Password("password"), nil))
+ checkUserUserAttributes(tk, "testu5", "localhost", "2 \"N\" 1 1 {\"comment\": \"testcomment\"}")
+
+ // After the number of failed login attempts reaches FAILED_LOGIN_ATTEMPTS, check the account lock status.
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "testu5", Hostname: "localhost"},
+ sha1Password("password"), nil))
+ checkUserUserAttributes(tk, "testu5", "localhost", "2 \"Y\" 2 1 {\"comment\": \"testcomment\"}")
+ // After the account is locked, manually unlock the account and check the user_attributes value.
+ tk.MustExec("alter user testu5@'localhost' account unlock")
+ checkUserUserAttributes(tk, "testu5", "localhost", "2 \"N\" 0 1 {\"comment\": \"testcomment\"}")
+
+ // Create user specified comment, FAILED_LOGIN_ATTEMPTS, and PASSWORD_LOCK_TIME,
+ // and confirm the user_attributes column value after login fails.
+ tk.MustExec("create user testu6@'localhost' identified by '' FAILED_LOGIN_ATTEMPTS 2 PASSWORD_LOCK_TIME 1 " +
+ "comment 'testcomment'")
+ // Confirm the user_attributes value after login failure once.
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "testu6", Hostname: "localhost"},
+ sha1Password("password"), nil))
+ checkUserUserAttributes(tk, "testu6", "localhost", "2 \"N\" 1 1 {\"comment\": \"testcomment\"}")
+
+ // After the number of failed login attempts reaches FAILED_LOGIN_ATTEMPTS, check the account lock status.
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "testu6", Hostname: "localhost"},
+ sha1Password("password"), nil))
+ checkUserUserAttributes(tk, "testu6", "localhost", "2 \"Y\" 2 1 {\"comment\": \"testcomment\"}")
+
+ // After the account is automatically locked, change the lock time and check
+ // the user_attributes value after logging in successfully.
+ changeAutoLockedLastChanged(tk, "-72h1s", "testu6")
+ sk1 := testkit.NewTestKit(t, store)
+ require.NoError(t, sk1.Session().Auth(&auth.UserIdentity{Username: "testu6", Hostname: "localhost"}, nil, nil))
+ checkUserUserAttributes(tk, "testu6", "localhost", "3 \"N\" 0 3 {\"comment\": \"testcomment\"}")
+
+ // Create user specified attributes, FAILED_LOGIN_ATTEMPTS, and PASSWORD_LOCK_TIME,
+ // and confirm the user_attributes column value after login fails.
+ tk.MustExec("create user testu7@'localhost' identified by 'testu7' FAILED_LOGIN_ATTEMPTS 2 PASSWORD_LOCK_TIME 1 " +
+ "ATTRIBUTE '{\"attribute\":\"testattribute\"}'")
+ checkUserUserAttributes(tk, "testu7", "localhost", "2 1 {\"attribute\": \"testattribute\"}")
+
+ // Confirm the user_attributes value after login failure once.
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "testu7", Hostname: "localhost"},
+ sha1Password("password"), nil))
+ checkUserUserAttributes(tk, "testu7", "localhost", "2 \"N\" 1 1 {\"attribute\": \"testattribute\"}")
+
+ // After the number of failed login attempts reaches FAILED_LOGIN_ATTEMPTS, check the account lock status.
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "testu7", Hostname: "localhost"},
+ sha1Password("password"), nil))
+ checkUserUserAttributes(tk, "testu7", "localhost", "2 \"Y\" 2 1 {\"attribute\": \"testattribute\"}")
+
+ // After the account is locked, manually unlock the account and check the user_attributes value.
+ tk.MustExec("alter user testu7@'localhost' account unlock")
+ checkUserUserAttributes(tk, "testu7", "localhost", "2 \"N\" 0 1 {\"attribute\": \"testattribute\"}")
+
+ tk.MustExec("create user testu8@'localhost' identified by '' FAILED_LOGIN_ATTEMPTS 2 PASSWORD_LOCK_TIME 1" +
+ " ATTRIBUTE '{\"attribute\":\"testattribute\"}'")
+ // Confirm the user_attributes value after login failure once.
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "testu8", Hostname: "localhost"},
+ sha1Password("password"), nil))
+ checkUserUserAttributes(tk, "testu8", "localhost", "2 \"N\" 1 1 {\"attribute\": \"testattribute\"}")
+
+ // After the number of failed login attempts reaches FAILED_LOGIN_ATTEMPTS, check the account lock status.
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "testu8", Hostname: "localhost"},
+ sha1Password("password"), nil))
+ checkUserUserAttributes(tk, "testu8", "localhost", "2 \"Y\" 2 1 {\"attribute\": \"testattribute\"}")
+
+ // After the account is automatically locked, change the lock time and check
+ // the user_attributes value after logging in successfully.
+ changeAutoLockedLastChanged(tk, "-72h1s", "testu8")
+ sk2 := testkit.NewTestKit(t, store)
+ require.NoError(t, sk2.Session().Auth(&auth.UserIdentity{Username: "testu8", Hostname: "localhost"}, nil, nil))
+ checkUserUserAttributes(tk, "testu8", "localhost", "3 \"N\" 0 3 {\"attribute\": \"testattribute\"}")
+
+ // FAILED_LOGIN_ATTEMPTS is set to 2 . check user_attributes value after
+ // the user login fails once ,and login success at second time.
+ tk.MustExec("create user testu9@'localhost' identified by '' FAILED_LOGIN_ATTEMPTS 2 PASSWORD_LOCK_TIME 1" +
+ " comment 'testcomment'")
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "testu9", Hostname: "localhost"},
+ sha1Password("password"), nil))
+ checkUserUserAttributes(tk, "testu9", "localhost", "2 \"N\" 1 1 {\"comment\": \"testcomment\"}")
+ sk3 := testkit.NewTestKit(t, store)
+ require.NoError(t, sk3.Session().Auth(&auth.UserIdentity{Username: "testu9", Hostname: "localhost"},
+ nil, nil))
+ checkUserUserAttributes(tk, "testu9", "localhost", "2 \"N\" 0 1 {\"comment\": \"testcomment\"}")
+
+ // FAILED_LOGIN_ATTEMPTS or PASSWORD_LOCK_TIME is set to 0. Check user_attributes value after login fail.
+ tk.MustExec("create user testu10@'localhost' identified by '' FAILED_LOGIN_ATTEMPTS 2 PASSWORD_LOCK_TIME 0 " +
+ "comment 'testcomment'")
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "testu10", Hostname: "localhost"},
+ sha1Password("password"), nil))
+ checkUserUserAttributes(tk, "testu10", "localhost", "2 0 {\"comment\": \"testcomment\"}")
+
+ tk.MustExec("create user testu11@'localhost' identified by '' FAILED_LOGIN_ATTEMPTS 0 PASSWORD_LOCK_TIME 2 " +
+ "comment 'testcomment'")
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "testu11", Hostname: "localhost"},
+ sha1Password("password"), nil))
+ checkUserUserAttributes(tk, "testu11", "localhost", "0 2 {\"comment\": \"testcomment\"}")
+
+ // The account is automatically locked after the user specifies FAILED_LOGIN_ATTEMPTS and PASSWORD_LOCK_TIME.
+ // Change FAILED_LOGIN_ATTEMPTS or PASSWORD_LOCK_TIME to 0, and check whether the user can login.
+ tk.MustExec("create user testu12@'localhost' identified by '' FAILED_LOGIN_ATTEMPTS 2 PASSWORD_LOCK_TIME 1 " +
+ "comment 'testcomment'")
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "testu12", Hostname: "localhost"},
+ sha1Password("password"), nil))
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "testu12", Hostname: "localhost"},
+ sha1Password("password"), nil))
+ checkUserUserAttributes(tk, "testu12", "localhost", "2 \"Y\" 2 1 {\"comment\": \"testcomment\"}")
+ tk.MustExec("alter user testu12@'localhost' FAILED_LOGIN_ATTEMPTS 0")
+ checkUserUserAttributes(tk, "testu12", "localhost", "0 \"Y\" 2 1 {\"comment\": \"testcomment\"}")
+ sk4 := testkit.NewTestKit(t, store)
+ require.NoError(t, sk4.Session().Auth(&auth.UserIdentity{Username: "testu12", Hostname: "localhost"},
+ nil, nil))
+
+ rootk := testkit.NewTestKit(t, store)
+ createAndCheck(tk, "CREATE USER 'u6'@'localhost' IDENTIFIED BY '' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 3",
+ "{\"Password_locking\": {\"failed_login_attempts\": 3, \"password_lock_time_days\": 3}, \"resource_group\": \"default\"}", "u6")
+ createAndCheck(tk, "CREATE USER 'u5'@'localhost' IDENTIFIED BY '' FAILED_LOGIN_ATTEMPTS 60 PASSWORD_LOCK_TIME 3",
+ "{\"Password_locking\": {\"failed_login_attempts\": 60, \"password_lock_time_days\": 3}, \"resource_group\": \"default\"}", "u5")
+
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "u6", Hostname: "localhost"}, sha1Password("password"), nil))
+ checkAuthUser(t, rootk, "u6", 1, "N")
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "u6", Hostname: "localhost"}, nil, nil))
+ checkAuthUser(t, rootk, "u6", 0, "N")
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "localhost"}, nil, nil))
+
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "u6", Hostname: "localhost"}, sha1Password("password"), nil))
+ checkAuthUser(t, rootk, "u6", 1, "N")
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "u6", Hostname: "localhost"}, sha1Password("password"), nil))
+ checkAuthUser(t, rootk, "u6", 2, "N")
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "u6", Hostname: "localhost"}, sha1Password("password"), nil))
+ checkAuthUser(t, rootk, "u6", 3, "Y")
+
+ changeAutoLockedLastChanged(rootk, "-72h1s", "u6")
+ loadUser(t, tk, 1, rootk)
+ checkAuthUser(t, rootk, "u6", 3, "Y")
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "u6", Hostname: "localhost"}, nil, nil))
+ checkAuthUser(t, rootk, "u6", 0, "N")
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "localhost"}, nil, nil))
+
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "u6", Hostname: "localhost"}, sha1Password("password"), nil))
+ checkAuthUser(t, rootk, "u6", 1, "N")
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "u6", Hostname: "localhost"}, sha1Password("password"), nil))
+ checkAuthUser(t, rootk, "u6", 2, "N")
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "u6", Hostname: "localhost"}, sha1Password("password"), nil))
+ checkAuthUser(t, rootk, "u6", 3, "Y")
+ alterAndCheck(t, rootk, "ALTER USER 'u6'@'localhost' ACCOUNT UNLOCK;", "u6", 3, 3, 0)
+ loadUser(t, tk, 2, rootk)
+ checkAuthUser(t, rootk, "u6", 0, "N")
+
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "u6", Hostname: "localhost"}, sha1Password("password"), nil))
+ checkAuthUser(t, rootk, "u6", 1, "N")
+ alterAndCheck(t, rootk, "ALTER USER 'u6'@'localhost' ACCOUNT UNLOCK;", "u6", 3, 3, 0)
+ checkAuthUser(t, rootk, "u6", 0, "N")
+
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "u6", Hostname: "localhost"}, sha1Password("password"), nil))
+ checkAuthUser(t, rootk, "u6", 1, "N")
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "u6", Hostname: "localhost"}, sha1Password("password"), nil))
+ checkAuthUser(t, rootk, "u6", 2, "N")
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "u6", Hostname: "localhost"}, sha1Password("password"), nil))
+ checkAuthUser(t, rootk, "u6", 3, "Y")
+ changeAutoLockedLastChanged(rootk, "-72h1s", "u6")
+ loadUser(t, tk, 3, rootk)
+ checkAuthUser(t, rootk, "u6", 3, "Y")
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "u6", Hostname: "localhost"}, sha1Password("password"), nil))
+ checkAuthUser(t, rootk, "u6", 1, "N")
+
+ createAndCheck(rootk, "CREATE USER 'u1'@'localhost' IDENTIFIED BY '' FAILED_LOGIN_ATTEMPTS 3",
+ "{\"Password_locking\": {\"failed_login_attempts\": 3, \"password_lock_time_days\": 0}, \"resource_group\": \"default\"}", "u1")
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "u6", Hostname: "localhost"}, sha1Password("password"), nil))
+ checkAuthUser(t, rootk, "u1", 0, "")
+ alterAndCheck(t, rootk, "ALTER USER 'u1'@'localhost' PASSWORD_LOCK_TIME 6;", "u1", 3, 6, 0)
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "u1", Hostname: "localhost"}, sha1Password("password"), nil))
+ checkAuthUser(t, rootk, "u1", 1, "N")
+}
+
+func TestFailedLoginTrackingAlterUser(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+
+ // Create user specifying only comment.
+ tk.MustExec("CREATE USER 'testu1'@'localhost' IDENTIFIED BY 'testu1' comment 'testcomment' ")
+ tk.MustQuery("select user_attributes from mysql.user where user= 'testu1' and host = 'localhost'").
+ Check(testkit.Rows("{\"metadata\": {\"comment\": \"testcomment\"}, \"resource_group\": \"default\"}"))
+ tk.MustExec("Alter USER 'testu1'@'localhost' comment ''")
+ tk.MustQuery("select user_attributes from mysql.user where user= 'testu1' and host = 'localhost'").
+ Check(testkit.Rows("{\"metadata\": {\"comment\": \"\"}, \"resource_group\": \"default\"}"))
+
+ // Create user specifying only attribute.
+ tk.MustExec("CREATE USER 'testu2'@'localhost' IDENTIFIED BY 'testu2' ATTRIBUTE '{\"attribute\":\"testattribute\"}'")
+ tk.MustQuery("select user_attributes from mysql.user where user= 'testu2' and host = 'localhost'").
+ Check(testkit.Rows("{\"metadata\": {\"attribute\": \"testattribute\"}, \"resource_group\": \"default\"}"))
+ tk.MustExec("Alter USER 'testu2'@'localhost' ATTRIBUTE '{\"attribute\":\"test\"}'")
+ tk.MustQuery("select user_attributes from mysql.user where user= 'testu2' and host = 'localhost'").
+ Check(testkit.Rows("{\"metadata\": {\"attribute\": \"test\"}, \"resource_group\": \"default\"}"))
+
+ // Create a user and specify FAILED_LOGIN_ATTEMPTS, PASSWORD_LOCK_TIME, and COMMENT.
+ // Check the user_attributes value after alter user.
+ tk.MustExec("CREATE USER 'testu3'@'localhost' IDENTIFIED BY 'testu3' FAILED_LOGIN_ATTEMPTS 1 " +
+ "PASSWORD_LOCK_TIME 1 comment 'testcomment'")
+ checkUserUserAttributes(tk, "testu3", "localhost", "1 1 {\"comment\": \"testcomment\"}")
+ tk.MustExec("alter user 'testu3'@'localhost' FAILED_LOGIN_ATTEMPTS 0")
+ checkUserUserAttributes(tk, "testu3", "localhost", "0 1 {\"comment\": \"testcomment\"}")
+ tk.MustExec("alter user 'testu3'@'localhost' PASSWORD_LOCK_TIME 0")
+ tk.MustQuery("select JSON_EXTRACT(user_attributes, '$.Password_locking')," +
+ "JSON_EXTRACT(user_attributes, '$.metadata')from mysql.user where user= 'testu3' and host = 'localhost'").
+ Check(testkit.Rows(" {\"comment\": \"testcomment\"}"))
+
+ // Create a user and specify FAILED_LOGIN_ATTEMPTS, PASSWORD_LOCK_TIME, and ATTRIBUTE.
+ // Check the user_attributes value after alter user.
+ tk.MustExec("CREATE USER 'testu4'@'localhost' IDENTIFIED BY 'testu4' FAILED_LOGIN_ATTEMPTS 1 " +
+ "PASSWORD_LOCK_TIME 1 ATTRIBUTE '{\"attribute\":\"testattribute\"}'")
+ checkUserUserAttributes(tk, "testu4", "localhost", "1 1 {\"attribute\": \"testattribute\"}")
+ tk.MustExec("alter user 'testu4'@'localhost' FAILED_LOGIN_ATTEMPTS 0")
+ checkUserUserAttributes(tk, "testu4", "localhost", "0 1 {\"attribute\": \"testattribute\"}")
+ tk.MustExec("alter user 'testu4'@'localhost' PASSWORD_LOCK_TIME 0")
+ tk.MustQuery("select JSON_EXTRACT(user_attributes, '$.Password_locking')," +
+ "JSON_EXTRACT(user_attributes, '$.metadata')from mysql.user where user= 'testu4' and host = 'localhost'").
+ Check(testkit.Rows(" {\"attribute\": \"testattribute\"}"))
+
+ // Create a user and specify FAILED_LOGIN_ATTEMPTS, PASSWORD_LOCK_TIME, and ATTRIBUTE.
+ // Check the user_attributes value after alter user.
+ tk.MustExec("CREATE USER 'testu5'@'localhost' IDENTIFIED BY 'testu5' FAILED_LOGIN_ATTEMPTS 1 " +
+ "PASSWORD_LOCK_TIME 1 ATTRIBUTE '{\"attribute\":\"testattribute\"}'")
+ checkUserUserAttributes(tk, "testu5", "localhost", "1 1 {\"attribute\": \"testattribute\"}")
+ tk.MustExec("alter user 'testu5'@'localhost' FAILED_LOGIN_ATTEMPTS 0 PASSWORD_LOCK_TIME 0 ATTRIBUTE '{\"attribute\":\"test\"}'")
+ tk.MustQuery("select JSON_EXTRACT(user_attributes, '$.Password_locking')," +
+ "JSON_EXTRACT(user_attributes, '$.metadata')from mysql.user where user= 'testu5' and host = 'localhost'").
+ Check(testkit.Rows(" {\"attribute\": \"test\"}"))
+
+ // Create a user to specify a comment, modify the user to add an ATTRIBUTE,
+ // modify the user to delete a comment, and check the user_attributes value.
+ tk.MustExec("CREATE USER 'testu6'@'localhost' IDENTIFIED BY 'testu6' FAILED_LOGIN_ATTEMPTS 1 " +
+ "PASSWORD_LOCK_TIME 1 comment 'testcomment'")
+ checkUserUserAttributes(tk, "testu6", "localhost", "1 1 {\"comment\": \"testcomment\"}")
+ tk.MustExec("alter user 'testu6'@'localhost' ATTRIBUTE '{\"attribute\": \"testattribute\"}'")
+ checkUserUserAttributes(tk, "testu6", "localhost", "1 1 {\"attribute\": \"testattribute\", \"comment\": \"testcomment\"}")
+ tk.MustExec("alter user 'testu6'@'localhost' ATTRIBUTE '{\"comment\": null}'")
+ checkUserUserAttributes(tk, "testu6", "localhost", "1 1 {\"attribute\": \"testattribute\"}")
+
+ // After consecutive login failures and the account is locked,
+ // change the values of FAILED_LOGIN_ATTEMPTS and PASSWORD_LOCK_TIME to 0 and check the user_attributes value
+ tk.MustExec("CREATE USER 'testu7'@'localhost' IDENTIFIED BY 'testu7' FAILED_LOGIN_ATTEMPTS 1 " +
+ "PASSWORD_LOCK_TIME 1 comment 'testcomment'")
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "testu7", Hostname: "localhost"},
+ sha1Password("password"), nil))
+ checkUserUserAttributes(tk, "testu7", "localhost", "1 \"Y\" 1 1 {\"comment\": \"testcomment\"}")
+ tk.MustExec("alter user 'testu7'@'localhost' FAILED_LOGIN_ATTEMPTS 0 PASSWORD_LOCK_TIME 0")
+ tk.MustQuery("select JSON_EXTRACT(user_attributes, '$.Password_locking'),JSON_EXTRACT(user_attributes,'$.metadata') " +
+ "from mysql.user where user='testu7' and host ='localhost'").Check(testkit.Rows(" {\"comment\": \"testcomment\"}"))
+
+ // Create a user and specify FAILED_LOGIN_ATTEMPTS, PASSWORD_LOCK_TIME.
+ // Check the user_attributes value after alter user.
+ tk.MustExec("CREATE USER 'testu8'@'localhost' IDENTIFIED BY 'testu5' FAILED_LOGIN_ATTEMPTS 1 " +
+ "PASSWORD_LOCK_TIME 1")
+ checkUserUserAttributes(tk, "testu8", "localhost", "1 1 ")
+ tk.MustExec("alter user 'testu8'@'localhost' FAILED_LOGIN_ATTEMPTS 0 PASSWORD_LOCK_TIME 0")
+ tk.MustQuery("select user_attributes from mysql.user where user= 'testu8' and host = 'localhost'").
+ Check(testkit.Rows("{\"resource_group\": \"default\"}"))
+
+ // Specify only FAILED_LOGIN_ATTEMPTS one attribute when creating user.
+ // Change the value to 0 and check the user_attributes value.
+ tk.MustExec("CREATE USER 'testu9'@'localhost' IDENTIFIED BY 'testu9' FAILED_LOGIN_ATTEMPTS 1 ")
+ tk.MustQuery("select JSON_EXTRACT(user_attributes, '$.Password_locking.failed_login_attempts') " +
+ "from mysql.user where user='testu9' and host ='localhost'").Check(testkit.Rows("1"))
+ tk.MustExec("ALTER USER 'testu9'@'localhost' FAILED_LOGIN_ATTEMPTS 0")
+ tk.MustQuery("select user_attributes from mysql.user where user='testu9' and host ='localhost'").Check(testkit.Rows("{\"resource_group\": \"default\"}"))
+
+ // Specify only PASSWORD_LOCK_TIME one attribute when creating user.
+ // Change the value to 0 and check the user_attributes value.
+ tk.MustExec("CREATE USER 'testu10'@'localhost' IDENTIFIED BY 'testu10' PASSWORD_LOCK_TIME 1 ")
+ tk.MustQuery("select JSON_EXTRACT(user_attributes, '$.Password_locking.password_lock_time_days') " +
+ "from mysql.user where user='testu10' and host ='localhost'").Check(testkit.Rows("1"))
+ tk.MustExec("ALTER USER 'testu10'@'localhost' PASSWORD_LOCK_TIME 0")
+ tk.MustQuery("select user_attributes from mysql.user where user='testu10' and host ='localhost'").Check(testkit.Rows("{\"resource_group\": \"default\"}"))
+
+ // Specify FAILED_LOGIN_ATTEMPTS and PASSWORD_LOCK_TIME attributes when creating user ,
+ // change the values of the two attributes to 0, and check the value of user_attributes.
+ tk.MustExec("CREATE USER 'testu11'@'localhost' IDENTIFIED BY 'testu11' FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME 1 ")
+ tk.MustQuery("select JSON_EXTRACT(user_attributes, '$.Password_locking.failed_login_attempts')," +
+ "JSON_EXTRACT(user_attributes, '$.Password_locking.password_lock_time_days') " +
+ "from mysql.user where user='testu11' and host ='localhost'").Check(testkit.Rows("1 1"))
+ tk.MustExec("ALTER USER 'testu11'@'localhost' PASSWORD_LOCK_TIME 0")
+ tk.MustQuery("select JSON_EXTRACT(user_attributes, '$.Password_locking.failed_login_attempts')," +
+ "JSON_EXTRACT(user_attributes, '$.Password_locking.password_lock_time_days') " +
+ "from mysql.user where user='testu11' and host ='localhost'").Check(testkit.Rows("1 0"))
+ tk.MustExec("ALTER USER 'testu11'@'localhost' FAILED_LOGIN_ATTEMPTS 0")
+ tk.MustQuery("select user_attributes " +
+ "from mysql.user where user='testu11' and host ='localhost'").Check(testkit.Rows("{\"resource_group\": \"default\"}"))
+
+ rootTK := testkit.NewTestKit(t, store)
+ sql := new(strings.Builder)
+ checkUserAttributes := "select JSON_EXTRACT(user_attributes, '$.Password_locking.failed_login_attempts')," +
+ "JSON_EXTRACT(user_attributes, '$.Password_locking.auto_account_locked')," +
+ "JSON_EXTRACT(user_attributes, '$.Password_locking.failed_login_count')," +
+ "JSON_EXTRACT(user_attributes, '$.Password_locking.password_lock_time_days')," +
+ "JSON_EXTRACT(user_attributes, '$.metadata')from mysql.user where user= %? and host = %?"
+ err := domain.GetDomain(rootTK.Session()).NotifyUpdatePrivilege()
+ require.NoError(t, err)
+ rootTK.MustExec(`CREATE USER test1 IDENTIFIED BY '1234' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 3 COMMENT 'test'`)
+ err = tk.Session().Auth(&auth.UserIdentity{Username: "test1", Hostname: "%"}, sha1Password("1234"), nil)
+ require.NoError(t, err)
+ sqlexec.MustFormatSQL(sql, checkUserAttributes, "test1", "%")
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(`3 3 {"comment": "test"}`))
+ tk = testkit.NewTestKit(t, store)
+ err = tk.Session().Auth(&auth.UserIdentity{Username: "test1", Hostname: "%"}, sha1Password(""), nil)
+ require.Error(t, err)
+
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(`3 "N" 1 3 {"comment": "test"}`))
+ rootTK.MustExec(`Alter user test1 FAILED_LOGIN_ATTEMPTS 4 `)
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(`4 "N" 1 3 {"comment": "test"}`))
+ rootTK.MustExec(`Alter user test1 PASSWORD_LOCK_TIME 4 `)
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(`4 "N" 1 4 {"comment": "test"}`))
+ rootTK.MustExec(`Alter user test1 COMMENT 'test1' `)
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(`4 "N" 1 4 {"comment": "test1"}`))
+ rootTK.MustExec(`Alter user test1 FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 3 COMMENT 'test'`)
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(`3 "N" 1 3 {"comment": "test"}`))
+
+ err = tk.Session().Auth(&auth.UserIdentity{Username: "test1", Hostname: "%"}, sha1Password(""), nil)
+ require.Error(t, err)
+ err = tk.Session().Auth(&auth.UserIdentity{Username: "test1", Hostname: "%"}, sha1Password(""), nil)
+ require.Error(t, err)
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(`3 "Y" 3 3 {"comment": "test"}`))
+ rootTK.MustExec(`Alter user test1 FAILED_LOGIN_ATTEMPTS 4 `)
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(`4 "Y" 3 3 {"comment": "test"}`))
+ rootTK.MustExec(`Alter user test1 PASSWORD_LOCK_TIME 4 `)
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(`4 "Y" 3 4 {"comment": "test"}`))
+ rootTK.MustExec(`Alter user test1 COMMENT 'test2' `)
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(`4 "Y" 3 4 {"comment": "test2"}`))
+ rootTK.MustExec(`Alter user test1 account unlock `)
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(`4 "N" 0 4 {"comment": "test2"}`))
+
+ rootTK.MustExec(`Alter user test1 FAILED_LOGIN_ATTEMPTS 0 `)
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(`0 "N" 0 4 {"comment": "test2"}`))
+ rootTK.MustExec(`Alter user test1 PASSWORD_LOCK_TIME 0 `)
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(` {"comment": "test2"}`))
+
+ rootTK.MustExec(`Alter user test1 account unlock `)
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(` {"comment": "test2"}`))
+ rootTK.MustExec(`Alter user test1 FAILED_LOGIN_ATTEMPTS 4 `)
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(`4 0 {"comment": "test2"}`))
+ rootTK.MustExec(`Alter user test1 account unlock `)
+ rootTK.MustQuery(sql.String()).Check(testkit.Rows(`4 "N" 0 0 {"comment": "test2"}`))
+}
+
+func TestFailedLoginTrackingCheckPrivilges(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ createAndCheck(tk, "CREATE USER 'testu1'@'localhost' IDENTIFIED BY '' FAILED_LOGIN_ATTEMPTS 1 PASSWORD_LOCK_TIME 1",
+ "{\"Password_locking\": {\"failed_login_attempts\": 1, \"password_lock_time_days\": 1}, \"resource_group\": \"default\"}", "testu1")
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "testu1", Hostname: "localhost"}, nil, nil))
+ // Specify FAILED_LOGIN_ATTEMPTS and PASSWORD_LOCK_TIME attributes when creating user ,
+ // Check user privileges after successful login.
+ tk.MustQuery(`show grants`).Check(testkit.Rows("GRANT USAGE ON *.* TO 'testu1'@'localhost'"))
+ tk.MustQuery(`select user()`).Check(testkit.Rows("testu1@localhost"))
+}
+
+func TestUserPassword(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec(`set global validate_password.enable = ON`)
+
+ testcases := []struct {
+ errSQL string
+ sucSQL string
+ user string
+ host string
+ rsJSON string
+ simplePassword string
+ strongPassword string
+ }{
+ {
+ "CREATE USER 'u1'@'localhost' IDENTIFIED BY 'qwe123' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 4;",
+ "CREATE USER 'u1'@'localhost' IDENTIFIED BY '!@#HASHhs123' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 4;",
+ "u1",
+ "localhost",
+ "{\"Password_locking\": {\"failed_login_attempts\": 3, \"password_lock_time_days\": 4}, \"resource_group\": \"default\"}",
+ "qwe123",
+ "!@#HASHhs123",
+ },
+ {
+ `CREATE USER 'u2'@'localhost' IDENTIFIED BY 'qwe123' FAILED_LOGIN_ATTEMPTS 4 PASSWORD_LOCK_TIME 3 COMMENT 'Some statements to test create user'`,
+ `CREATE USER 'u2'@'localhost' IDENTIFIED BY '!@#HASHhs123' FAILED_LOGIN_ATTEMPTS 4 PASSWORD_LOCK_TIME 3 COMMENT 'Some statements to test create user'`,
+ "u2",
+ "localhost",
+ "{\"Password_locking\": {\"failed_login_attempts\": 4, \"password_lock_time_days\": 3}, \"metadata\": {\"comment\": \"Some statements to test create user\"}, \"resource_group\": \"default\"}",
+ "qwe123",
+ "!@#HASHhs123",
+ },
+ }
+ for _, tc := range testcases {
+ tk := testkit.NewTestKit(t, store)
+ rootk := testkit.NewTestKit(t, store)
+ createAndCheckToErr(t, rootk, tc.errSQL, tc.user)
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: tc.user, Hostname: tc.host}, sha1Password(tc.simplePassword), nil))
+ createAndCheck(rootk, tc.sucSQL, tc.rsJSON, tc.user)
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: tc.user, Hostname: tc.host}, sha1Password(tc.strongPassword), nil))
+ }
+}
+
+func TestPasswordExpiredAndTacking(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ user := "u3"
+ host := "localhost"
+ tk.MustExec(`set global validate_password.enable = ON`)
+ tk = testkit.NewTestKit(t, store)
+ createAndCheckToErr(t, tk, `CREATE USER 'u3'@'localhost' IDENTIFIED BY 'qwe123' PASSWORD EXPIRE INTERVAL 3 DAY FAILED_LOGIN_ATTEMPTS 4 PASSWORD_LOCK_TIME 3 COMMENT 'Some statements to test create user'`, user)
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: user, Hostname: host}, sha1Password("qwe123"), nil))
+ tk = testkit.NewTestKit(t, store)
+ createAndCheck(tk, `CREATE USER 'u3'@'localhost' IDENTIFIED BY '!@#HASHhs123' PASSWORD EXPIRE INTERVAL 3 DAY FAILED_LOGIN_ATTEMPTS 4 PASSWORD_LOCK_TIME 3 COMMENT 'Some statements to test create user'`,
+ "{\"Password_locking\": {\"failed_login_attempts\": 4, \"password_lock_time_days\": 3}, \"metadata\": {\"comment\": \"Some statements to test create user\"}, \"resource_group\": \"default\"}", user)
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: user, Hostname: host}, sha1Password("!@#HASHhs123"), nil))
+
+ tk = testkit.NewTestKit(t, store)
+ tk.MustExec(fmt.Sprintf("ALTER USER '%s'@'%s' PASSWORD EXPIRE NEVER", user, host))
+ tk = testkit.NewTestKit(t, store)
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: user, Hostname: host}, sha1Password("!@#HASHhs123"), nil))
+
+ loginFailedAncCheck(t, store, user, host, "password", 1, "N")
+ loginSucAncCheck(t, store, user, host, "!@#HASHhs123", 0, "N")
+ loginFailedAncCheck(t, store, user, host, "password", 1, "N")
+ loginFailedAncCheck(t, store, user, host, "password", 2, "N")
+ loginFailedAncCheck(t, store, user, host, "password", 3, "N")
+ loginFailedAncCheck(t, store, user, host, "password", 4, "Y")
+
+ tk = testkit.NewTestKit(t, store)
+ tk.MustExec(fmt.Sprintf("ALTER USER '%s'@'%s' PASSWORD EXPIRE", user, host))
+ tk = testkit.NewTestKit(t, store)
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: user, Hostname: host}, sha1Password("!@#HASHhs123"), nil))
+}
+
+func loginFailedAncCheck(t *testing.T, store kv.Storage, user, host, password string, failedLoginCount int64, autoAccountLocked string) {
+ tk := testkit.NewTestKit(t, store)
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: user, Hostname: host}, sha1Password(password), nil))
+ checkAuthUser(t, tk, user, failedLoginCount, autoAccountLocked)
+}
+
+func loginSucAncCheck(t *testing.T, store kv.Storage, user, host, password string, failedLoginCount int64, autoAccountLocked string) {
+ tk := testkit.NewTestKit(t, store)
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: user, Hostname: host}, sha1Password(password), nil))
+ tk = testkit.NewTestKit(t, store)
+ checkAuthUser(t, tk, user, failedLoginCount, autoAccountLocked)
+}
+
+func loadUser(t *testing.T, tk *testkit.TestKit, useCount int64, rootk *testkit.TestKit) {
+ require.Error(t, tk.Session().Auth(&auth.UserIdentity{Username: "u5", Hostname: "localhost"}, sha1Password("password"), nil))
+ checkAuthUser(t, rootk, "u5", useCount, "N")
+}
+
+func changeAutoLockedLastChanged(tk *testkit.TestKit, ds, user string) {
+ SQL := "UPDATE `mysql`.`User` SET user_attributes=json_merge_patch(user_attributes, '{\"Password_locking\": {\"failed_login_attempts\": 3," +
+ "\"password_lock_time_days\": 3,\"auto_account_locked\": \"Y\",\"failed_login_count\": 3,\"auto_locked_last_changed\": \"%s\"}}') " +
+ "WHERE Host='localhost' and User='%s'"
+ d, _ := time.ParseDuration(ds)
+ changeTime := time.Now().Add(d).Format(time.UnixDate)
+ SQL = fmt.Sprintf(SQL, changeTime, user)
+ tk.MustExec(SQL)
+ domain.GetDomain(tk.Session()).NotifyUpdatePrivilege()
+}
+
+func checkUserUserAttributes(tk *testkit.TestKit, user, host, row string) {
+ sqlTemplate := "select JSON_EXTRACT(user_attributes, '$.Password_locking.failed_login_attempts')," +
+ "JSON_EXTRACT(user_attributes, '$.Password_locking.auto_account_locked')," +
+ "JSON_EXTRACT(user_attributes, '$.Password_locking.failed_login_count')," +
+ "JSON_EXTRACT(user_attributes, '$.Password_locking.password_lock_time_days')," +
+ "JSON_EXTRACT(user_attributes, '$.metadata')from mysql.user where user= %? and host = %?"
+ userAttributesSQL := new(strings.Builder)
+ sqlexec.MustFormatSQL(userAttributesSQL, sqlTemplate, user, host)
+ tk.MustQuery(userAttributesSQL.String()).Check(testkit.Rows(row))
+}
+
+func alterAndCheck(t *testing.T, tk *testkit.TestKit, sql string, user string, failedLoginAttempts, passwordLockTimeDays, failedLoginCount int64) {
+ tk.MustExec(sql)
+ userAttributesSQL := selectSQL(user)
+ resBuff := bytes.NewBufferString("")
+ rs := tk.MustQuery(userAttributesSQL)
+ for _, row := range rs.Rows() {
+ _, err := fmt.Fprintf(resBuff, "%s\n", row)
+ require.NoError(t, err)
+ }
+ err := checkUser(t, resBuff.String(), failedLoginAttempts, passwordLockTimeDays, failedLoginCount)
+ require.NoError(t, err)
+}
+
+func checkUser(t *testing.T, rs string, failedLoginAttempts, passwordLockTimeDays, failedLoginCount int64) error {
+ var ua []userAttributes
+ if err := json.Unmarshal([]byte(rs), &ua); err != nil {
+ return err
+ }
+ require.Equal(t, failedLoginAttempts, ua[0].PasswordLocking.FailedLoginAttempts)
+ require.Equal(t, passwordLockTimeDays, ua[0].PasswordLocking.PasswordLockTimeDays)
+ require.Equal(t, failedLoginCount, ua[0].PasswordLocking.FailedLoginCount)
+ return nil
+}
+
+func createAndCheck(tk *testkit.TestKit, sql, rsJSON, user string) {
+ tk.MustExec(sql)
+ sql = selectSQL(user)
+ tk.MustQuery(sql).Check(testkit.Rows(rsJSON))
+}
+
+func createAndCheckToErr(t *testing.T, tk *testkit.TestKit, sql, user string) {
+ tk.MustExecToErr(sql)
+ sql = selectSQL(user)
+ require.Equal(t, 0, len(tk.MustQuery(sql).Rows()))
+}
+
+func checkAuthUser(t *testing.T, tk *testkit.TestKit, user string, failedLoginCount int64, autoAccountLocked string) {
+ userAttributesSQL := selectSQL(user)
+ resBuff := bytes.NewBufferString("")
+ rs := tk.MustQuery(userAttributesSQL)
+ for _, row := range rs.Rows() {
+ _, err := fmt.Fprintf(resBuff, "%s\n", row)
+ require.NoError(t, err)
+ }
+ var ua []userAttributes
+ err := json.Unmarshal(resBuff.Bytes(), &ua)
+ require.NoError(t, err)
+ require.Equal(t, failedLoginCount, ua[0].PasswordLocking.FailedLoginCount)
+ require.Equal(t, autoAccountLocked, ua[0].PasswordLocking.AutoAccountLocked)
+}
+
+func selectSQL(user string) string {
+ userAttributesSQL := new(strings.Builder)
+ sqlexec.MustFormatSQL(userAttributesSQL, "SELECT user_attributes from mysql.user WHERE USER = %? AND HOST = 'localhost' for update", user)
+ return userAttributesSQL.String()
+}
+
+type passwordLocking struct {
+ FailedLoginAttempts int64 `json:"failed_login_attempts"`
+ PasswordLockTimeDays int64 `json:"password_lock_time_days"`
+ AutoAccountLocked string `json:"auto_account_locked"`
+ FailedLoginCount int64 `json:"failed_login_count"`
+ AutoLockedLastChanged string `json:"auto_locked_last_changed"`
+}
+
+type metadata struct {
+ Comment string `json:"comment"`
+}
+
+type userAttributes struct {
+ PasswordLocking passwordLocking `json:"Password_locking"`
+ Metadata metadata `json:"metadata"`
+}
diff --git a/executor/simpletest/simple_test.go b/executor/simpletest/simple_test.go
index bc7e8c0160719..06f7e72c030d5 100644
--- a/executor/simpletest/simple_test.go
+++ b/executor/simpletest/simple_test.go
@@ -747,7 +747,7 @@ func TestUser(t *testing.T) {
alterUserSQL = `ALTER USER 'test1'@'localhost' IDENTIFIED BY '222', 'test_not_exist'@'localhost' IDENTIFIED BY '111';`
tk.MustGetErrCode(alterUserSQL, mysql.ErrCannotUser)
result = tk.MustQuery(`SELECT authentication_string FROM mysql.User WHERE User="test1" and Host="localhost"`)
- result.Check(testkit.Rows(auth.EncodePassword("222")))
+ result.Check(testkit.Rows(auth.EncodePassword("111")))
alterUserSQL = `ALTER USER 'test4'@'localhost' IDENTIFIED WITH 'auth_socket';`
tk.MustExec(alterUserSQL)
result = tk.MustQuery(`SELECT plugin FROM mysql.User WHERE User="test4" and Host="localhost"`)
@@ -1000,6 +1000,7 @@ partition by range (a) (
checkPartitionStats("global", "p0", "p1", "global")
tk.MustExec("drop stats test_drop_gstats partition p0")
+ tk.MustQuery("show warnings").Check(testkit.RowsWithSep("|", "Warning|1681|'DROP STATS ... PARTITION ...' is deprecated and will be removed in a future release."))
checkPartitionStats("global", "p1", "global")
err := tk.ExecToErr("drop stats test_drop_gstats partition abcde")
@@ -1010,6 +1011,7 @@ partition by range (a) (
checkPartitionStats("global", "p1")
tk.MustExec("drop stats test_drop_gstats global")
+ tk.MustQuery("show warnings").Check(testkit.RowsWithSep("|", "Warning|1287|'DROP STATS ... GLOBAL' is deprecated and will be removed in a future release. Please use DROP STATS ... instead"))
checkPartitionStats("p1")
tk.MustExec("analyze table test_drop_gstats")
@@ -1056,3 +1058,50 @@ func TestDropStats(t *testing.T) {
require.True(t, statsTbl.Pseudo)
h.SetLease(0)
}
+
+func TestDropStatsForMultipleTable(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ testKit := testkit.NewTestKit(t, store)
+ testKit.MustExec("use test")
+ testKit.MustExec("create table t1 (c1 int, c2 int)")
+ testKit.MustExec("create table t2 (c1 int, c2 int)")
+
+ is := dom.InfoSchema()
+ tbl1, err := is.TableByName(model.NewCIStr("test"), model.NewCIStr("t1"))
+ require.NoError(t, err)
+ tableInfo1 := tbl1.Meta()
+
+ tbl2, err := is.TableByName(model.NewCIStr("test"), model.NewCIStr("t2"))
+ require.NoError(t, err)
+ tableInfo2 := tbl2.Meta()
+
+ h := dom.StatsHandle()
+ h.Clear()
+ testKit.MustExec("analyze table t1, t2")
+ statsTbl1 := h.GetTableStats(tableInfo1)
+ require.False(t, statsTbl1.Pseudo)
+ statsTbl2 := h.GetTableStats(tableInfo2)
+ require.False(t, statsTbl2.Pseudo)
+
+ testKit.MustExec("drop stats t1, t2")
+ require.Nil(t, h.Update(is))
+ statsTbl1 = h.GetTableStats(tableInfo1)
+ require.True(t, statsTbl1.Pseudo)
+ statsTbl2 = h.GetTableStats(tableInfo2)
+ require.True(t, statsTbl2.Pseudo)
+
+ testKit.MustExec("analyze table t1, t2")
+ statsTbl1 = h.GetTableStats(tableInfo1)
+ require.False(t, statsTbl1.Pseudo)
+ statsTbl2 = h.GetTableStats(tableInfo2)
+ require.False(t, statsTbl2.Pseudo)
+
+ h.SetLease(1)
+ testKit.MustExec("drop stats t1, t2")
+ require.Nil(t, h.Update(is))
+ statsTbl1 = h.GetTableStats(tableInfo1)
+ require.True(t, statsTbl1.Pseudo)
+ statsTbl2 = h.GetTableStats(tableInfo2)
+ require.True(t, statsTbl2.Pseudo)
+ h.SetLease(0)
+}
diff --git a/executor/slow_query.go b/executor/slow_query.go
index 395d8f4eba8ac..b83a480f85857 100644
--- a/executor/slow_query.go
+++ b/executor/slow_query.go
@@ -622,6 +622,9 @@ func (e *slowQueryRetriever) parseLog(ctx context.Context, sctx sessionctx.Conte
valid = e.setColumnValue(sctx, row, tz, variable.SlowLogHostStr, host, e.checker, fileLine)
} else if strings.HasPrefix(line, variable.SlowLogCopBackoffPrefix) {
valid = e.setColumnValue(sctx, row, tz, variable.SlowLogBackoffDetail, line, e.checker, fileLine)
+ } else if strings.HasPrefix(line, variable.SlowLogWarnings) {
+ line = line[len(variable.SlowLogWarnings+variable.SlowLogSpaceMarkStr):]
+ valid = e.setColumnValue(sctx, row, tz, variable.SlowLogWarnings, line, e.checker, fileLine)
} else {
fields, values := splitByColon(line)
for i := 0; i < len(fields); i++ {
@@ -781,7 +784,7 @@ func getColumnValueFactoryByName(sctx sessionctx.Context, colName string, column
}, nil
case variable.SlowLogUserStr, variable.SlowLogHostStr, execdetails.BackoffTypesStr, variable.SlowLogDBStr, variable.SlowLogIndexNamesStr, variable.SlowLogDigestStr,
variable.SlowLogStatsInfoStr, variable.SlowLogCopProcAddr, variable.SlowLogCopWaitAddr, variable.SlowLogPlanDigest,
- variable.SlowLogPrevStmt, variable.SlowLogQuerySQLStr:
+ variable.SlowLogPrevStmt, variable.SlowLogQuerySQLStr, variable.SlowLogWarnings:
return func(row []types.Datum, value string, tz *time.Location, checker *slowLogChecker) (valid bool, err error) {
row[columnIdx] = types.NewStringDatum(value)
return true, nil
diff --git a/executor/slow_query_sql_test.go b/executor/slow_query_sql_test.go
index a77e32e3bfb16..cdf13f2a9ccf9 100644
--- a/executor/slow_query_sql_test.go
+++ b/executor/slow_query_sql_test.go
@@ -23,6 +23,7 @@ import (
"github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/executor"
"github.com/pingcap/tidb/parser/auth"
+ "github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/testkit"
"github.com/pingcap/tidb/testkit/testdata"
"github.com/pingcap/tidb/util/logutil"
@@ -46,8 +47,6 @@ func TestSlowQueryWithoutSlowLog(t *testing.T) {
}
func TestSlowQuerySensitiveQuery(t *testing.T) {
- store := testkit.CreateMockStore(t)
- tk := testkit.NewTestKit(t, store)
originCfg := config.GetGlobalConfig()
newCfg := *originCfg
@@ -57,11 +56,15 @@ func TestSlowQuerySensitiveQuery(t *testing.T) {
newCfg.Log.SlowQueryFile = f.Name()
config.StoreGlobalConfig(&newCfg)
defer func() {
- tk.MustExec("set tidb_slow_log_threshold=300;")
config.StoreGlobalConfig(originCfg)
require.NoError(t, os.Remove(newCfg.Log.SlowQueryFile))
}()
require.NoError(t, logutil.InitLogger(newCfg.Log.ToLogConfig()))
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ defer func() {
+ tk.MustExec("set tidb_slow_log_threshold=300;")
+ }()
tk.MustExec(fmt.Sprintf("set @@tidb_slow_query_file='%v'", f.Name()))
tk.MustExec("set tidb_slow_log_threshold=0;")
@@ -80,8 +83,6 @@ func TestSlowQuerySensitiveQuery(t *testing.T) {
}
func TestSlowQueryPrepared(t *testing.T) {
- store := testkit.CreateMockStore(t)
- tk := testkit.NewTestKit(t, store)
originCfg := config.GetGlobalConfig()
newCfg := *originCfg
@@ -91,12 +92,16 @@ func TestSlowQueryPrepared(t *testing.T) {
newCfg.Log.SlowQueryFile = f.Name()
config.StoreGlobalConfig(&newCfg)
defer func() {
- tk.MustExec("set tidb_slow_log_threshold=300;")
- tk.MustExec("set tidb_redact_log=0;")
config.StoreGlobalConfig(originCfg)
require.NoError(t, os.Remove(newCfg.Log.SlowQueryFile))
}()
require.NoError(t, logutil.InitLogger(newCfg.Log.ToLogConfig()))
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ defer func() {
+ tk.MustExec("set tidb_slow_log_threshold=300;")
+ tk.MustExec("set tidb_redact_log=0;")
+ }()
tk.MustExec(fmt.Sprintf("set @@tidb_slow_query_file='%v'", f.Name()))
tk.MustExec("set tidb_slow_log_threshold=0;")
@@ -116,8 +121,6 @@ func TestSlowQueryPrepared(t *testing.T) {
}
func TestLogSlowLogIndex(t *testing.T) {
- store := testkit.CreateMockStore(t)
- tk := testkit.NewTestKit(t, store)
f, err := os.CreateTemp("", "tidb-slow-*.log")
require.NoError(t, err)
require.NoError(t, f.Close())
@@ -127,6 +130,8 @@ func TestLogSlowLogIndex(t *testing.T) {
conf.Log.SlowQueryFile = f.Name()
})
require.NoError(t, logutil.InitLogger(config.GetGlobalConfig().Log.ToLogConfig()))
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
tk.MustExec(fmt.Sprintf("set @@tidb_slow_query_file='%v'", f.Name()))
tk.MustExec("use test")
@@ -140,9 +145,6 @@ func TestLogSlowLogIndex(t *testing.T) {
}
func TestSlowQuery(t *testing.T) {
- store := testkit.CreateMockStore(t)
- tk := testkit.NewTestKit(t, store)
-
f, err := os.CreateTemp("", "tidb-slow-*.log")
require.NoError(t, err)
_, err = f.WriteString(`
@@ -197,6 +199,8 @@ SELECT original_sql, bind_sql, default_db, status, create_time, update_time, cha
require.NoError(t, os.Remove(newCfg.Log.SlowQueryFile))
}()
require.NoError(t, logutil.InitLogger(newCfg.Log.ToLogConfig()))
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
tk.MustExec(fmt.Sprintf("set @@tidb_slow_query_file='%v'", f.Name()))
tk.MustQuery("select count(*) from `information_schema`.`slow_query` where time > '2020-10-16 20:08:13' and time < '2020-10-16 21:08:13'").Check(testkit.Rows("1"))
@@ -208,10 +212,6 @@ SELECT original_sql, bind_sql, default_db, status, create_time, update_time, cha
}
func TestIssue37066(t *testing.T) {
- store := testkit.CreateMockStore(t)
- tk := testkit.NewTestKit(t, store)
- require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "%"}, nil, nil))
-
originCfg := config.GetGlobalConfig()
newCfg := *originCfg
f, err := os.CreateTemp("", "tidb-slow-*.log")
@@ -224,6 +224,9 @@ func TestIssue37066(t *testing.T) {
require.NoError(t, os.Remove(newCfg.Log.SlowQueryFile))
}()
require.NoError(t, logutil.InitLogger(newCfg.Log.ToLogConfig()))
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "%"}, nil, nil))
tk.MustExec(fmt.Sprintf("set @@tidb_slow_query_file='%v'", f.Name()))
tk.MustExec("set tidb_slow_log_threshold=0;")
defer func() {
@@ -281,3 +284,61 @@ func TestIssue37066(t *testing.T) {
}
}
}
+
+func TestWarningsInSlowQuery(t *testing.T) {
+ // Prepare the slow log
+ originCfg := config.GetGlobalConfig()
+ newCfg := *originCfg
+ f, err := os.CreateTemp("", "tidb-slow-*.log")
+ require.NoError(t, err)
+ newCfg.Log.SlowQueryFile = f.Name()
+ config.StoreGlobalConfig(&newCfg)
+ defer func() {
+ config.StoreGlobalConfig(originCfg)
+ require.NoError(t, f.Close())
+ require.NoError(t, os.Remove(newCfg.Log.SlowQueryFile))
+ }()
+ require.NoError(t, logutil.InitLogger(newCfg.Log.ToLogConfig()))
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec(fmt.Sprintf("set @@tidb_slow_query_file='%v'", f.Name()))
+ tk.MustExec("set tidb_slow_log_threshold=0;")
+ defer func() {
+ tk.MustExec("set tidb_slow_log_threshold=300;")
+ }()
+
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(a int, b int, c int, d int, e int, f int, g int, h set('11', '22', '33')," +
+ "primary key (a), unique key c_d_e (c, d, e), unique key f (f), unique key f_g (f, g), key g (g))")
+ tbl, err := dom.InfoSchema().TableByName(model.CIStr{O: "test", L: "test"}, model.CIStr{O: "t", L: "t"})
+ require.NoError(t, err)
+ tbl.Meta().TiFlashReplica = &model.TiFlashReplicaInfo{Count: 1, Available: true}
+
+ var input []string
+ var output []struct {
+ SQL string
+ Result string
+ }
+ slowQuerySuiteData.LoadTestCases(t, &input, &output)
+ for i, test := range input {
+ comment := fmt.Sprintf("case:%v sql:%s", i, test)
+ if len(test) < 6 || test[:6] != "select" {
+ tk.MustExec(test)
+ } else {
+ tk.MustQuery(test)
+ }
+ res := testdata.ConvertRowsToStrings(
+ tk.MustQuery("select warnings from information_schema.slow_query " +
+ `where query = "` + test + `;" ` +
+ "order by time desc limit 1").Rows(),
+ )
+ require.Lenf(t, res, 1, comment)
+
+ testdata.OnRecord(func() {
+ output[i].SQL = test
+ output[i].Result = res[0]
+ })
+ require.Equal(t, output[i].Result, res[0])
+ }
+}
diff --git a/executor/slow_query_test.go b/executor/slow_query_test.go
index 32412d2f1ac70..d696afa3c945d 100644
--- a/executor/slow_query_test.go
+++ b/executor/slow_query_test.go
@@ -55,7 +55,7 @@ func parseLog(retriever *slowQueryRetriever, sctx sessionctx.Context, reader *bu
}
func newSlowQueryRetriever() (*slowQueryRetriever, error) {
- newISBuilder, err := infoschema.NewBuilder(nil, nil).InitWithDBInfos(nil, nil, 0)
+ newISBuilder, err := infoschema.NewBuilder(nil, nil).InitWithDBInfos(nil, nil, nil, 0)
if err != nil {
return nil, err
}
@@ -160,7 +160,7 @@ select * from t;`
expectRecordString := `2019-04-28 15:24:04.309074,` +
`405888132465033227,root,localhost,0,57,0.12,0.216905,` +
`0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,0.38,0.021,0,0,0,1,637,0,10,10,10,10,100,,,1,42a1c8aae6f133e934d4bf0147491709a8812ea05ff8819ec522780fe657b772,t1:1,t2:2,` +
- `0.1,0.2,0.03,127.0.0.1:20160,0.05,0.6,0.8,0.0.0.0:20160,70724,65536,0,0,0,0,0,` +
+ `0.1,0.2,0.03,127.0.0.1:20160,0.05,0.6,0.8,0.0.0.0:20160,70724,65536,0,0,0,0,0,,` +
`Cop_backoff_regionMiss_total_times: 200 Cop_backoff_regionMiss_total_time: 0.2 Cop_backoff_regionMiss_max_time: 0.2 Cop_backoff_regionMiss_max_addr: 127.0.0.1 Cop_backoff_regionMiss_avg_time: 0.2 Cop_backoff_regionMiss_p90_time: 0.2 Cop_backoff_rpcPD_total_times: 200 Cop_backoff_rpcPD_total_time: 0.2 Cop_backoff_rpcPD_max_time: 0.2 Cop_backoff_rpcPD_max_addr: 127.0.0.1 Cop_backoff_rpcPD_avg_time: 0.2 Cop_backoff_rpcPD_p90_time: 0.2 Cop_backoff_rpcTiKV_total_times: 200 Cop_backoff_rpcTiKV_total_time: 0.2 Cop_backoff_rpcTiKV_max_time: 0.2 Cop_backoff_rpcTiKV_max_addr: 127.0.0.1 Cop_backoff_rpcTiKV_avg_time: 0.2 Cop_backoff_rpcTiKV_p90_time: 0.2,` +
`0,0,1,0,1,1,0,,60e9378c746d9a2be1c791047e008967cf252eb6de9167ad3aa6098fa2d523f4,` +
`,update t set i = 1;,select * from t;`
@@ -183,7 +183,7 @@ select * from t;`
expectRecordString = `2019-04-28 15:24:04.309074,` +
`405888132465033227,root,localhost,0,57,0.12,0.216905,` +
`0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,0.38,0.021,0,0,0,1,637,0,10,10,10,10,100,,,1,42a1c8aae6f133e934d4bf0147491709a8812ea05ff8819ec522780fe657b772,t1:1,t2:2,` +
- `0.1,0.2,0.03,127.0.0.1:20160,0.05,0.6,0.8,0.0.0.0:20160,70724,65536,0,0,0,0,0,` +
+ `0.1,0.2,0.03,127.0.0.1:20160,0.05,0.6,0.8,0.0.0.0:20160,70724,65536,0,0,0,0,0,,` +
`Cop_backoff_regionMiss_total_times: 200 Cop_backoff_regionMiss_total_time: 0.2 Cop_backoff_regionMiss_max_time: 0.2 Cop_backoff_regionMiss_max_addr: 127.0.0.1 Cop_backoff_regionMiss_avg_time: 0.2 Cop_backoff_regionMiss_p90_time: 0.2 Cop_backoff_rpcPD_total_times: 200 Cop_backoff_rpcPD_total_time: 0.2 Cop_backoff_rpcPD_max_time: 0.2 Cop_backoff_rpcPD_max_addr: 127.0.0.1 Cop_backoff_rpcPD_avg_time: 0.2 Cop_backoff_rpcPD_p90_time: 0.2 Cop_backoff_rpcTiKV_total_times: 200 Cop_backoff_rpcTiKV_total_time: 0.2 Cop_backoff_rpcTiKV_max_time: 0.2 Cop_backoff_rpcTiKV_max_addr: 127.0.0.1 Cop_backoff_rpcTiKV_avg_time: 0.2 Cop_backoff_rpcTiKV_p90_time: 0.2,` +
`0,0,1,0,1,1,0,,60e9378c746d9a2be1c791047e008967cf252eb6de9167ad3aa6098fa2d523f4,` +
`,update t set i = 1;,select * from t;`
diff --git a/executor/splittest/BUILD.bazel b/executor/splittest/BUILD.bazel
index 77dd2a7e225f8..f3f9f90128bcc 100644
--- a/executor/splittest/BUILD.bazel
+++ b/executor/splittest/BUILD.bazel
@@ -8,6 +8,7 @@ go_test(
"split_table_test.go",
],
flaky = True,
+ race = "on",
shard_count = 5,
deps = [
"//ddl",
diff --git a/executor/table_reader.go b/executor/table_reader.go
index 500b3ba3ab771..984212dcf7328 100644
--- a/executor/table_reader.go
+++ b/executor/table_reader.go
@@ -61,7 +61,7 @@ func (sr selectResultHook) SelectResult(ctx context.Context, sctx sessionctx.Con
}
type kvRangeBuilder interface {
- buildKeyRange(ranges []*ranger.Range) ([]kv.KeyRange, error)
+ buildKeyRange(ranges []*ranger.Range) ([][]kv.KeyRange, error)
buildKeyRangeSeparately(ranges []*ranger.Range) ([]int64, [][]kv.KeyRange, error)
}
@@ -205,13 +205,13 @@ func (e *TableReaderExecutor) Open(ctx context.Context) error {
if err != nil {
return err
}
- e.kvRanges = append(e.kvRanges, kvReq.KeyRanges...)
+ e.kvRanges = kvReq.KeyRanges.AppendSelfTo(e.kvRanges)
if len(secondPartRanges) != 0 {
kvReq, err = e.buildKVReq(ctx, secondPartRanges)
if err != nil {
return err
}
- e.kvRanges = append(e.kvRanges, kvReq.KeyRanges...)
+ e.kvRanges = kvReq.KeyRanges.AppendSelfTo(e.kvRanges)
}
return nil
}
@@ -256,7 +256,7 @@ func (e *TableReaderExecutor) Next(ctx context.Context, req *chunk.Chunk) error
return err
}
- err := FillVirtualColumnValue(e.virtualColumnRetFieldTypes, e.virtualColumnIndex, e.schema, e.columns, e.ctx, req)
+ err := table.FillVirtualColumnValue(e.virtualColumnRetFieldTypes, e.virtualColumnIndex, e.schema.Columns, e.columns, e.ctx, req)
if err != nil {
return err
}
@@ -314,10 +314,10 @@ func (e *TableReaderExecutor) buildResp(ctx context.Context, ranges []*ranger.Ra
if err != nil {
return nil, err
}
- slices.SortFunc(kvReq.KeyRanges, func(i, j kv.KeyRange) bool {
+ kvReq.KeyRanges.SortByFunc(func(i, j kv.KeyRange) bool {
return bytes.Compare(i.StartKey, j.StartKey) < 0
})
- e.kvRanges = append(e.kvRanges, kvReq.KeyRanges...)
+ e.kvRanges = kvReq.KeyRanges.AppendSelfTo(e.kvRanges)
result, err := e.SelectResult(ctx, e.ctx, kvReq, retTypes(e), e.feedback, getPhysicalPlanIDs(e.plans), e.id)
if err != nil {
@@ -409,7 +409,7 @@ func (e *TableReaderExecutor) buildKVReq(ctx context.Context, ranges []*ranger.R
if err != nil {
return nil, err
}
- reqBuilder = builder.SetKeyRanges(kvRange)
+ reqBuilder = builder.SetPartitionKeyRanges(kvRange)
} else {
reqBuilder = builder.SetHandleRanges(e.ctx.GetSessionVars().StmtCtx, getPhysicalTableID(e.table), e.table.Meta() != nil && e.table.Meta().IsCommonHandle, ranges, e.feedback)
}
diff --git a/executor/testdata/executor_suite_out.json b/executor/testdata/executor_suite_out.json
index c06ee935e8b37..e0fbfecb07095 100644
--- a/executor/testdata/executor_suite_out.json
+++ b/executor/testdata/executor_suite_out.json
@@ -674,7 +674,7 @@
{
"SQL": "select count(*) from t as t1 inner join t as t2 on t1.c1 = t2.c1 where t1.c1 != NULL",
"Plan": [
- "HashAgg 1.00 root funcs:count(1)->Column#7",
+ "StreamAgg 1.00 root funcs:count(1)->Column#7",
"└─MergeJoin 0.00 root inner join, left key:test.t.c1, right key:test.t.c1",
" ├─TableDual(Build) 0.00 root rows:0",
" └─TableDual(Probe) 0.00 root rows:0"
@@ -704,7 +704,7 @@
{
"SQL": "select count(*) from t as t1 left join t as t2 on t1.c1 = t2.c1 where t1.c1 != NULL",
"Plan": [
- "HashAgg 1.00 root funcs:count(1)->Column#7",
+ "StreamAgg 1.00 root funcs:count(1)->Column#7",
"└─MergeJoin 0.00 root left outer join, left key:test.t.c1, right key:test.t.c1",
" ├─TableDual(Build) 0.00 root rows:0",
" └─TableDual(Probe) 0.00 root rows:0"
diff --git a/executor/testdata/slow_query_suite_in.json b/executor/testdata/slow_query_suite_in.json
new file mode 100644
index 0000000000000..4b2c95b6aa378
--- /dev/null
+++ b/executor/testdata/slow_query_suite_in.json
@@ -0,0 +1,19 @@
+[
+ {
+ "name": "TestWarningsInSlowQuery",
+ "cases": [
+ "insert into t(a) value (1)",
+ "select /*+ READ_FROM_STORAGE(TIKV[t]) */ a/0 from t",
+ "create binding for select * from t where c = 10 using select * from t use index (c_d_e) where c = 10",
+ "select * from t where c = 10",
+ "select /*+ READ_FROM_STORAGE(TIKV[t]) */ * from t where a > 1 order by f",
+ "select /*+ READ_FROM_STORAGE(TIKV[t]) */ * from t where f > 1",
+ "select /*+ READ_FROM_STORAGE(TIKV[t]) */ f from t where f > 1",
+ "select /*+ READ_FROM_STORAGE(TIKV[t]) */ * from t where f > 3 and g = 5",
+ "select /*+ READ_FROM_STORAGE(TIKV[t]) */ * from t where g = 5 order by f",
+ "select /*+ READ_FROM_STORAGE(TIKV[t]) */ * from t where d = 3 order by c, e",
+ "select /*+ READ_FROM_STORAGE(TIKV[t]) */ * from t where h = '11,22'",
+ "select /*+ READ_FROM_STORAGE(TIKV[t]) */ * from t where a > rand()*100"
+ ]
+ }
+]
diff --git a/executor/testdata/slow_query_suite_out.json b/executor/testdata/slow_query_suite_out.json
new file mode 100644
index 0000000000000..adf6606709859
--- /dev/null
+++ b/executor/testdata/slow_query_suite_out.json
@@ -0,0 +1,55 @@
+[
+ {
+ "Name": "TestWarningsInSlowQuery",
+ "Cases": [
+ {
+ "SQL": "insert into t(a) value (1)",
+ "Result": ""
+ },
+ {
+ "SQL": "select /*+ READ_FROM_STORAGE(TIKV[t]) */ a/0 from t",
+ "Result": "[{\"Level\":\"Warning\",\"Message\":\"Division by 0\"}]"
+ },
+ {
+ "SQL": "create binding for select * from t where c = 10 using select * from t use index (c_d_e) where c = 10",
+ "Result": ""
+ },
+ {
+ "SQL": "select * from t where c = 10",
+ "Result": "[{\"Level\":\"Note\",\"Message\":\"Using the bindSQL: SELECT * FROM `test`.`t` USE INDEX (`c_d_e`) WHERE `c` = 10\",\"IsExtra\":true}]"
+ },
+ {
+ "SQL": "select /*+ READ_FROM_STORAGE(TIKV[t]) */ * from t where a > 1 order by f",
+ "Result": "[{\"Level\":\"Warning\",\"Message\":\"Expression about 'test.t.h' can not be pushed to TiFlash because it contains unsupported calculation of type 'set'.\",\"IsExtra\":true},{\"Level\":\"Note\",\"Message\":\"[t,t(tiflash)] remain after pruning paths for t given Prop{SortItems: [], TaskTp: rootTask}\",\"IsExtra\":true},{\"Level\":\"Warning\",\"Message\":\"Expression about 'test.t.h' can not be pushed to TiFlash because it contains unsupported calculation of type 'set'.\",\"IsExtra\":true},{\"Level\":\"Note\",\"Message\":\"[t,t(tiflash),f,f_g] remain after pruning paths for t given Prop{SortItems: [{test.t.f asc}], TaskTp: rootTask}\",\"IsExtra\":true}]"
+ },
+ {
+ "SQL": "select /*+ READ_FROM_STORAGE(TIKV[t]) */ * from t where f > 1",
+ "Result": "[{\"Level\":\"Warning\",\"Message\":\"Expression about 'test.t.h' can not be pushed to TiFlash because it contains unsupported calculation of type 'set'.\",\"IsExtra\":true},{\"Level\":\"Note\",\"Message\":\"[t,t(tiflash),f,f_g] remain after pruning paths for t given Prop{SortItems: [], TaskTp: rootTask}\",\"IsExtra\":true}]"
+ },
+ {
+ "SQL": "select /*+ READ_FROM_STORAGE(TIKV[t]) */ f from t where f > 1",
+ "Result": "[{\"Level\":\"Note\",\"Message\":\"[t(tiflash),f,f_g] remain after pruning paths for t given Prop{SortItems: [], TaskTp: rootTask}\",\"IsExtra\":true}]"
+ },
+ {
+ "SQL": "select /*+ READ_FROM_STORAGE(TIKV[t]) */ * from t where f > 3 and g = 5",
+ "Result": "[{\"Level\":\"Warning\",\"Message\":\"Expression about 'test.t.h' can not be pushed to TiFlash because it contains unsupported calculation of type 'set'.\",\"IsExtra\":true},{\"Level\":\"Note\",\"Message\":\"[t,t(tiflash),f_g,g] remain after pruning paths for t given Prop{SortItems: [], TaskTp: rootTask}\",\"IsExtra\":true}]"
+ },
+ {
+ "SQL": "select /*+ READ_FROM_STORAGE(TIKV[t]) */ * from t where g = 5 order by f",
+ "Result": "[{\"Level\":\"Warning\",\"Message\":\"Expression about 'test.t.h' can not be pushed to TiFlash because it contains unsupported calculation of type 'set'.\",\"IsExtra\":true},{\"Level\":\"Note\",\"Message\":\"[t,t(tiflash),g] remain after pruning paths for t given Prop{SortItems: [], TaskTp: rootTask}\",\"IsExtra\":true},{\"Level\":\"Warning\",\"Message\":\"Expression about 'test.t.h' can not be pushed to TiFlash because it contains unsupported calculation of type 'set'.\",\"IsExtra\":true},{\"Level\":\"Note\",\"Message\":\"[t,t(tiflash),f_g,g] remain after pruning paths for t given Prop{SortItems: [{test.t.f asc}], TaskTp: rootTask}\",\"IsExtra\":true}]"
+ },
+ {
+ "SQL": "select /*+ READ_FROM_STORAGE(TIKV[t]) */ * from t where d = 3 order by c, e",
+ "Result": "[{\"Level\":\"Warning\",\"Message\":\"Expression about 'test.t.h' can not be pushed to TiFlash because it contains unsupported calculation of type 'set'.\",\"IsExtra\":true},{\"Level\":\"Note\",\"Message\":\"[t,t(tiflash)] remain after pruning paths for t given Prop{SortItems: [], TaskTp: rootTask}\",\"IsExtra\":true},{\"Level\":\"Warning\",\"Message\":\"Expression about 'test.t.h' can not be pushed to TiFlash because it contains unsupported calculation of type 'set'.\",\"IsExtra\":true},{\"Level\":\"Note\",\"Message\":\"[t,t(tiflash),c_d_e] remain after pruning paths for t given Prop{SortItems: [{test.t.c asc} {test.t.e asc}], TaskTp: rootTask}\",\"IsExtra\":true}]"
+ },
+ {
+ "SQL": "select /*+ READ_FROM_STORAGE(TIKV[t]) */ * from t where h = '11,22'",
+ "Result": "[{\"Level\":\"Warning\",\"Message\":\"Expression about 'test.t.h' can not be pushed to TiFlash because it contains unsupported calculation of type 'set'.\",\"IsExtra\":true},{\"Level\":\"Warning\",\"Message\":\"Expression about 'test.t.h' can not be pushed to TiFlash because it contains unsupported calculation of type 'set'.\",\"IsExtra\":true},{\"Level\":\"Note\",\"Message\":\"[t,t(tiflash)] remain after pruning paths for t given Prop{SortItems: [], TaskTp: rootTask}\",\"IsExtra\":true}]"
+ },
+ {
+ "SQL": "select /*+ READ_FROM_STORAGE(TIKV[t]) */ * from t where a > rand()*100",
+ "Result": "[{\"Level\":\"Warning\",\"Message\":\"Scalar function 'rand'(signature: Rand, return type: double) is not supported to push down to storage layer now.\",\"IsExtra\":true},{\"Level\":\"Warning\",\"Message\":\"Expression about 'test.t.h' can not be pushed to TiFlash because it contains unsupported calculation of type 'set'.\",\"IsExtra\":true},{\"Level\":\"Warning\",\"Message\":\"Scalar function 'rand'(signature: Rand, return type: double) is not supported to push down to tiflash now.\",\"IsExtra\":true},{\"Level\":\"Note\",\"Message\":\"[t,t(tiflash)] remain after pruning paths for t given Prop{SortItems: [], TaskTp: rootTask}\",\"IsExtra\":true}]"
+ }
+ ]
+ }
+]
diff --git a/executor/tiflashtest/BUILD.bazel b/executor/tiflashtest/BUILD.bazel
index 5223fa79cc2d9..c7678e569522d 100644
--- a/executor/tiflashtest/BUILD.bazel
+++ b/executor/tiflashtest/BUILD.bazel
@@ -16,6 +16,7 @@ go_test(
"//executor",
"//meta/autoid",
"//parser/terror",
+ "//planner/core",
"//store/mockstore",
"//store/mockstore/unistore",
"//testkit",
diff --git a/executor/tiflashtest/tiflash_test.go b/executor/tiflashtest/tiflash_test.go
index becdb2ec1956c..e8cd94d889188 100644
--- a/executor/tiflashtest/tiflash_test.go
+++ b/executor/tiflashtest/tiflash_test.go
@@ -27,9 +27,11 @@ import (
"github.com/pingcap/errors"
"github.com/pingcap/failpoint"
"github.com/pingcap/kvproto/pkg/metapb"
+ "github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/domain"
"github.com/pingcap/tidb/executor"
"github.com/pingcap/tidb/parser/terror"
+ plannercore "github.com/pingcap/tidb/planner/core"
"github.com/pingcap/tidb/store/mockstore"
"github.com/pingcap/tidb/store/mockstore/unistore"
"github.com/pingcap/tidb/testkit"
@@ -266,14 +268,9 @@ func TestMppExecution(t *testing.T) {
tk.MustExec("begin")
tk.MustQuery("select count(*) from ( select * from t2 group by a, b) A group by A.b").Check(testkit.Rows("3"))
tk.MustQuery("select count(*) from t1 where t1.a+100 > ( select count(*) from t2 where t1.a=t2.a and t1.b=t2.b) group by t1.b").Check(testkit.Rows("4"))
- txn, err := tk.Session().Txn(true)
- require.NoError(t, err)
- ts := txn.StartTS()
- taskID := tk.Session().GetSessionVars().AllocMPPTaskID(ts)
- require.Equal(t, int64(6), taskID)
- tk.MustExec("commit")
- taskID = tk.Session().GetSessionVars().AllocMPPTaskID(ts + 1)
+ taskID := plannercore.AllocMPPTaskID(tk.Session())
require.Equal(t, int64(1), taskID)
+ tk.MustExec("commit")
failpoint.Enable("github.com/pingcap/tidb/executor/checkTotalMPPTasks", `return(3)`)
// all the data is related to one store, so there are three tasks.
@@ -462,6 +459,7 @@ func TestPartitionTable(t *testing.T) {
store := testkit.CreateMockStore(t, withMockTiFlash(2))
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
+ tk.MustExec("set tidb_cost_model_version=1")
tk.MustExec("drop table if exists t")
tk.MustExec("drop table if exists t1")
tk.MustExec("drop table if exists t2")
@@ -1041,7 +1039,7 @@ func TestTiFlashPartitionTableBroadcastJoin(t *testing.T) {
}
}
-func TestForbidTiflashDuringStaleRead(t *testing.T) {
+func TestTiflashSupportStaleRead(t *testing.T) {
store := testkit.CreateMockStore(t, withMockTiFlash(2))
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
@@ -1073,8 +1071,8 @@ func TestForbidTiflashDuringStaleRead(t *testing.T) {
fmt.Fprintf(resBuff, "%s\n", row)
}
res = resBuff.String()
- require.NotContains(t, res, "tiflash")
- require.Contains(t, res, "tikv")
+ require.Contains(t, res, "tiflash")
+ require.NotContains(t, res, "tikv")
}
func TestForbidTiFlashIfExtraPhysTableIDIsNeeded(t *testing.T) {
@@ -1206,6 +1204,35 @@ func TestAggPushDownCountStar(t *testing.T) {
tk.MustQuery("select count(*) from c, o where c.c_id=o.c_id").Check(testkit.Rows("5"))
}
+func TestGroupStreamAggOnTiFlash(t *testing.T) {
+ store := testkit.CreateMockStore(t, withMockTiFlash(2))
+ tk := testkit.NewTestKit(t, store)
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists foo")
+ tk.MustExec("create table foo(a int, b int, c int, d int, primary key(a,b,c,d))")
+ tk.MustExec("alter table foo set tiflash replica 1")
+ tk.MustExec("insert into foo values(1,2,3,1),(1,2,3,6),(1,2,3,5)," +
+ "(1,2,3,2),(1,2,3,4),(1,2,3,7),(1,2,3,3),(1,2,3,0)")
+ tb := external.GetTableByName(t, tk, "test", "foo")
+ err := domain.GetDomain(tk.Session()).DDL().UpdateTableReplicaInfo(tk.Session(), tb.Meta().ID, true)
+ require.NoError(t, err)
+ tk.MustExec("set @@tidb_allow_mpp=0")
+ sql := "select a,b,c,count(*) from foo group by a,b,c order by a,b,c"
+ tk.MustQuery(sql).Check(testkit.Rows("1 2 3 8"))
+ rows := tk.MustQuery("explain " + sql).Rows()
+
+ for _, row := range rows {
+ resBuff := bytes.NewBufferString("")
+ fmt.Fprintf(resBuff, "%s\n", row)
+ res := resBuff.String()
+ // StreamAgg with group keys on TiFlash is not supported
+ if strings.Contains(res, "tiflash") {
+ require.NotContains(t, res, "StreamAgg")
+ }
+ }
+}
+
func TestTiflashEmptyDynamicPruneResult(t *testing.T) {
store := testkit.CreateMockStore(t, withMockTiFlash(2))
tk := testkit.NewTestKit(t, store)
@@ -1226,3 +1253,83 @@ func TestTiflashEmptyDynamicPruneResult(t *testing.T) {
tk.MustQuery("select /*+ read_from_storage(tiflash[t2]) */ * from IDT_RP24833 partition(p2) t2 where t2. col1 <= -8448770111093677011;").Check(testkit.Rows())
tk.MustQuery("select /*+ read_from_storage(tiflash[t1, t2]) */ * from IDT_RP24833 partition(p3, p4) t1 join IDT_RP24833 partition(p2) t2 on t1.col1 = t2.col1 where t1. col1 between -8448770111093677011 and -8448770111093677011 and t2. col1 <= -8448770111093677011;").Check(testkit.Rows())
}
+
+func TestDisaggregatedTiFlash(t *testing.T) {
+ config.UpdateGlobal(func(conf *config.Config) {
+ conf.DisaggregatedTiFlash = true
+ })
+ store := testkit.CreateMockStore(t, withMockTiFlash(2))
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(c1 int)")
+ tk.MustExec("alter table t set tiflash replica 1")
+ tb := external.GetTableByName(t, tk, "test", "t")
+ err := domain.GetDomain(tk.Session()).DDL().UpdateTableReplicaInfo(tk.Session(), tb.Meta().ID, true)
+ require.NoError(t, err)
+ tk.MustExec("set @@session.tidb_isolation_read_engines=\"tiflash\"")
+
+ err = tk.ExecToErr("select * from t;")
+ require.Contains(t, err.Error(), "Please check tiflash_compute node is available")
+
+ config.UpdateGlobal(func(conf *config.Config) {
+ conf.DisaggregatedTiFlash = false
+ })
+ tk.MustQuery("select * from t;").Check(testkit.Rows())
+}
+
+func TestDisaggregatedTiFlashQuery(t *testing.T) {
+ config.UpdateGlobal(func(conf *config.Config) {
+ conf.DisaggregatedTiFlash = true
+ })
+ defer config.UpdateGlobal(func(conf *config.Config) {
+ conf.DisaggregatedTiFlash = false
+ })
+
+ store := testkit.CreateMockStore(t, withMockTiFlash(2))
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists tbl_1")
+ tk.MustExec(`create table tbl_1 ( col_1 bigint not null default -1443635317331776148,
+ col_2 text ( 176 ) collate utf8mb4_bin not null,
+ col_3 decimal ( 8, 3 ),
+ col_4 varchar ( 128 ) collate utf8mb4_bin not null,
+ col_5 varchar ( 377 ) collate utf8mb4_bin,
+ col_6 double,
+ col_7 varchar ( 459 ) collate utf8mb4_bin,
+ col_8 tinyint default -88 ) charset utf8mb4 collate utf8mb4_bin ;`)
+ tk.MustExec("alter table tbl_1 set tiflash replica 1")
+ tb := external.GetTableByName(t, tk, "test", "tbl_1")
+ err := domain.GetDomain(tk.Session()).DDL().UpdateTableReplicaInfo(tk.Session(), tb.Meta().ID, true)
+ require.NoError(t, err)
+ tk.MustExec("set @@session.tidb_isolation_read_engines=\"tiflash\"")
+
+ needCheckTiFlashComputeNode := "false"
+ failpoint.Enable("github.com/pingcap/tidb/planner/core/testDisaggregatedTiFlashQuery", fmt.Sprintf("return(%s)", needCheckTiFlashComputeNode))
+ defer failpoint.Disable("github.com/pingcap/tidb/planner/core/testDisaggregatedTiFlashQuery")
+ tk.MustExec("explain select max( tbl_1.col_1 ) as r0 , sum( tbl_1.col_1 ) as r1 , sum( tbl_1.col_8 ) as r2 from tbl_1 where tbl_1.col_8 != 68 or tbl_1.col_3 between null and 939 order by r0,r1,r2;")
+
+ tk.MustExec("set @@tidb_partition_prune_mode = 'static';")
+ tk.MustExec("set @@session.tidb_isolation_read_engines=\"tiflash\"")
+ tk.MustExec("create table t1(c1 int, c2 int) partition by hash(c1) partitions 3")
+ tk.MustExec("insert into t1 values(1, 1), (2, 2), (3, 3)")
+ tk.MustExec("alter table t1 set tiflash replica 1")
+ tb = external.GetTableByName(t, tk, "test", "t1")
+ err = domain.GetDomain(tk.Session()).DDL().UpdateTableReplicaInfo(tk.Session(), tb.Meta().ID, true)
+ require.NoError(t, err)
+ tk.MustQuery("explain select * from t1 where c1 < 2").Check(testkit.Rows(
+ "PartitionUnion_10 9970.00 root ",
+ "├─TableReader_15 3323.33 root data:ExchangeSender_14",
+ "│ └─ExchangeSender_14 3323.33 mpp[tiflash] ExchangeType: PassThrough",
+ "│ └─Selection_13 3323.33 mpp[tiflash] lt(test.t1.c1, 2)",
+ "│ └─TableFullScan_12 10000.00 mpp[tiflash] table:t1, partition:p0 keep order:false, stats:pseudo",
+ "├─TableReader_19 3323.33 root data:ExchangeSender_18",
+ "│ └─ExchangeSender_18 3323.33 mpp[tiflash] ExchangeType: PassThrough",
+ "│ └─Selection_17 3323.33 mpp[tiflash] lt(test.t1.c1, 2)",
+ "│ └─TableFullScan_16 10000.00 mpp[tiflash] table:t1, partition:p1 keep order:false, stats:pseudo",
+ "└─TableReader_23 3323.33 root data:ExchangeSender_22",
+ " └─ExchangeSender_22 3323.33 mpp[tiflash] ExchangeType: PassThrough",
+ " └─Selection_21 3323.33 mpp[tiflash] lt(test.t1.c1, 2)",
+ " └─TableFullScan_20 10000.00 mpp[tiflash] table:t1, partition:p2 keep order:false, stats:pseudo"))
+ // tk.MustQuery("select * from t1 where c1 < 2").Check(testkit.Rows("1 1"))
+}
diff --git a/executor/update.go b/executor/update.go
index cf0a6ae2e33f4..0068392653cdd 100644
--- a/executor/update.go
+++ b/executor/update.go
@@ -434,6 +434,7 @@ func (e *UpdateExec) Close() error {
if err == nil && txn.Valid() && txn.GetSnapshot() != nil {
txn.GetSnapshot().SetOption(kv.CollectRuntimeStats, nil)
}
+ defer e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
}
return e.children[0].Close()
}
@@ -463,7 +464,6 @@ func (e *UpdateExec) collectRuntimeStatsEnabled() bool {
SnapshotRuntimeStats: &txnsnapshot.SnapshotRuntimeStats{},
AllocatorRuntimeStats: autoid.NewAllocatorRuntimeStats(),
}
- e.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(e.id, e.stats)
}
return true
}
diff --git a/executor/write.go b/executor/write.go
index 01359b56a2571..363bb097fd02c 100644
--- a/executor/write.go
+++ b/executor/write.go
@@ -57,12 +57,6 @@ func updateRecord(ctx context.Context, sctx sessionctx.Context, h kv.Handle, old
defer span1.Finish()
ctx = opentracing.ContextWithSpan(ctx, span1)
}
- txn, err := sctx.Txn(false)
- if err != nil {
- return false, err
- }
- memUsageOfTxnState := txn.Size()
- defer memTracker.Consume(int64(txn.Size() - memUsageOfTxnState))
sc := sctx.GetSessionVars().StmtCtx
changed, handleChanged := false, false
// onUpdateSpecified is for "UPDATE SET ts_field = old_value", the
@@ -115,7 +109,7 @@ func updateRecord(ctx context.Context, sctx sessionctx.Context, h kv.Handle, old
if err != nil {
return false, err
}
- if err = t.Allocators(sctx).Get(autoid.RowIDAllocType).Rebase(ctx, recordID, true); err != nil {
+ if err = t.Allocators(sctx).Get(autoid.AutoIncrementType).Rebase(ctx, recordID, true); err != nil {
return false, err
}
}
@@ -207,7 +201,7 @@ func updateRecord(ctx context.Context, sctx sessionctx.Context, h kv.Handle, old
}
} else {
// Update record to new value and update index.
- if err = t.UpdateRecord(ctx, sctx, h, oldData, newData, modified); err != nil {
+ if err := t.UpdateRecord(ctx, sctx, h, oldData, newData, modified); err != nil {
if terr, ok := errors.Cause(err).(*terror.Error); sctx.GetSessionVars().StmtCtx.IgnoreNoPartition && ok && terr.Code() == errno.ErrNoPartitionForGivenValue {
return false, nil
}
diff --git a/executor/writetest/BUILD.bazel b/executor/writetest/BUILD.bazel
new file mode 100644
index 0000000000000..2ddc46c29ad82
--- /dev/null
+++ b/executor/writetest/BUILD.bazel
@@ -0,0 +1,38 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_test")
+
+go_test(
+ name = "writetest_test",
+ srcs = [
+ "main_test.go",
+ "write_test.go",
+ ],
+ flaky = True,
+ race = "on",
+ shard_count = 50,
+ deps = [
+ "//config",
+ "//executor",
+ "//kv",
+ "//meta/autoid",
+ "//parser/model",
+ "//parser/mysql",
+ "//planner/core",
+ "//session",
+ "//sessionctx",
+ "//sessionctx/stmtctx",
+ "//sessionctx/variable",
+ "//sessiontxn",
+ "//store/mockstore",
+ "//table",
+ "//table/tables",
+ "//testkit",
+ "//types",
+ "//util",
+ "//util/mock",
+ "@com_github_pingcap_failpoint//:failpoint",
+ "@com_github_stretchr_testify//require",
+ "@com_github_tikv_client_go_v2//tikv",
+ "@io_opencensus_go//stats/view",
+ "@org_uber_go_goleak//:goleak",
+ ],
+)
diff --git a/executor/writetest/main_test.go b/executor/writetest/main_test.go
new file mode 100644
index 0000000000000..075e1f91b488a
--- /dev/null
+++ b/executor/writetest/main_test.go
@@ -0,0 +1,60 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package writetest
+
+import (
+ "fmt"
+ "testing"
+
+ "github.com/pingcap/tidb/config"
+ "github.com/pingcap/tidb/meta/autoid"
+ "github.com/pingcap/tidb/testkit"
+ "github.com/tikv/client-go/v2/tikv"
+ "go.opencensus.io/stats/view"
+ "go.uber.org/goleak"
+)
+
+func TestMain(m *testing.M) {
+ autoid.SetStep(5000)
+ config.UpdateGlobal(func(conf *config.Config) {
+ conf.Log.SlowThreshold = 30000 // 30s
+ conf.TiKVClient.AsyncCommit.SafeWindow = 0
+ conf.TiKVClient.AsyncCommit.AllowedClockDrift = 0
+ conf.Experimental.AllowsExpressionIndex = true
+ })
+ tikv.EnableFailpoints()
+
+ opts := []goleak.Option{
+ goleak.Cleanup(func(_ int) {
+ view.Stop()
+ }),
+ goleak.IgnoreTopFunction("github.com/golang/glog.(*loggingT).flushDaemon"),
+ goleak.IgnoreTopFunction("github.com/lestrrat-go/httprc.runFetchWorker"),
+ goleak.IgnoreTopFunction("go.etcd.io/etcd/client/pkg/v3/logutil.(*MergeLogger).outputLoop"),
+ goleak.IgnoreTopFunction("gopkg.in/natefinch/lumberjack%2ev2.(*Logger).millRun"),
+ goleak.IgnoreTopFunction("github.com/tikv/client-go/v2/txnkv/transaction.keepAlive"),
+ }
+
+ goleak.VerifyTestMain(m, opts...)
+}
+
+func fillData(tk *testkit.TestKit, table string) {
+ tk.MustExec("use test")
+ tk.MustExec(fmt.Sprintf("create table %s(id int not null default 1, name varchar(255), PRIMARY KEY(id));", table))
+
+ // insert data
+ tk.MustExec(fmt.Sprintf("insert INTO %s VALUES (1, \"hello\");", table))
+ tk.MustExec(fmt.Sprintf("insert into %s values (2, \"hello\");", table))
+}
diff --git a/executor/write_test.go b/executor/writetest/write_test.go
similarity index 98%
rename from executor/write_test.go
rename to executor/writetest/write_test.go
index 32aa261c5518d..f6846a944a486 100644
--- a/executor/write_test.go
+++ b/executor/writetest/write_test.go
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package executor_test
+package writetest
import (
"context"
@@ -592,6 +592,25 @@ commit;`
tk.MustQuery("show warnings").Check(testkit.Rows("Warning 1526 Table has no partition for value 3"))
}
+func TestIssue38950(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ var cfg kv.InjectionConfig
+ tk := testkit.NewTestKit(t, kv.NewInjectedStore(store, &cfg))
+ tk.MustExec("use test;")
+ tk.MustExec("drop table if exists t; create table t (id smallint auto_increment primary key);")
+ tk.MustExec("alter table t add column c1 int default 1;")
+ tk.MustExec("insert ignore into t(id) values (194626268);")
+ require.Empty(t, tk.Session().LastMessage())
+
+ tk.MustQuery("select * from t").Check(testkit.Rows("32767 1"))
+
+ tk.MustExec("insert ignore into t(id) values ('*') on duplicate key update c1 = 2;")
+ require.Equal(t, int64(2), int64(tk.Session().AffectedRows()))
+ require.Empty(t, tk.Session().LastMessage())
+
+ tk.MustQuery("select * from t").Check(testkit.Rows("32767 2"))
+}
+
func TestInsertOnDup(t *testing.T) {
store := testkit.CreateMockStore(t)
var cfg kv.InjectionConfig
@@ -4299,3 +4318,23 @@ func TestIssueInsertPrefixIndexForNonUTF8Collation(t *testing.T) {
tk.MustExec("insert into t3 select 'abc '")
tk.MustGetErrCode("insert into t3 select 'abc d'", 1062)
}
+
+func TestMutipleReplaceAndInsertInOneSession(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("create table t_securities(id bigint not null auto_increment primary key, security_id varchar(8), market_id smallint, security_type int, unique key uu(security_id, market_id))")
+ tk.MustExec(`insert into t_securities (security_id, market_id, security_type) values ("1", 2, 7), ("7", 1, 7) ON DUPLICATE KEY UPDATE security_type = VALUES(security_type)`)
+ tk.MustExec(`replace into t_securities (security_id, market_id, security_type) select security_id+1, 1, security_type from t_securities where security_id="7";`)
+ tk.MustExec(`INSERT INTO t_securities (security_id, market_id, security_type) values ("1", 2, 7), ("7", 1, 7) ON DUPLICATE KEY UPDATE security_type = VALUES(security_type)`)
+
+ tk.MustQuery("select * from t_securities").Sort().Check(testkit.Rows("1 1 2 7", "2 7 1 7", "3 8 1 7"))
+
+ tk2 := testkit.NewTestKit(t, store)
+ tk2.MustExec("use test")
+ tk2.MustExec(`insert into t_securities (security_id, market_id, security_type) values ("1", 2, 7), ("7", 1, 7) ON DUPLICATE KEY UPDATE security_type = VALUES(security_type)`)
+ tk2.MustExec(`insert into t_securities (security_id, market_id, security_type) select security_id+2, 1, security_type from t_securities where security_id="7";`)
+ tk2.MustExec(`INSERT INTO t_securities (security_id, market_id, security_type) values ("1", 2, 7), ("7", 1, 7) ON DUPLICATE KEY UPDATE security_type = VALUES(security_type)`)
+
+ tk2.MustQuery("select * from t_securities").Sort().Check(testkit.Rows("1 1 2 7", "2 7 1 7", "3 8 1 7", "8 9 1 7"))
+}
diff --git a/expression/BUILD.bazel b/expression/BUILD.bazel
index b5cd5ff84300f..17436f517a673 100644
--- a/expression/BUILD.bazel
+++ b/expression/BUILD.bazel
@@ -97,6 +97,7 @@ go_library(
"//util/mathutil",
"//util/mock",
"//util/parser",
+ "//util/password-validation",
"//util/plancodec",
"//util/printer",
"//util/sem",
@@ -110,6 +111,7 @@ go_library(
"@com_github_pingcap_errors//:errors",
"@com_github_pingcap_failpoint//:failpoint",
"@com_github_pingcap_tipb//go-tipb",
+ "@com_github_pkg_errors//:errors",
"@com_github_tikv_client_go_v2//oracle",
"@org_golang_x_exp//slices",
"@org_golang_x_tools//container/intsets",
@@ -120,7 +122,7 @@ go_library(
go_test(
name = "expression_test",
- timeout = "short",
+ timeout = "moderate",
srcs = [
"bench_test.go",
"builtin_arithmetic_test.go",
@@ -175,6 +177,7 @@ go_test(
"integration_serial_test.go",
"integration_test.go",
"main_test.go",
+ "multi_valued_index_test.go",
"scalar_function_test.go",
"schema_test.go",
"typeinfer_test.go",
@@ -183,6 +186,7 @@ go_test(
data = glob(["testdata/**"]),
embed = [":expression"],
flaky = True,
+ race = "on",
shard_count = 50,
deps = [
"//config",
diff --git a/expression/builtin.go b/expression/builtin.go
index f10cf9aa3dfa9..66abac551a3e6 100644
--- a/expression/builtin.go
+++ b/expression/builtin.go
@@ -873,7 +873,9 @@ var funcs = map[string]functionClass{
ast.JSONMerge: &jsonMergeFunctionClass{baseFunctionClass{ast.JSONMerge, 2, -1}},
ast.JSONObject: &jsonObjectFunctionClass{baseFunctionClass{ast.JSONObject, 0, -1}},
ast.JSONArray: &jsonArrayFunctionClass{baseFunctionClass{ast.JSONArray, 0, -1}},
+ ast.JSONMemberOf: &jsonMemberOfFunctionClass{baseFunctionClass{ast.JSONMemberOf, 2, 2}},
ast.JSONContains: &jsonContainsFunctionClass{baseFunctionClass{ast.JSONContains, 2, 3}},
+ ast.JSONOverlaps: &jsonOverlapsFunctionClass{baseFunctionClass{ast.JSONOverlaps, 2, 2}},
ast.JSONContainsPath: &jsonContainsPathFunctionClass{baseFunctionClass{ast.JSONContainsPath, 3, -1}},
ast.JSONValid: &jsonValidFunctionClass{baseFunctionClass{ast.JSONValid, 1, 1}},
ast.JSONArrayAppend: &jsonArrayAppendFunctionClass{baseFunctionClass{ast.JSONArrayAppend, 3, -1}},
diff --git a/expression/builtin_cast.go b/expression/builtin_cast.go
index 0dd7e20cce24e..aa875c98b0395 100644
--- a/expression/builtin_cast.go
+++ b/expression/builtin_cast.go
@@ -23,6 +23,7 @@
package expression
import (
+ "fmt"
"math"
"strconv"
"strings"
@@ -35,6 +36,7 @@ import (
"github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/parser/terror"
"github.com/pingcap/tidb/sessionctx"
+ "github.com/pingcap/tidb/sessionctx/stmtctx"
"github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/types"
"github.com/pingcap/tidb/util/chunk"
@@ -407,6 +409,141 @@ func (c *castAsDurationFunctionClass) getFunction(ctx sessionctx.Context, args [
return sig, nil
}
+type castAsArrayFunctionClass struct {
+ baseFunctionClass
+
+ tp *types.FieldType
+}
+
+func (c *castAsArrayFunctionClass) verifyArgs(args []Expression) error {
+ if err := c.baseFunctionClass.verifyArgs(args); err != nil {
+ return err
+ }
+
+ if args[0].GetType().EvalType() != types.ETJson {
+ return ErrInvalidTypeForJSON.GenWithStackByArgs(1, "cast_as_array")
+ }
+
+ return nil
+}
+
+func (c *castAsArrayFunctionClass) getFunction(ctx sessionctx.Context, args []Expression) (sig builtinFunc, err error) {
+ if err := c.verifyArgs(args); err != nil {
+ return nil, err
+ }
+ arrayType := c.tp.ArrayType()
+ switch arrayType.GetType() {
+ case mysql.TypeYear, mysql.TypeJSON:
+ return nil, ErrNotSupportedYet.GenWithStackByArgs(fmt.Sprintf("CAST-ing data to array of %s", arrayType.String()))
+ }
+ if arrayType.EvalType() == types.ETString && arrayType.GetCharset() != charset.CharsetUTF8MB4 && arrayType.GetCharset() != charset.CharsetBin {
+ return nil, ErrNotSupportedYet.GenWithStackByArgs("specifying charset for multi-valued index", arrayType.String())
+ }
+
+ bf, err := newBaseBuiltinFunc(ctx, c.funcName, args, c.tp)
+ if err != nil {
+ return nil, err
+ }
+ sig = &castJSONAsArrayFunctionSig{bf}
+ return sig, nil
+}
+
+type castJSONAsArrayFunctionSig struct {
+ baseBuiltinFunc
+}
+
+func (b *castJSONAsArrayFunctionSig) Clone() builtinFunc {
+ newSig := &castJSONAsArrayFunctionSig{}
+ newSig.cloneFrom(&b.baseBuiltinFunc)
+ return newSig
+}
+
+// fakeSctx is used to ignore the sql mode, `cast as array` should always return error if any.
+var fakeSctx = &stmtctx.StatementContext{InInsertStmt: true}
+
+func (b *castJSONAsArrayFunctionSig) evalJSON(row chunk.Row) (res types.BinaryJSON, isNull bool, err error) {
+ val, isNull, err := b.args[0].EvalJSON(b.ctx, row)
+ if isNull || err != nil {
+ return res, isNull, err
+ }
+
+ if val.TypeCode != types.JSONTypeCodeArray {
+ return types.BinaryJSON{}, false, ErrNotSupportedYet.GenWithStackByArgs("CAST-ing Non-JSON Array type to array")
+ }
+
+ arrayVals := make([]any, 0, len(b.args))
+ ft := b.tp.ArrayType()
+ f := convertJSON2Tp(ft.EvalType())
+ if f == nil {
+ return types.BinaryJSON{}, false, ErrNotSupportedYet.GenWithStackByArgs("CAS-ing JSON to the target type")
+ }
+ for i := 0; i < val.GetElemCount(); i++ {
+ item, err := f(fakeSctx, val.ArrayGetElem(i), ft)
+ if err != nil {
+ return types.BinaryJSON{}, false, err
+ }
+ arrayVals = append(arrayVals, item)
+ }
+ return types.CreateBinaryJSON(arrayVals), false, nil
+}
+
+// ConvertJSON2Tp returns a function that can convert JSON to the specified type.
+func ConvertJSON2Tp(v types.BinaryJSON, targetType *types.FieldType) (any, error) {
+ convertFunc := convertJSON2Tp(targetType.EvalType())
+ if convertFunc == nil {
+ return nil, ErrInvalidJSONForFuncIndex
+ }
+ return convertFunc(fakeSctx, v, targetType)
+}
+
+func convertJSON2Tp(evalType types.EvalType) func(*stmtctx.StatementContext, types.BinaryJSON, *types.FieldType) (any, error) {
+ switch evalType {
+ case types.ETString:
+ return func(sc *stmtctx.StatementContext, item types.BinaryJSON, tp *types.FieldType) (any, error) {
+ if item.TypeCode != types.JSONTypeCodeString {
+ return nil, ErrInvalidJSONForFuncIndex
+ }
+ return types.ProduceStrWithSpecifiedTp(string(item.GetString()), tp, sc, false)
+ }
+ case types.ETInt:
+ return func(sc *stmtctx.StatementContext, item types.BinaryJSON, tp *types.FieldType) (any, error) {
+ if item.TypeCode != types.JSONTypeCodeInt64 && item.TypeCode != types.JSONTypeCodeUint64 {
+ return nil, ErrInvalidJSONForFuncIndex
+ }
+ return types.ConvertJSONToInt(sc, item, mysql.HasUnsignedFlag(tp.GetFlag()), tp.GetType())
+ }
+ case types.ETReal, types.ETDecimal:
+ return func(sc *stmtctx.StatementContext, item types.BinaryJSON, tp *types.FieldType) (any, error) {
+ if item.TypeCode != types.JSONTypeCodeInt64 && item.TypeCode != types.JSONTypeCodeUint64 && item.TypeCode != types.JSONTypeCodeFloat64 {
+ return nil, ErrInvalidJSONForFuncIndex
+ }
+ return types.ConvertJSONToFloat(sc, item)
+ }
+ case types.ETDatetime:
+ return func(sc *stmtctx.StatementContext, item types.BinaryJSON, tp *types.FieldType) (any, error) {
+ if (tp.GetType() == mysql.TypeDatetime && item.TypeCode != types.JSONTypeCodeDatetime) || (tp.GetType() == mysql.TypeDate && item.TypeCode != types.JSONTypeCodeDate) {
+ return nil, ErrInvalidJSONForFuncIndex
+ }
+ res := item.GetTime()
+ res.SetType(tp.GetType())
+ if tp.GetType() == mysql.TypeDate {
+ // Truncate hh:mm:ss part if the type is Date.
+ res.SetCoreTime(types.FromDate(res.Year(), res.Month(), res.Day(), 0, 0, 0, 0))
+ }
+ return res, nil
+ }
+ case types.ETDuration:
+ return func(sc *stmtctx.StatementContext, item types.BinaryJSON, tp *types.FieldType) (any, error) {
+ if item.TypeCode != types.JSONTypeCodeDuration {
+ return nil, ErrInvalidJSONForFuncIndex
+ }
+ return item.GetDuration(), nil
+ }
+ default:
+ return nil
+ }
+}
+
type castAsJSONFunctionClass struct {
baseFunctionClass
@@ -1722,7 +1859,11 @@ func (b *builtinCastJSONAsStringSig) evalString(row chunk.Row) (res string, isNu
if isNull || err != nil {
return res, isNull, err
}
- return val.String(), false, nil
+ s, err := types.ProduceStrWithSpecifiedTp(val.String(), b.tp, b.ctx.GetSessionVars().StmtCtx, false)
+ if err != nil {
+ return res, false, err
+ }
+ return s, false, nil
}
type builtinCastJSONAsTimeSig struct {
@@ -1910,6 +2051,13 @@ func BuildCastCollationFunction(ctx sessionctx.Context, expr Expression, ec *Exp
// BuildCastFunction builds a CAST ScalarFunction from the Expression.
func BuildCastFunction(ctx sessionctx.Context, expr Expression, tp *types.FieldType) (res Expression) {
+ res, err := BuildCastFunctionWithCheck(ctx, expr, tp)
+ terror.Log(err)
+ return
+}
+
+// BuildCastFunctionWithCheck builds a CAST ScalarFunction from the Expression and return error if any.
+func BuildCastFunctionWithCheck(ctx sessionctx.Context, expr Expression, tp *types.FieldType) (res Expression, err error) {
argType := expr.GetType()
// If source argument's nullable, then target type should be nullable
if !mysql.HasNotNullFlag(argType.GetFlag()) {
@@ -1929,7 +2077,11 @@ func BuildCastFunction(ctx sessionctx.Context, expr Expression, tp *types.FieldT
case types.ETDuration:
fc = &castAsDurationFunctionClass{baseFunctionClass{ast.Cast, 1, 1}, tp}
case types.ETJson:
- fc = &castAsJSONFunctionClass{baseFunctionClass{ast.Cast, 1, 1}, tp}
+ if tp.IsArray() {
+ fc = &castAsArrayFunctionClass{baseFunctionClass{ast.Cast, 1, 1}, tp}
+ } else {
+ fc = &castAsJSONFunctionClass{baseFunctionClass{ast.Cast, 1, 1}, tp}
+ }
case types.ETString:
fc = &castAsStringFunctionClass{baseFunctionClass{ast.Cast, 1, 1}, tp}
if expr.GetType().GetType() == mysql.TypeBit {
@@ -1937,7 +2089,6 @@ func BuildCastFunction(ctx sessionctx.Context, expr Expression, tp *types.FieldT
}
}
f, err := fc.getFunction(ctx, []Expression{expr})
- terror.Log(err)
res = &ScalarFunction{
FuncName: model.NewCIStr(ast.Cast),
RetType: tp,
@@ -1946,10 +2097,10 @@ func BuildCastFunction(ctx sessionctx.Context, expr Expression, tp *types.FieldT
// We do not fold CAST if the eval type of this scalar function is ETJson
// since we may reset the flag of the field type of CastAsJson later which
// would affect the evaluation of it.
- if tp.EvalType() != types.ETJson {
+ if tp.EvalType() != types.ETJson && err == nil {
res = FoldConstant(res)
}
- return res
+ return res, err
}
// WrapWithCastAsInt wraps `expr` with `cast` if the return type of expr is not
diff --git a/expression/builtin_cast_test.go b/expression/builtin_cast_test.go
index f8e789a527620..8208e0a0af0d6 100644
--- a/expression/builtin_cast_test.go
+++ b/expression/builtin_cast_test.go
@@ -719,6 +719,13 @@ func TestCastFuncSig(t *testing.T) {
3,
chunk.MutRowFromDatums([]types.Datum{types.NewStringDatum("你好world")}),
},
+ // cast json as string
+ {
+ &Column{RetType: types.NewFieldType(mysql.TypeJSON), Index: 0},
+ fmt.Sprintf(`"%s`, curTimeString[:2]),
+ 3,
+ chunk.MutRowFromDatums([]types.Datum{jsonTime}),
+ },
}
for i, c := range castToStringCases2 {
args := []Expression{c.before}
@@ -741,6 +748,8 @@ func TestCastFuncSig(t *testing.T) {
case 5:
stringFunc.tp.SetCharset(charset.CharsetUTF8)
sig = &builtinCastStringAsStringSig{stringFunc}
+ case 6:
+ sig = &builtinCastJSONAsStringSig{stringFunc}
}
res, isNull, err := sig.evalString(c.row.ToRow())
require.False(t, isNull)
@@ -1610,3 +1619,73 @@ func TestCastBinaryStringAsJSONSig(t *testing.T) {
require.Equal(t, tt.resultStr, res.String())
}
}
+
+func TestCastArrayFunc(t *testing.T) {
+ ctx := createContext(t)
+ tbl := []struct {
+ input interface{}
+ expected interface{}
+ tp *types.FieldType
+ success bool
+ buildFuncSuccess bool
+ }{
+ {
+ []interface{}{int64(-1), int64(2), int64(3)},
+ []interface{}{int64(-1), int64(2), int64(3)},
+ types.NewFieldTypeBuilder().SetType(mysql.TypeLonglong).SetCharset(charset.CharsetBin).SetCollate(charset.CollationBin).SetArray(true).BuildP(),
+ true,
+ true,
+ },
+ {
+ []interface{}{int64(-1), int64(2), int64(3)},
+ nil,
+ types.NewFieldTypeBuilder().SetType(mysql.TypeString).SetCharset(charset.CharsetUTF8MB4).SetCollate(charset.CollationUTF8MB4).SetArray(true).BuildP(),
+ false,
+ true,
+ },
+ {
+ []interface{}{"1"},
+ nil,
+ types.NewFieldTypeBuilder().SetType(mysql.TypeLonglong).SetCharset(charset.CharsetBin).SetCollate(charset.CharsetBin).SetArray(true).BuildP(),
+ false,
+ true,
+ },
+ {
+ []interface{}{"1", "2"},
+ nil,
+ types.NewFieldTypeBuilder().SetType(mysql.TypeDouble).SetCharset(charset.CharsetBin).SetCollate(charset.CharsetBin).SetArray(true).BuildP(),
+ false,
+ true,
+ },
+ {
+ []interface{}{int64(-1), 2.1, int64(3)},
+ []interface{}{int64(-1), 2.1, int64(3)},
+ types.NewFieldTypeBuilder().SetType(mysql.TypeDouble).SetCharset(charset.CharsetBin).SetCollate(charset.CharsetBin).SetArray(true).BuildP(),
+ true,
+ true,
+ },
+ }
+ for _, tt := range tbl {
+ f, err := BuildCastFunctionWithCheck(ctx, datumsToConstants(types.MakeDatums(types.CreateBinaryJSON(tt.input)))[0], tt.tp)
+ if tt.buildFuncSuccess {
+ require.NoError(t, err, tt.input)
+ } else {
+ require.Error(t, err, tt.input)
+ continue
+ }
+
+ val, isNull, err := f.EvalJSON(ctx, chunk.Row{})
+ if tt.success {
+ require.NoError(t, err, tt.input)
+ if tt.expected == nil {
+ require.True(t, isNull, tt.input)
+ } else {
+ j1 := types.CreateBinaryJSON(tt.expected)
+ cmp := types.CompareBinaryJSON(j1, val)
+ require.Equal(t, 0, cmp, tt.input)
+ }
+ } else {
+ require.Error(t, err, tt.input)
+ }
+ }
+}
diff --git a/expression/builtin_cast_vec.go b/expression/builtin_cast_vec.go
index 8b82d86b776e5..2b8a029c4b03b 100644
--- a/expression/builtin_cast_vec.go
+++ b/expression/builtin_cast_vec.go
@@ -1186,7 +1186,11 @@ func (b *builtinCastJSONAsStringSig) vecEvalString(input *chunk.Chunk, result *c
result.AppendNull()
continue
}
- result.AppendString(buf.GetJSON(i).String())
+ s, err := types.ProduceStrWithSpecifiedTp(buf.GetJSON(i).String(), b.tp, b.ctx.GetSessionVars().StmtCtx, false)
+ if err != nil {
+ return err
+ }
+ result.AppendString(s)
}
return nil
}
diff --git a/expression/builtin_compare.go b/expression/builtin_compare.go
index 3baa86b635ba6..dec5d06983679 100644
--- a/expression/builtin_compare.go
+++ b/expression/builtin_compare.go
@@ -28,6 +28,7 @@ import (
"github.com/pingcap/tidb/util/chunk"
"github.com/pingcap/tidb/util/collate"
"github.com/pingcap/tipb/go-tipb"
+ "github.com/pkg/errors"
)
var (
@@ -1574,12 +1575,18 @@ func (c *compareFunctionClass) refineArgs(ctx sessionctx.Context, args []Express
// To keep the result be compatible with MySQL, refine `int non-constant str constant`
// here and skip this refine operation in all other cases for safety.
if (arg0IsInt && !arg0IsCon && arg1IsString && arg1IsCon) || (arg1IsInt && !arg1IsCon && arg0IsString && arg0IsCon) {
- ctx.GetSessionVars().StmtCtx.SkipPlanCache = true
+ var reason error
+ if arg1IsString {
+ reason = errors.Errorf("skip plan-cache: '%v' may be converted to INT", arg1.String())
+ } else { // arg0IsString
+ reason = errors.Errorf("skip plan-cache: '%v' may be converted to INT", arg0.String())
+ }
+ ctx.GetSessionVars().StmtCtx.SetSkipPlanCache(reason)
RemoveMutableConst(ctx, args)
} else {
return args
}
- } else if ctx.GetSessionVars().StmtCtx.SkipPlanCache {
+ } else if !ctx.GetSessionVars().StmtCtx.UseCache {
// We should remove the mutable constant for correctness, because its value may be changed.
RemoveMutableConst(ctx, args)
}
diff --git a/expression/builtin_encryption.go b/expression/builtin_encryption.go
index a206a9d4970bb..fb451f9714cd4 100644
--- a/expression/builtin_encryption.go
+++ b/expression/builtin_encryption.go
@@ -37,6 +37,7 @@ import (
"github.com/pingcap/tidb/types"
"github.com/pingcap/tidb/util/chunk"
"github.com/pingcap/tidb/util/encrypt"
+ pwdValidator "github.com/pingcap/tidb/util/password-validation"
"github.com/pingcap/tipb/go-tipb"
)
@@ -73,6 +74,7 @@ var (
_ builtinFunc = &builtinSHA2Sig{}
_ builtinFunc = &builtinUncompressSig{}
_ builtinFunc = &builtinUncompressedLengthSig{}
+ _ builtinFunc = &builtinValidatePasswordStrengthSig{}
)
// aesModeAttr indicates that the key length and iv attribute for specific block_encryption_mode.
@@ -728,7 +730,6 @@ func (c *sm3FunctionClass) getFunction(ctx sessionctx.Context, args []Expression
bf.tp.SetCollate(collate)
bf.tp.SetFlen(40)
sig := &builtinSM3Sig{bf}
- //sig.setPbCode(tipb.ScalarFuncSig_SM3) // TODO
return sig, nil
}
@@ -1010,5 +1011,66 @@ type validatePasswordStrengthFunctionClass struct {
}
func (c *validatePasswordStrengthFunctionClass) getFunction(ctx sessionctx.Context, args []Expression) (builtinFunc, error) {
- return nil, errFunctionNotExists.GenWithStackByArgs("FUNCTION", "VALIDATE_PASSWORD_STRENGTH")
+ if err := c.verifyArgs(args); err != nil {
+ return nil, err
+ }
+ bf, err := newBaseBuiltinFuncWithTp(ctx, c.funcName, args, types.ETInt, types.ETString)
+ if err != nil {
+ return nil, err
+ }
+ bf.tp.SetFlen(21)
+ sig := &builtinValidatePasswordStrengthSig{bf}
+ return sig, nil
+}
+
+type builtinValidatePasswordStrengthSig struct {
+ baseBuiltinFunc
+}
+
+func (b *builtinValidatePasswordStrengthSig) Clone() builtinFunc {
+ newSig := &builtinValidatePasswordStrengthSig{}
+ newSig.cloneFrom(&b.baseBuiltinFunc)
+ return newSig
+}
+
+// evalInt evals VALIDATE_PASSWORD_STRENGTH(str).
+// See https://dev.mysql.com/doc/refman/8.0/en/encryption-functions.html#function_validate-password-strength
+func (b *builtinValidatePasswordStrengthSig) evalInt(row chunk.Row) (int64, bool, error) {
+ globalVars := b.ctx.GetSessionVars().GlobalVarsAccessor
+ str, isNull, err := b.args[0].EvalString(b.ctx, row)
+ if err != nil || isNull {
+ return 0, true, err
+ } else if len([]rune(str)) < 4 {
+ return 0, false, nil
+ }
+ if validation, err := globalVars.GetGlobalSysVar(variable.ValidatePasswordEnable); err != nil {
+ return 0, true, err
+ } else if !variable.TiDBOptOn(validation) {
+ return 0, false, nil
+ }
+ return b.validateStr(str, &globalVars)
+}
+
+func (b *builtinValidatePasswordStrengthSig) validateStr(str string, globalVars *variable.GlobalVarAccessor) (int64, bool, error) {
+ if warn, err := pwdValidator.ValidateUserNameInPassword(str, b.ctx.GetSessionVars()); err != nil {
+ return 0, true, err
+ } else if len(warn) > 0 {
+ return 0, false, nil
+ }
+ if warn, err := pwdValidator.ValidatePasswordLowPolicy(str, globalVars); err != nil {
+ return 0, true, err
+ } else if len(warn) > 0 {
+ return 25, false, nil
+ }
+ if warn, err := pwdValidator.ValidatePasswordMediumPolicy(str, globalVars); err != nil {
+ return 0, true, err
+ } else if len(warn) > 0 {
+ return 50, false, nil
+ }
+ if ok, err := pwdValidator.ValidateDictionaryPassword(str, globalVars); err != nil {
+ return 0, true, err
+ } else if !ok {
+ return 75, false, nil
+ }
+ return 100, false, nil
}
diff --git a/expression/builtin_encryption_test.go b/expression/builtin_encryption_test.go
index 0f74ab611aa48..087fb3f35e466 100644
--- a/expression/builtin_encryption_test.go
+++ b/expression/builtin_encryption_test.go
@@ -15,12 +15,14 @@
package expression
import (
+ "context"
"encoding/hex"
"fmt"
"strings"
"testing"
"github.com/pingcap/tidb/parser/ast"
+ "github.com/pingcap/tidb/parser/auth"
"github.com/pingcap/tidb/parser/charset"
"github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/parser/terror"
@@ -631,6 +633,55 @@ func TestUncompressLength(t *testing.T) {
}
}
+func TestValidatePasswordStrength(t *testing.T) {
+ ctx := createContext(t)
+ ctx.GetSessionVars().User = &auth.UserIdentity{Username: "testuser"}
+ globalVarsAccessor := variable.NewMockGlobalAccessor4Tests()
+ ctx.GetSessionVars().GlobalVarsAccessor = globalVarsAccessor
+ err := globalVarsAccessor.SetGlobalSysVar(context.Background(), variable.ValidatePasswordDictionary, "1234")
+ require.NoError(t, err)
+
+ tests := []struct {
+ in interface{}
+ expect interface{}
+ }{
+ {nil, nil},
+ {"123", 0},
+ {"testuser123", 0},
+ {"resutset123", 0},
+ {"12345", 25},
+ {"12345678", 50},
+ {"!Abc12345678", 75},
+ {"!Abc87654321", 100},
+ }
+
+ fc := funcs[ast.ValidatePasswordStrength]
+ // disable password validation
+ for _, test := range tests {
+ arg := types.NewDatum(test.in)
+ f, err := fc.getFunction(ctx, datumsToConstants([]types.Datum{arg}))
+ require.NoErrorf(t, err, "%v", test)
+ out, err := evalBuiltinFunc(f, chunk.Row{})
+ require.NoErrorf(t, err, "%v", test)
+ if test.expect == nil {
+ require.Equal(t, types.NewDatum(nil), out)
+ } else {
+ require.Equalf(t, types.NewDatum(0), out, "%v", test)
+ }
+ }
+ // enable password validation
+ err = globalVarsAccessor.SetGlobalSysVar(context.Background(), variable.ValidatePasswordEnable, "ON")
+ require.NoError(t, err)
+ for _, test := range tests {
+ arg := types.NewDatum(test.in)
+ f, err := fc.getFunction(ctx, datumsToConstants([]types.Datum{arg}))
+ require.NoErrorf(t, err, "%v", test)
+ out, err := evalBuiltinFunc(f, chunk.Row{})
+ require.NoErrorf(t, err, "%v", test)
+ require.Equalf(t, types.NewDatum(test.expect), out, "%v", test)
+ }
+}
+
func TestPassword(t *testing.T) {
ctx := createContext(t)
cases := []struct {
diff --git a/expression/builtin_encryption_vec.go b/expression/builtin_encryption_vec.go
index e9a1d45ae67be..ff71913f8d70b 100644
--- a/expression/builtin_encryption_vec.go
+++ b/expression/builtin_encryption_vec.go
@@ -30,6 +30,7 @@ import (
"github.com/pingcap/errors"
"github.com/pingcap/tidb/parser/auth"
+ "github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/types"
"github.com/pingcap/tidb/util/chunk"
"github.com/pingcap/tidb/util/encrypt"
@@ -863,3 +864,45 @@ func (b *builtinUncompressedLengthSig) vecEvalInt(input *chunk.Chunk, result *ch
}
return nil
}
+
+func (b *builtinValidatePasswordStrengthSig) vectorized() bool {
+ return true
+}
+
+func (b *builtinValidatePasswordStrengthSig) vecEvalInt(input *chunk.Chunk, result *chunk.Column) error {
+ n := input.NumRows()
+ buf, err := b.bufAllocator.get()
+ if err != nil {
+ return err
+ }
+ defer b.bufAllocator.put(buf)
+ if err := b.args[0].VecEvalString(b.ctx, input, buf); err != nil {
+ return err
+ }
+
+ result.ResizeInt64(n, false)
+ result.MergeNulls(buf)
+ i64s := result.Int64s()
+ globalVars := b.ctx.GetSessionVars().GlobalVarsAccessor
+ enableValidation := false
+ validation, err := globalVars.GetGlobalSysVar(variable.ValidatePasswordEnable)
+ if err != nil {
+ return err
+ }
+ enableValidation = variable.TiDBOptOn(validation)
+ for i := 0; i < n; i++ {
+ if result.IsNull(i) {
+ continue
+ }
+ if !enableValidation {
+ i64s[i] = 0
+ } else if score, isNull, err := b.validateStr(buf.GetString(i), &globalVars); err != nil {
+ return err
+ } else if !isNull {
+ i64s[i] = score
+ } else {
+ result.SetNull(i, true)
+ }
+ }
+ return nil
+}
diff --git a/expression/builtin_encryption_vec_test.go b/expression/builtin_encryption_vec_test.go
index c6caa1eb60d51..46395e51bcb6b 100644
--- a/expression/builtin_encryption_vec_test.go
+++ b/expression/builtin_encryption_vec_test.go
@@ -75,6 +75,9 @@ var vecBuiltinEncryptionCases = map[string][]vecExprBenchCase{
ast.Decode: {
{retEvalType: types.ETString, childrenTypes: []types.EvalType{types.ETString, types.ETString}, geners: []dataGenerator{newRandLenStrGener(10, 20)}},
},
+ ast.ValidatePasswordStrength: {
+ {retEvalType: types.ETInt, childrenTypes: []types.EvalType{types.ETString}},
+ },
}
func TestVectorizedBuiltinEncryptionFunc(t *testing.T) {
diff --git a/expression/builtin_json.go b/expression/builtin_json.go
index e317fa88e952a..e9f803dcc86df 100644
--- a/expression/builtin_json.go
+++ b/expression/builtin_json.go
@@ -43,7 +43,9 @@ var (
_ functionClass = &jsonMergeFunctionClass{}
_ functionClass = &jsonObjectFunctionClass{}
_ functionClass = &jsonArrayFunctionClass{}
+ _ functionClass = &jsonMemberOfFunctionClass{}
_ functionClass = &jsonContainsFunctionClass{}
+ _ functionClass = &jsonOverlapsFunctionClass{}
_ functionClass = &jsonContainsPathFunctionClass{}
_ functionClass = &jsonValidFunctionClass{}
_ functionClass = &jsonArrayAppendFunctionClass{}
@@ -71,7 +73,9 @@ var (
_ builtinFunc = &builtinJSONReplaceSig{}
_ builtinFunc = &builtinJSONRemoveSig{}
_ builtinFunc = &builtinJSONMergeSig{}
+ _ builtinFunc = &builtinJSONMemberOfSig{}
_ builtinFunc = &builtinJSONContainsSig{}
+ _ builtinFunc = &builtinJSONOverlapsSig{}
_ builtinFunc = &builtinJSONStorageSizeSig{}
_ builtinFunc = &builtinJSONDepthSig{}
_ builtinFunc = &builtinJSONSearchSig{}
@@ -740,6 +744,68 @@ func jsonModify(ctx sessionctx.Context, args []Expression, row chunk.Row, mt typ
return res, false, nil
}
+type jsonMemberOfFunctionClass struct {
+ baseFunctionClass
+}
+
+type builtinJSONMemberOfSig struct {
+ baseBuiltinFunc
+}
+
+func (b *builtinJSONMemberOfSig) Clone() builtinFunc {
+ newSig := &builtinJSONMemberOfSig{}
+ newSig.cloneFrom(&b.baseBuiltinFunc)
+ return newSig
+}
+
+func (c *jsonMemberOfFunctionClass) verifyArgs(args []Expression) error {
+ if err := c.baseFunctionClass.verifyArgs(args); err != nil {
+ return err
+ }
+ if evalType := args[1].GetType().EvalType(); evalType != types.ETJson && evalType != types.ETString {
+ return types.ErrInvalidJSONData.GenWithStackByArgs(2, "member of")
+ }
+ return nil
+}
+
+func (c *jsonMemberOfFunctionClass) getFunction(ctx sessionctx.Context, args []Expression) (builtinFunc, error) {
+ if err := c.verifyArgs(args); err != nil {
+ return nil, err
+ }
+ argTps := []types.EvalType{types.ETJson, types.ETJson}
+ bf, err := newBaseBuiltinFuncWithTp(ctx, c.funcName, args, types.ETInt, argTps...)
+ if err != nil {
+ return nil, err
+ }
+ DisableParseJSONFlag4Expr(args[0])
+ sig := &builtinJSONMemberOfSig{bf}
+ return sig, nil
+}
+
+func (b *builtinJSONMemberOfSig) evalInt(row chunk.Row) (res int64, isNull bool, err error) {
+ target, isNull, err := b.args[0].EvalJSON(b.ctx, row)
+ if isNull || err != nil {
+ return res, isNull, err
+ }
+ obj, isNull, err := b.args[1].EvalJSON(b.ctx, row)
+ if isNull || err != nil {
+ return res, isNull, err
+ }
+
+ if obj.TypeCode != types.JSONTypeCodeArray {
+ return boolToInt64(types.CompareBinaryJSON(obj, target) == 0), false, nil
+ }
+
+ elemCount := obj.GetElemCount()
+ for i := 0; i < elemCount; i++ {
+ if types.CompareBinaryJSON(obj.ArrayGetElem(i), target) == 0 {
+ return 1, false, nil
+ }
+ }
+
+ return 0, false, nil
+}
+
type jsonContainsFunctionClass struct {
baseFunctionClass
}
@@ -820,6 +886,62 @@ func (b *builtinJSONContainsSig) evalInt(row chunk.Row) (res int64, isNull bool,
return 0, false, nil
}
+type jsonOverlapsFunctionClass struct {
+ baseFunctionClass
+}
+
+type builtinJSONOverlapsSig struct {
+ baseBuiltinFunc
+}
+
+func (b *builtinJSONOverlapsSig) Clone() builtinFunc {
+ newSig := &builtinJSONOverlapsSig{}
+ newSig.cloneFrom(&b.baseBuiltinFunc)
+ return newSig
+}
+
+func (c *jsonOverlapsFunctionClass) verifyArgs(args []Expression) error {
+ if err := c.baseFunctionClass.verifyArgs(args); err != nil {
+ return err
+ }
+ if evalType := args[0].GetType().EvalType(); evalType != types.ETJson && evalType != types.ETString {
+ return types.ErrInvalidJSONData.GenWithStackByArgs(1, "json_overlaps")
+ }
+ if evalType := args[1].GetType().EvalType(); evalType != types.ETJson && evalType != types.ETString {
+ return types.ErrInvalidJSONData.GenWithStackByArgs(2, "json_overlaps")
+ }
+ return nil
+}
+
+func (c *jsonOverlapsFunctionClass) getFunction(ctx sessionctx.Context, args []Expression) (builtinFunc, error) {
+ if err := c.verifyArgs(args); err != nil {
+ return nil, err
+ }
+
+ argTps := []types.EvalType{types.ETJson, types.ETJson}
+ bf, err := newBaseBuiltinFuncWithTp(ctx, c.funcName, args, types.ETInt, argTps...)
+ if err != nil {
+ return nil, err
+ }
+ sig := &builtinJSONOverlapsSig{bf}
+ return sig, nil
+}
+
+func (b *builtinJSONOverlapsSig) evalInt(row chunk.Row) (res int64, isNull bool, err error) {
+ obj, isNull, err := b.args[0].EvalJSON(b.ctx, row)
+ if isNull || err != nil {
+ return res, isNull, err
+ }
+ target, isNull, err := b.args[1].EvalJSON(b.ctx, row)
+ if isNull || err != nil {
+ return res, isNull, err
+ }
+ if types.OverlapsBinaryJSON(obj, target) {
+ return 1, false, nil
+ }
+ return 0, false, nil
+}
+
type jsonValidFunctionClass struct {
baseFunctionClass
}
diff --git a/expression/builtin_json_test.go b/expression/builtin_json_test.go
index 3e142860fdd27..23da60f380652 100644
--- a/expression/builtin_json_test.go
+++ b/expression/builtin_json_test.go
@@ -386,6 +386,47 @@ func TestJSONRemove(t *testing.T) {
}
}
+func TestJSONMemberOf(t *testing.T) {
+ ctx := createContext(t)
+ fc := funcs[ast.JSONMemberOf]
+ tbl := []struct {
+ input []interface{}
+ expected interface{}
+ err error
+ }{
+ {[]interface{}{`1`, `a:1`}, 1, types.ErrInvalidJSONText},
+
+ {[]interface{}{1, `[1, 2]`}, 1, nil},
+ {[]interface{}{1, `[1]`}, 1, nil},
+ {[]interface{}{1, `[0]`}, 0, nil},
+ {[]interface{}{1, `[1]`}, 1, nil},
+ {[]interface{}{1, `[[1]]`}, 0, nil},
+ {[]interface{}{"1", `[1]`}, 0, nil},
+ {[]interface{}{"1", `["1"]`}, 1, nil},
+ {[]interface{}{`{"a":1}`, `{"a":1}`}, 0, nil},
+ {[]interface{}{`{"a":1}`, `[{"a":1}]`}, 0, nil},
+ {[]interface{}{`{"a":1}`, `[{"a":1}, 1]`}, 0, nil},
+ {[]interface{}{`{"a":1}`, `["{\"a\":1}"]`}, 1, nil},
+ {[]interface{}{`{"a":1}`, `["{\"a\":1}", 1]`}, 1, nil},
+ }
+ for _, tt := range tbl {
+ args := types.MakeDatums(tt.input...)
+ f, err := fc.getFunction(ctx, datumsToConstants(args))
+ require.NoError(t, err, tt.input)
+ d, err := evalBuiltinFunc(f, chunk.Row{})
+ if tt.err == nil {
+ require.NoError(t, err, tt.input)
+ if tt.expected == nil {
+ require.True(t, d.IsNull(), tt.input)
+ } else {
+ require.Equal(t, int64(tt.expected.(int)), d.GetInt64(), tt.input)
+ }
+ } else {
+ require.True(t, tt.err.(*terror.Error).Equal(err), tt.input)
+ }
+ }
+}
+
func TestJSONContains(t *testing.T) {
ctx := createContext(t)
fc := funcs[ast.JSONContains]
@@ -466,6 +507,71 @@ func TestJSONContains(t *testing.T) {
}
}
+func TestJSONOverlaps(t *testing.T) {
+ ctx := createContext(t)
+ fc := funcs[ast.JSONOverlaps]
+ tbl := []struct {
+ input []any
+ expected any
+ err error
+ }{
+ {[]any{`[1,2,[1,3]]`, `a:1`}, 1, types.ErrInvalidJSONText},
+ {[]any{`a:1`, `1`}, 1, types.ErrInvalidJSONText},
+ {[]any{nil, `1`}, nil, nil},
+ {[]any{`1`, nil}, nil, nil},
+
+ {[]any{`[1, 2]`, `[2,3]`}, 1, nil},
+ {[]any{`[1, 2]`, `[2]`}, 1, nil},
+ {[]any{`[1, 2]`, `2`}, 1, nil},
+ {[]any{`[{"a":1}]`, `{"a":1}`}, 1, nil},
+ {[]any{`[{"a":1}]`, `{"a":1,"b":2}`}, 0, nil},
+ {[]any{`[{"a":1}]`, `{"a":2}`}, 0, nil},
+ {[]any{`{"a":[1,2]}`, `{"a":[1]}`}, 0, nil},
+ {[]any{`{"a":[1,2]}`, `{"a":[2,1]}`}, 0, nil},
+ {[]any{`[1,1,1]`, `1`}, 1, nil},
+ {[]any{`1`, `1`}, 1, nil},
+ {[]any{`0`, `1`}, 0, nil},
+ {[]any{`[[1,2], 3]`, `[1,[2,3]]`}, 0, nil},
+ {[]any{`[[1,2], 3]`, `[1,3]`}, 1, nil},
+ {[]any{`{"a":1,"b":10,"d":10}`, `{"a":5,"e":10,"f":1,"d":20}`}, 0, nil},
+ {[]any{`[4,5,"6",7]`, `6`}, 0, nil},
+ {[]any{`[4,5,6,7]`, `"6"`}, 0, nil},
+
+ {[]any{`[2,3]`, `[1, 2]`}, 1, nil},
+ {[]any{`[2]`, `[1, 2]`}, 1, nil},
+ {[]any{`2`, `[1, 2]`}, 1, nil},
+ {[]any{`{"a":1}`, `[{"a":1}]`}, 1, nil},
+ {[]any{`{"a":1,"b":2}`, `[{"a":1}]`}, 0, nil},
+ {[]any{`{"a":2}`, `[{"a":1}]`}, 0, nil},
+ {[]any{`{"a":[1]}`, `{"a":[1,2]}`}, 0, nil},
+ {[]any{`{"a":[2,1]}`, `{"a":[1,2]}`}, 0, nil},
+ {[]any{`1`, `[1,1,1]`}, 1, nil},
+ {[]any{`1`, `1`}, 1, nil},
+ {[]any{`1`, `0`}, 0, nil},
+ {[]any{`[1,[2,3]]`, `[[1,2], 3]`}, 0, nil},
+ {[]any{`[1,3]`, `[[1,2], 3]`}, 1, nil},
+ {[]any{`{"a":5,"e":10,"f":1,"d":20}`, `{"a":1,"b":10,"d":10}`}, 0, nil},
+ {[]any{`6`, `[4,5,"6",7]`}, 0, nil},
+ {[]any{`"6"`, `[4,5,6,7]`}, 0, nil},
+ }
+ for _, tt := range tbl {
+ args := types.MakeDatums(tt.input...)
+ f, err := fc.getFunction(ctx, datumsToConstants(args))
+ require.NoError(t, err, tt.input)
+ d, err := evalBuiltinFunc(f, chunk.Row{})
+ if tt.err == nil {
+ require.NoError(t, err, tt.input)
+ if tt.expected == nil {
+ require.True(t, d.IsNull(), tt.input)
+ } else {
+ require.Equal(t, int64(tt.expected.(int)), d.GetInt64(), tt.input)
+ }
+ } else {
+ require.True(t, tt.err.(*terror.Error).Equal(err), tt.input)
+ }
+ }
+}
+
func TestJSONContainsPath(t *testing.T) {
ctx := createContext(t)
fc := funcs[ast.JSONContainsPath]
diff --git a/expression/builtin_json_vec.go b/expression/builtin_json_vec.go
index fb24808ff2c73..0610a1f6ea3ca 100644
--- a/expression/builtin_json_vec.go
+++ b/expression/builtin_json_vec.go
@@ -274,6 +274,59 @@ func (b *builtinJSONArraySig) vecEvalJSON(input *chunk.Chunk, result *chunk.Colu
return nil
}
+func (b *builtinJSONMemberOfSig) vectorized() bool {
+ return true
+}
+
+func (b *builtinJSONMemberOfSig) vecEvalInt(input *chunk.Chunk, result *chunk.Column) error {
+ nr := input.NumRows()
+
+ targetCol, err := b.bufAllocator.get()
+ if err != nil {
+ return err
+ }
+ defer b.bufAllocator.put(targetCol)
+
+ if err := b.args[0].VecEvalJSON(b.ctx, input, targetCol); err != nil {
+ return err
+ }
+
+ objCol, err := b.bufAllocator.get()
+ if err != nil {
+ return err
+ }
+ defer b.bufAllocator.put(objCol)
+
+ if err := b.args[1].VecEvalJSON(b.ctx, input, objCol); err != nil {
+ return err
+ }
+
+ result.ResizeInt64(nr, false)
+ resI64s := result.Int64s()
+
+ result.MergeNulls(targetCol, objCol)
+ for i := 0; i < nr; i++ {
+ if result.IsNull(i) {
+ continue
+ }
+ obj := objCol.GetJSON(i)
+ target := targetCol.GetJSON(i)
+ if obj.TypeCode != types.JSONTypeCodeArray {
+ resI64s[i] = boolToInt64(types.CompareBinaryJSON(obj, target) == 0)
+ } else {
+ elemCount := obj.GetElemCount()
+ for j := 0; j < elemCount; j++ {
+ if types.CompareBinaryJSON(obj.ArrayGetElem(j), target) == 0 {
+ resI64s[i] = 1
+ break
+ }
+ }
+ }
+ }
+
+ return nil
+}
+
func (b *builtinJSONContainsSig) vectorized() bool {
return true
}
@@ -359,6 +412,51 @@ func (b *builtinJSONContainsSig) vecEvalInt(input *chunk.Chunk, result *chunk.Co
return nil
}
+func (b *builtinJSONOverlapsSig) vectorized() bool {
+ return true
+}
+
+func (b *builtinJSONOverlapsSig) vecEvalInt(input *chunk.Chunk, result *chunk.Column) error {
+ nr := input.NumRows()
+
+ objCol, err := b.bufAllocator.get()
+ if err != nil {
+ return err
+ }
+ defer b.bufAllocator.put(objCol)
+
+ if err := b.args[0].VecEvalJSON(b.ctx, input, objCol); err != nil {
+ return err
+ }
+
+ targetCol, err := b.bufAllocator.get()
+ if err != nil {
+ return err
+ }
+ defer b.bufAllocator.put(targetCol)
+
+ if err := b.args[1].VecEvalJSON(b.ctx, input, targetCol); err != nil {
+ return err
+ }
+
+ result.ResizeInt64(nr, false)
+ resI64s := result.Int64s()
+
+ result.MergeNulls(objCol, targetCol)
+ for i := 0; i < nr; i++ {
+ if result.IsNull(i) {
+ continue
+ }
+ if types.OverlapsBinaryJSON(objCol.GetJSON(i), targetCol.GetJSON(i)) {
+ resI64s[i] = 1
+ } else {
+ resI64s[i] = 0
+ }
+ }
+
+ return nil
+}
+
func (b *builtinJSONQuoteSig) vectorized() bool {
return true
}
diff --git a/expression/builtin_other.go b/expression/builtin_other.go
index 0f4bd85d45b43..c5bd6738aa9df 100644
--- a/expression/builtin_other.go
+++ b/expression/builtin_other.go
@@ -165,7 +165,7 @@ func (c *inFunctionClass) verifyArgs(ctx sessionctx.Context, args []Expression)
case columnType.GetType() == mysql.TypeBit && constant.Value.Kind() == types.KindInt64:
if constant.Value.GetInt64() < 0 {
if MaybeOverOptimized4PlanCache(ctx, args) {
- ctx.GetSessionVars().StmtCtx.SkipPlanCache = true
+ ctx.GetSessionVars().StmtCtx.SetSkipPlanCache(errors.Errorf("skip plan-cache: Bit Column in (%v)", constant.Value.GetInt64()))
}
continue
}
diff --git a/expression/builtin_time.go b/expression/builtin_time.go
index 83f18d1c1653a..e97f2ef862a3b 100644
--- a/expression/builtin_time.go
+++ b/expression/builtin_time.go
@@ -6087,7 +6087,7 @@ func (c *timestampAddFunctionClass) getFunction(ctx sessionctx.Context, args []E
if err := c.verifyArgs(args); err != nil {
return nil, err
}
- bf, err := newBaseBuiltinFuncWithTp(ctx, c.funcName, args, types.ETString, types.ETString, types.ETInt, types.ETDatetime)
+ bf, err := newBaseBuiltinFuncWithTp(ctx, c.funcName, args, types.ETString, types.ETString, types.ETReal, types.ETDatetime)
if err != nil {
return nil, err
}
@@ -6120,6 +6120,82 @@ func (b *builtinTimestampAddSig) Clone() builtinFunc {
return newSig
}
+var (
+ minDatetimeInGoTime, _ = types.MinDatetime.GoTime(time.Local)
+ minDatetimeNanos = float64(minDatetimeInGoTime.Unix())*1e9 + float64(minDatetimeInGoTime.Nanosecond())
+ maxDatetimeInGoTime, _ = types.MaxDatetime.GoTime(time.Local)
+ maxDatetimeNanos = float64(maxDatetimeInGoTime.Unix())*1e9 + float64(maxDatetimeInGoTime.Nanosecond())
+ minDatetimeMonths = float64(types.MinDatetime.Year()*12 + types.MinDatetime.Month() - 1) // 0001-01-01 00:00:00
+ maxDatetimeMonths = float64(types.MaxDatetime.Year()*12 + types.MaxDatetime.Month() - 1) // 9999-12-31 00:00:00
+)
+
+func validAddTime(nano1 float64, nano2 float64) bool {
+ return nano1+nano2 >= minDatetimeNanos && nano1+nano2 <= maxDatetimeNanos
+}
+
+func validAddMonth(month1 float64, year, month int) bool {
+ tmp := month1 + float64(year)*12 + float64(month-1)
+ return tmp >= minDatetimeMonths && tmp <= maxDatetimeMonths
+}
+
+func addUnitToTime(unit string, t time.Time, v float64) (time.Time, bool, error) {
+ s := math.Trunc(v * 1000000)
+ // round to the nearest int
+ v = math.Round(v)
+ var tb time.Time
+ nano := float64(t.Unix())*1e9 + float64(t.Nanosecond())
+ switch unit {
+ case "MICROSECOND":
+ if !validAddTime(v*float64(time.Microsecond), nano) {
+ return tb, true, nil
+ }
+ tb = t.Add(time.Duration(v) * time.Microsecond)
+ case "SECOND":
+ if !validAddTime(s*float64(time.Microsecond), nano) {
+ return tb, true, nil
+ }
+ tb = t.Add(time.Duration(s) * time.Microsecond)
+ case "MINUTE":
+ if !validAddTime(v*float64(time.Minute), nano) {
+ return tb, true, nil
+ }
+ tb = t.Add(time.Duration(v) * time.Minute)
+ case "HOUR":
+ if !validAddTime(v*float64(time.Hour), nano) {
+ return tb, true, nil
+ }
+ tb = t.Add(time.Duration(v) * time.Hour)
+ case "DAY":
+ if !validAddTime(v*24*float64(time.Hour), nano) {
+ return tb, true, nil
+ }
+ tb = t.AddDate(0, 0, int(v))
+ case "WEEK":
+ if !validAddTime(v*24*7*float64(time.Hour), nano) {
+ return tb, true, nil
+ }
+ tb = t.AddDate(0, 0, 7*int(v))
+ case "MONTH":
+ if !validAddMonth(v, t.Year(), int(t.Month())) {
+ return tb, true, nil
+ }
+ tb = t.AddDate(0, int(v), 0)
+ case "QUARTER":
+ if !validAddMonth(v*3, t.Year(), int(t.Month())) {
+ return tb, true, nil
+ }
+ tb = t.AddDate(0, 3*int(v), 0)
+ case "YEAR":
+ if !validAddMonth(v*12, t.Year(), int(t.Month())) {
+ return tb, true, nil
+ }
+ tb = t.AddDate(int(v), 0, 0)
+ default:
+ return tb, false, types.ErrWrongValue.GenWithStackByArgs(types.TimeStr, unit)
+ }
+ return tb, false, nil
+}
+
// evalString evals a builtinTimestampAddSig.
// See https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_timestampadd
func (b *builtinTimestampAddSig) evalString(row chunk.Row) (string, bool, error) {
@@ -6127,7 +6203,7 @@ func (b *builtinTimestampAddSig) evalString(row chunk.Row) (string, bool, error)
if isNull || err != nil {
return "", isNull, err
}
- v, isNull, err := b.args[1].EvalInt(b.ctx, row)
+ v, isNull, err := b.args[1].EvalReal(b.ctx, row)
if isNull || err != nil {
return "", isNull, err
}
@@ -6140,30 +6216,17 @@ func (b *builtinTimestampAddSig) evalString(row chunk.Row) (string, bool, error)
b.ctx.GetSessionVars().StmtCtx.AppendWarning(err)
return "", true, nil
}
- var tb time.Time
+ tb, overflow, err := addUnitToTime(unit, tm1, v)
+ if err != nil {
+ return "", true, err
+ }
+ if overflow {
+ return "", true, handleInvalidTimeError(b.ctx, types.ErrDatetimeFunctionOverflow.GenWithStackByArgs("datetime"))
+ }
fsp := types.DefaultFsp
- switch unit {
- case "MICROSECOND":
- tb = tm1.Add(time.Duration(v) * time.Microsecond)
+ // use MaxFsp when microsecond is not zero
+ if tb.Nanosecond()/1000 != 0 {
fsp = types.MaxFsp
- case "SECOND":
- tb = tm1.Add(time.Duration(v) * time.Second)
- case "MINUTE":
- tb = tm1.Add(time.Duration(v) * time.Minute)
- case "HOUR":
- tb = tm1.Add(time.Duration(v) * time.Hour)
- case "DAY":
- tb = tm1.AddDate(0, 0, int(v))
- case "WEEK":
- tb = tm1.AddDate(0, 0, 7*int(v))
- case "MONTH":
- tb = tm1.AddDate(0, int(v), 0)
- case "QUARTER":
- tb = tm1.AddDate(0, 3*int(v), 0)
- case "YEAR":
- tb = tm1.AddDate(int(v), 0, 0)
- default:
- return "", true, types.ErrWrongValue.GenWithStackByArgs(types.TimeStr, unit)
}
r := types.NewTime(types.FromGoTime(tb), b.resolveType(arg.Type(), unit), fsp)
if err = r.Check(b.ctx.GetSessionVars().StmtCtx); err != nil {
diff --git a/expression/builtin_time_test.go b/expression/builtin_time_test.go
index 55973f9dab5f8..2010bf0a225b5 100644
--- a/expression/builtin_time_test.go
+++ b/expression/builtin_time_test.go
@@ -2506,7 +2506,7 @@ func TestTimestampAdd(t *testing.T) {
ctx := createContext(t)
tests := []struct {
unit string
- interval int64
+ interval float64
date interface{}
expect string
}{
@@ -2514,11 +2514,22 @@ func TestTimestampAdd(t *testing.T) {
{"WEEK", 1, "2003-01-02 23:59:59", "2003-01-09 23:59:59"},
{"MICROSECOND", 1, 950501, "1995-05-01 00:00:00.000001"},
{"DAY", 28768, 0, ""},
+ {"QUARTER", 3, "1995-05-01", "1996-02-01 00:00:00"},
+ {"SECOND", 1.1, "1995-05-01", "1995-05-01 00:00:01.100000"},
+ {"SECOND", -1, "1995-05-01", "1995-04-30 23:59:59"},
+ {"SECOND", -1.1, "1995-05-01", "1995-04-30 23:59:58.900000"},
+ {"SECOND", 9.9999e-6, "1995-05-01", "1995-05-01 00:00:00.000009"},
+ {"SECOND", 9.9999e-7, "1995-05-01", "1995-05-01 00:00:00"},
+ {"SECOND", -9.9999e-6, "1995-05-01", "1995-04-30 23:59:59.999991"},
+ {"SECOND", -9.9999e-7, "1995-05-01", "1995-05-01 00:00:00"},
+ {"MINUTE", 1.5, "1995-05-01 00:00:00", "1995-05-01 00:02:00"},
+ {"MINUTE", 1.5, "1995-05-01 00:00:00.000000", "1995-05-01 00:02:00"},
+ {"MICROSECOND", -100, "1995-05-01 00:00:00.0001", "1995-05-01 00:00:00"},
}
fc := funcs[ast.TimestampAdd]
for _, test := range tests {
- dat := []types.Datum{types.NewStringDatum(test.unit), types.NewIntDatum(test.interval), types.NewDatum(test.date)}
+ dat := []types.Datum{types.NewStringDatum(test.unit), types.NewFloat64Datum(test.interval), types.NewDatum(test.date)}
f, err := fc.getFunction(ctx, datumsToConstants(dat))
require.NoError(t, err)
d, err := evalBuiltinFunc(f, chunk.Row{})
diff --git a/expression/builtin_time_vec.go b/expression/builtin_time_vec.go
index 0d6b4321095f5..eb8c91e50bc84 100644
--- a/expression/builtin_time_vec.go
+++ b/expression/builtin_time_vec.go
@@ -1133,7 +1133,6 @@ func (b *builtinStrToDateDurationSig) vecEvalDuration(input *chunk.Chunk, result
result.MergeNulls(bufStrings, bufFormats)
d64s := result.GoDurations()
sc := b.ctx.GetSessionVars().StmtCtx
- hasNoZeroDateMode := b.ctx.GetSessionVars().SQLMode.HasNoZeroDateMode()
for i := 0; i < n; i++ {
if result.IsNull(i) {
continue
@@ -1147,13 +1146,6 @@ func (b *builtinStrToDateDurationSig) vecEvalDuration(input *chunk.Chunk, result
result.SetNull(i, true)
continue
}
- if hasNoZeroDateMode && (t.Year() == 0 || t.Month() == 0 || t.Day() == 0) {
- if err := handleInvalidTimeError(b.ctx, types.ErrWrongValue.GenWithStackByArgs(types.DateTimeStr, t.String())); err != nil {
- return err
- }
- result.SetNull(i, true)
- continue
- }
t.SetFsp(b.tp.GetDecimal())
dur, err := t.ConvertToDuration()
if err != nil {
@@ -1703,7 +1695,7 @@ func (b *builtinTimestampAddSig) vecEvalString(input *chunk.Chunk, result *chunk
return err
}
defer b.bufAllocator.put(buf1)
- if err := b.args[1].VecEvalInt(b.ctx, input, buf1); err != nil {
+ if err := b.args[1].VecEvalReal(b.ctx, input, buf1); err != nil {
return err
}
@@ -1717,7 +1709,7 @@ func (b *builtinTimestampAddSig) vecEvalString(input *chunk.Chunk, result *chunk
}
result.ReserveString(n)
- nums := buf1.Int64s()
+ nums := buf1.Float64s()
ds := buf2.Times()
for i := 0; i < n; i++ {
if buf.IsNull(i) || buf1.IsNull(i) || buf2.IsNull(i) {
@@ -1735,30 +1727,21 @@ func (b *builtinTimestampAddSig) vecEvalString(input *chunk.Chunk, result *chunk
result.AppendNull()
continue
}
- var tb time.Time
+ tb, overflow, err := addUnitToTime(unit, tm1, v)
+ if err != nil {
+ return err
+ }
+ if overflow {
+ if err = handleInvalidTimeError(b.ctx, types.ErrDatetimeFunctionOverflow.GenWithStackByArgs("datetime")); err != nil {
+ return err
+ }
+ result.AppendNull()
+ continue
+ }
fsp := types.DefaultFsp
- switch unit {
- case "MICROSECOND":
- tb = tm1.Add(time.Duration(v) * time.Microsecond)
+ // use MaxFsp when microsecond is not zero
+ if tb.Nanosecond()/1000 != 0 {
fsp = types.MaxFsp
- case "SECOND":
- tb = tm1.Add(time.Duration(v) * time.Second)
- case "MINUTE":
- tb = tm1.Add(time.Duration(v) * time.Minute)
- case "HOUR":
- tb = tm1.Add(time.Duration(v) * time.Hour)
- case "DAY":
- tb = tm1.AddDate(0, 0, int(v))
- case "WEEK":
- tb = tm1.AddDate(0, 0, 7*int(v))
- case "MONTH":
- tb = tm1.AddDate(0, int(v), 0)
- case "QUARTER":
- tb = tm1.AddDate(0, 3*int(v), 0)
- case "YEAR":
- tb = tm1.AddDate(int(v), 0, 0)
- default:
- return types.ErrWrongValue.GenWithStackByArgs(types.TimeStr, unit)
}
r := types.NewTime(types.FromGoTime(tb), b.resolveType(arg.Type(), unit), fsp)
if err = r.Check(b.ctx.GetSessionVars().StmtCtx); err != nil {
diff --git a/expression/errors.go b/expression/errors.go
index 0db38645f78d4..62d5b89d547b9 100644
--- a/expression/errors.go
+++ b/expression/errors.go
@@ -37,6 +37,10 @@ var (
ErrInvalidTableSample = dbterror.ClassExpression.NewStd(mysql.ErrInvalidTableSample)
ErrInternal = dbterror.ClassOptimizer.NewStd(mysql.ErrInternal)
ErrNoDB = dbterror.ClassOptimizer.NewStd(mysql.ErrNoDB)
+ ErrNotSupportedYet = dbterror.ClassExpression.NewStd(mysql.ErrNotSupportedYet)
+ ErrInvalidJSONForFuncIndex = dbterror.ClassExpression.NewStd(mysql.ErrInvalidJSONValueForFuncIndex)
+ ErrDataOutOfRangeFuncIndex = dbterror.ClassExpression.NewStd(mysql.ErrDataOutOfRangeFunctionalIndex)
+ ErrFuncIndexDataIsTooLong = dbterror.ClassExpression.NewStd(mysql.ErrFunctionalIndexDataIsTooLong)
// All the un-exported errors are defined here:
errFunctionNotExists = dbterror.ClassExpression.NewStd(mysql.ErrSpDoesNotExist)
diff --git a/expression/expr_to_pb_test.go b/expression/expr_to_pb_test.go
index 802d559eb3c80..5e78459408701 100644
--- a/expression/expr_to_pb_test.go
+++ b/expression/expr_to_pb_test.go
@@ -528,6 +528,18 @@ func TestExprPushDownToFlash(t *testing.T) {
require.NoError(t, err)
exprs = append(exprs, function)
+ // json_extract
+ function, err = NewFunction(mock.NewContext(), ast.JSONExtract, types.NewFieldType(mysql.TypeJSON), jsonColumn, stringColumn)
+ require.NoError(t, err)
+ exprs = append(exprs, function)
+
+ // json_unquote argument is cast(json as string)
+ subFunc, subErr := NewFunction(mock.NewContext(), ast.Cast, types.NewFieldType(mysql.TypeString), jsonColumn)
+ require.NoError(t, subErr)
+ function, err = NewFunction(mock.NewContext(), ast.JSONUnquote, types.NewFieldType(mysql.TypeString), subFunc)
+ require.NoError(t, err)
+ exprs = append(exprs, function)
+
// lpad
function, err = NewFunction(mock.NewContext(), ast.Lpad, types.NewFieldType(mysql.TypeString), stringColumn, int32Column, stringColumn)
require.NoError(t, err)
@@ -558,6 +570,14 @@ func TestExprPushDownToFlash(t *testing.T) {
require.NoError(t, err)
exprs = append(exprs, function)
+ // ExtractDuration
+ extractDurationUnitCol := new(Constant)
+ extractDurationUnitCol.Value = types.NewStringDatum("microsecond")
+ extractDurationUnitCol.RetType = types.NewFieldType(mysql.TypeString)
+ function, err = NewFunction(mock.NewContext(), ast.Extract, types.NewFieldType(mysql.TypeLonglong), extractDurationUnitCol, durationColumn)
+ require.NoError(t, err)
+ exprs = append(exprs, function)
+
// CastIntAsInt
function, err = NewFunction(mock.NewContext(), ast.Cast, types.NewFieldType(mysql.TypeLonglong), intColumn)
require.NoError(t, err)
@@ -631,6 +651,11 @@ func TestExprPushDownToFlash(t *testing.T) {
require.NoError(t, err)
exprs = append(exprs, function)
+ // CastJsonAsString
+ function, err = NewFunction(mock.NewContext(), ast.Cast, types.NewFieldType(mysql.TypeString), jsonColumn)
+ require.NoError(t, err)
+ exprs = append(exprs, function)
+
// CastIntAsTime
function, err = NewFunction(mock.NewContext(), ast.Cast, types.NewFieldType(mysql.TypeDatetime), intColumn)
require.NoError(t, err)
@@ -950,6 +975,11 @@ func TestExprPushDownToFlash(t *testing.T) {
exprs = exprs[:0]
+ // json_unquote's argument is not cast(json as string)
+ function, err = NewFunction(mock.NewContext(), ast.JSONUnquote, types.NewFieldType(mysql.TypeString), stringColumn)
+ require.NoError(t, err)
+ exprs = append(exprs, function)
+
// Substring2Args: can not be pushed
function, err = NewFunction(mock.NewContext(), ast.Substr, types.NewFieldType(mysql.TypeString), binaryStringColumn, intColumn)
require.NoError(t, err)
@@ -1065,6 +1095,26 @@ func TestExprPushDownToFlash(t *testing.T) {
require.NoError(t, err)
exprs = append(exprs, function)
+ // regexp_like: supported
+ function, err = NewFunction(mock.NewContext(), ast.RegexpLike, types.NewFieldType(mysql.TypeLonglong), binaryStringColumn, binaryStringColumn, binaryStringColumn)
+ require.NoError(t, err)
+ exprs = append(exprs, function)
+
+ // regexp_instr: supported
+ function, err = NewFunction(mock.NewContext(), ast.RegexpInStr, types.NewFieldType(mysql.TypeLonglong), stringColumn, stringColumn, intColumn, intColumn, intColumn, stringColumn)
+ require.NoError(t, err)
+ exprs = append(exprs, function)
+
+ // regexp_substr: supported
+ function, err = NewFunction(mock.NewContext(), ast.RegexpSubstr, types.NewFieldType(mysql.TypeString), stringColumn, stringColumn, intColumn, intColumn, stringColumn)
+ require.NoError(t, err)
+ exprs = append(exprs, function)
+
+ // regexp_replace: supported
+ function, err = NewFunction(mock.NewContext(), ast.RegexpReplace, types.NewFieldType(mysql.TypeString), stringColumn, stringColumn, stringColumn, intColumn, intColumn, stringColumn)
+ require.NoError(t, err)
+ exprs = append(exprs, function)
+
// greatest
function, err = NewFunction(mock.NewContext(), ast.Greatest, types.NewFieldType(mysql.TypeLonglong), int32Column, intColumn)
require.NoError(t, err)
@@ -1194,6 +1244,11 @@ func TestExprPushDownToFlash(t *testing.T) {
require.Equal(t, tipb.ScalarFuncSig_CastTimeAsDuration, function.(*ScalarFunction).Function.PbCode())
exprs = append(exprs, function)
+ // Unhex
+ function, err = NewFunction(mock.NewContext(), ast.Unhex, types.NewFieldType(mysql.TypeString), stringColumn)
+ require.NoError(t, err)
+ exprs = append(exprs, function)
+
pushed, remained = PushDownExprs(sc, exprs, client, kv.TiFlash)
require.Len(t, pushed, len(exprs))
require.Len(t, remained, 0)
diff --git a/expression/expression.go b/expression/expression.go
index fefa1c403c959..eeb407a983bee 100644
--- a/expression/expression.go
+++ b/expression/expression.go
@@ -59,7 +59,7 @@ var EvalAstExpr func(sctx sessionctx.Context, expr ast.ExprNode) (types.Datum, e
// RewriteAstExpr rewrites ast expression directly.
// Note: initialized in planner/core
// import expression and planner/core together to use EvalAstExpr
-var RewriteAstExpr func(sctx sessionctx.Context, expr ast.ExprNode, schema *Schema, names types.NameSlice) (Expression, error)
+var RewriteAstExpr func(sctx sessionctx.Context, expr ast.ExprNode, schema *Schema, names types.NameSlice, allowCastArray bool) (Expression, error)
// VecExpr contains all vectorized evaluation methods.
type VecExpr interface {
@@ -816,7 +816,7 @@ func SplitDNFItems(onExpr Expression) []Expression {
// If the Expression is a non-constant value, it means the result is unknown.
func EvaluateExprWithNull(ctx sessionctx.Context, schema *Schema, expr Expression) Expression {
if MaybeOverOptimized4PlanCache(ctx, []Expression{expr}) {
- return expr
+ ctx.GetSessionVars().StmtCtx.SetSkipPlanCache(errors.New("skip plan-cache: %v affects null check"))
}
if ctx.GetSessionVars().StmtCtx.InNullRejectCheck {
expr, _ = evaluateExprWithNullInNullRejectCheck(ctx, schema, expr)
@@ -998,7 +998,7 @@ func ColumnInfos2ColumnsAndNames(ctx sessionctx.Context, dbName, tblName model.C
if err != nil {
return nil, nil, errors.Trace(err)
}
- e, err := RewriteAstExpr(ctx, expr, mockSchema, names)
+ e, err := RewriteAstExpr(ctx, expr, mockSchema, names, true)
if err != nil {
return nil, nil, errors.Trace(err)
}
@@ -1071,8 +1071,7 @@ func scalarExprSupportedByTiKV(sf *ScalarFunction) bool {
// json functions.
ast.JSONType, ast.JSONExtract, ast.JSONObject, ast.JSONArray, ast.JSONMerge, ast.JSONSet,
ast.JSONInsert /*ast.JSONReplace,*/, ast.JSONRemove, ast.JSONLength,
- // FIXME: JSONUnquote is incompatible with Coprocessor
- ast.JSONUnquote, ast.JSONContains,
+ ast.JSONUnquote, ast.JSONContains, ast.JSONValid,
// date functions.
ast.Date, ast.Week /* ast.YearWeek, ast.ToSeconds */, ast.DateDiff,
@@ -1151,10 +1150,10 @@ func scalarExprSupportedByFlash(function *ScalarFunction) bool {
ast.Sqrt, ast.Log, ast.Log2, ast.Log10, ast.Ln, ast.Exp, ast.Pow, ast.Sign,
ast.Radians, ast.Degrees, ast.Conv, ast.CRC32,
- ast.JSONLength, ast.Repeat,
+ ast.JSONLength, ast.JSONExtract, ast.JSONUnquote, ast.Repeat,
ast.InetNtoa, ast.InetAton, ast.Inet6Ntoa, ast.Inet6Aton,
ast.Coalesce, ast.ASCII, ast.Length, ast.Trim, ast.Position, ast.Format, ast.Elt,
- ast.LTrim, ast.RTrim, ast.Lpad, ast.Rpad, ast.Regexp,
+ ast.LTrim, ast.RTrim, ast.Lpad, ast.Rpad,
ast.Hour, ast.Minute, ast.Second, ast.MicroSecond,
ast.TimeToSec:
switch function.Function.PbCode() {
@@ -1164,6 +1163,18 @@ func scalarExprSupportedByFlash(function *ScalarFunction) bool {
tipb.ScalarFuncSig_IfDuration,
tipb.ScalarFuncSig_CaseWhenDuration:
return false
+ case tipb.ScalarFuncSig_JsonUnquoteSig:
+ // TiFlash json_unquote now only supports json string generated by cast(json as string)
+ if childFunc, ok := function.GetArgs()[0].(*ScalarFunction); ok {
+ return childFunc.Function.PbCode() == tipb.ScalarFuncSig_CastJsonAsString
+ }
+ return false
+ }
+ return true
+ case ast.Regexp, ast.RegexpLike, ast.RegexpInStr, ast.RegexpSubstr, ast.RegexpReplace:
+ funcCharset, funcCollation := function.Function.CharsetAndCollation()
+ if funcCharset == charset.CharsetBin && funcCollation == charset.CollationBin {
+ return false
}
return true
case ast.Substr, ast.Substring, ast.Left, ast.Right, ast.CharLength, ast.SubstringIndex, ast.Reverse:
@@ -1195,7 +1206,7 @@ func scalarExprSupportedByFlash(function *ScalarFunction) bool {
tipb.ScalarFuncSig_CastStringAsDecimal /*, tipb.ScalarFuncSig_CastDurationAsDecimal, tipb.ScalarFuncSig_CastJsonAsDecimal*/ :
return function.RetType.IsDecimalValid()
case tipb.ScalarFuncSig_CastDecimalAsString, tipb.ScalarFuncSig_CastIntAsString, tipb.ScalarFuncSig_CastRealAsString, tipb.ScalarFuncSig_CastTimeAsString,
- tipb.ScalarFuncSig_CastStringAsString /*, tipb.ScalarFuncSig_CastDurationAsString, tipb.ScalarFuncSig_CastJsonAsString*/ :
+ tipb.ScalarFuncSig_CastStringAsString, tipb.ScalarFuncSig_CastJsonAsString /*, tipb.ScalarFuncSig_CastDurationAsString*/ :
return true
case tipb.ScalarFuncSig_CastDecimalAsTime, tipb.ScalarFuncSig_CastIntAsTime, tipb.ScalarFuncSig_CastRealAsTime, tipb.ScalarFuncSig_CastTimeAsTime,
tipb.ScalarFuncSig_CastStringAsTime /*, tipb.ScalarFuncSig_CastDurationAsTime, tipb.ScalarFuncSig_CastJsonAsTime*/ :
@@ -1227,7 +1238,7 @@ func scalarExprSupportedByFlash(function *ScalarFunction) bool {
}
case ast.Extract:
switch function.Function.PbCode() {
- case tipb.ScalarFuncSig_ExtractDatetime:
+ case tipb.ScalarFuncSig_ExtractDatetime, tipb.ScalarFuncSig_ExtractDuration:
return true
}
case ast.Replace:
@@ -1256,7 +1267,7 @@ func scalarExprSupportedByFlash(function *ScalarFunction) bool {
}
case ast.IsTruthWithNull, ast.IsTruthWithoutNull, ast.IsFalsity:
return true
- case ast.Hex, ast.Bin:
+ case ast.Hex, ast.Unhex, ast.Bin:
return true
case ast.GetFormat:
return true
@@ -1347,12 +1358,15 @@ func canScalarFuncPushDown(scalarFunc *ScalarFunction, pc PbConverter, storeType
panic(errors.Errorf("unspecified PbCode: %T", scalarFunc.Function))
})
}
+ storageName := storeType.Name()
+ if storeType == kv.UnSpecified {
+ storageName = "storage layer"
+ }
+ warnErr := errors.New("Scalar function '" + scalarFunc.FuncName.L + "'(signature: " + scalarFunc.Function.PbCode().String() + ", return type: " + scalarFunc.RetType.CompactStr() + ") is not supported to push down to " + storageName + " now.")
if pc.sc.InExplainStmt {
- storageName := storeType.Name()
- if storeType == kv.UnSpecified {
- storageName = "storage layer"
- }
- pc.sc.AppendWarning(errors.New("Scalar function '" + scalarFunc.FuncName.L + "'(signature: " + scalarFunc.Function.PbCode().String() + ", return type: " + scalarFunc.RetType.CompactStr() + ") is not supported to push down to " + storageName + " now."))
+ pc.sc.AppendWarning(warnErr)
+ } else {
+ pc.sc.AppendExtraWarning(warnErr)
}
return false
}
@@ -1382,14 +1396,20 @@ func canExprPushDown(expr Expression, pc PbConverter, storeType kv.StoreType, ca
if expr.GetType().GetType() == mysql.TypeEnum && canEnumPush {
break
}
+ warnErr := errors.New("Expression about '" + expr.String() + "' can not be pushed to TiFlash because it contains unsupported calculation of type '" + types.TypeStr(expr.GetType().GetType()) + "'.")
if pc.sc.InExplainStmt {
- pc.sc.AppendWarning(errors.New("Expression about '" + expr.String() + "' can not be pushed to TiFlash because it contains unsupported calculation of type '" + types.TypeStr(expr.GetType().GetType()) + "'."))
+ pc.sc.AppendWarning(warnErr)
+ } else {
+ pc.sc.AppendExtraWarning(warnErr)
}
return false
case mysql.TypeNewDecimal:
if !expr.GetType().IsDecimalValid() {
+ warnErr := errors.New("Expression about '" + expr.String() + "' can not be pushed to TiFlash because it contains invalid decimal('" + strconv.Itoa(expr.GetType().GetFlen()) + "','" + strconv.Itoa(expr.GetType().GetDecimal()) + "').")
if pc.sc.InExplainStmt {
- pc.sc.AppendWarning(errors.New("Expression about '" + expr.String() + "' can not be pushed to TiFlash because it contains invalid decimal('" + strconv.Itoa(expr.GetType().GetFlen()) + "','" + strconv.Itoa(expr.GetType().GetDecimal()) + "')."))
+ pc.sc.AppendWarning(warnErr)
+ } else {
+ pc.sc.AppendExtraWarning(warnErr)
}
return false
}
@@ -1554,6 +1574,8 @@ func Args2Expressions4Test(args ...interface{}) []Expression {
ft = types.NewFieldType(mysql.TypeDouble)
case types.KindString:
ft = types.NewFieldType(mysql.TypeVarString)
+ case types.KindMysqlTime:
+ ft = types.NewFieldType(mysql.TypeTimestamp)
default:
exprs[i] = nil
continue
diff --git a/expression/expression_test.go b/expression/expression_test.go
index 79ee1970ba800..4a24cb5eef759 100644
--- a/expression/expression_test.go
+++ b/expression/expression_test.go
@@ -75,8 +75,9 @@ func TestEvaluateExprWithNullAndParameters(t *testing.T) {
ltWithParam, err := newFunctionForTest(ctx, ast.LT, col0, param)
require.NoError(t, err)
res = EvaluateExprWithNull(ctx, schema, ltWithParam)
- _, isScalarFunc := res.(*ScalarFunction)
- require.True(t, isScalarFunc) // the expression with parameters is not evaluated
+ _, isConst := res.(*Constant)
+ require.True(t, isConst) // this expression is evaluated and skip-plan cache flag is set.
+ require.True(t, !ctx.GetSessionVars().StmtCtx.UseCache)
}
func TestEvaluateExprWithNullNoChangeRetType(t *testing.T) {
diff --git a/expression/extension.go b/expression/extension.go
index 2fca7fdfab6d9..9ab506213d5f0 100644
--- a/expression/extension.go
+++ b/expression/extension.go
@@ -114,11 +114,13 @@ func (c *extensionFuncClass) getFunction(ctx sessionctx.Context, args []Expressi
}
func (c *extensionFuncClass) checkPrivileges(ctx sessionctx.Context) error {
- privs := c.funcDef.RequireDynamicPrivileges
- if semPrivs := c.funcDef.SemRequireDynamicPrivileges; len(semPrivs) > 0 && sem.IsEnabled() {
- privs = semPrivs
+ fn := c.funcDef.RequireDynamicPrivileges
+ if fn == nil {
+ return nil
}
+ semEnabled := sem.IsEnabled()
+ privs := fn(semEnabled)
if len(privs) == 0 {
return nil
}
@@ -129,7 +131,7 @@ func (c *extensionFuncClass) checkPrivileges(ctx sessionctx.Context) error {
for _, priv := range privs {
if !manager.RequestDynamicVerification(activeRoles, priv, false) {
msg := priv
- if !sem.IsEnabled() {
+ if !semEnabled {
msg = "SUPER or " + msg
}
return errSpecificAccessDenied.GenWithStackByArgs(msg)
diff --git a/expression/function_traits.go b/expression/function_traits.go
index aba61d9b2d92a..4d6fa98da6a99 100644
--- a/expression/function_traits.go
+++ b/expression/function_traits.go
@@ -19,8 +19,8 @@ import (
"github.com/pingcap/tidb/parser/opcode"
)
-// GeneralPlanCacheableOp stores function which can be cached to general plan cache.
-var GeneralPlanCacheableOp = map[string]struct{}{
+// NonPreparedPlanCacheableOp stores function which can be cached to non-prepared plan cache.
+var NonPreparedPlanCacheableOp = map[string]struct{}{
ast.LogicAnd: {},
ast.LogicOr: {},
ast.GE: {},
diff --git a/expression/helper.go b/expression/helper.go
index c9534be9493ff..d31765a28634b 100644
--- a/expression/helper.go
+++ b/expression/helper.go
@@ -74,7 +74,7 @@ func getTimeCurrentTimeStamp(ctx sessionctx.Context, tp byte, fsp int) (t types.
return value, err
}
value.SetCoreTime(types.FromGoTime(defaultTime.Truncate(time.Duration(math.Pow10(9-fsp)) * time.Nanosecond)))
- if tp == mysql.TypeTimestamp || tp == mysql.TypeDatetime {
+ if tp == mysql.TypeTimestamp || tp == mysql.TypeDatetime || tp == mysql.TypeDate {
err = value.ConvertTimeZone(time.Local, ctx.GetSessionVars().Location())
if err != nil {
return value, err
@@ -90,12 +90,12 @@ func GetTimeValue(ctx sessionctx.Context, v interface{}, tp byte, fsp int) (d ty
sc := ctx.GetSessionVars().StmtCtx
switch x := v.(type) {
case string:
- upperX := strings.ToUpper(x)
- if upperX == strings.ToUpper(ast.CurrentTimestamp) {
+ lowerX := strings.ToLower(x)
+ if lowerX == ast.CurrentTimestamp || lowerX == ast.CurrentDate {
if value, err = getTimeCurrentTimeStamp(ctx, tp, fsp); err != nil {
return d, err
}
- } else if upperX == types.ZeroDatetimeStr {
+ } else if lowerX == types.ZeroDatetimeStr {
value, err = types.ParseTimeFromNum(sc, 0, tp, fsp)
terror.Log(err)
} else {
@@ -122,8 +122,8 @@ func GetTimeValue(ctx sessionctx.Context, v interface{}, tp byte, fsp int) (d ty
return d, errDefaultValue
}
case *ast.FuncCallExpr:
- if x.FnName.L == ast.CurrentTimestamp {
- d.SetString(strings.ToUpper(ast.CurrentTimestamp), mysql.DefaultCollationName)
+ if x.FnName.L == ast.CurrentTimestamp || x.FnName.L == ast.CurrentDate {
+ d.SetString(strings.ToUpper(x.FnName.L), mysql.DefaultCollationName)
return d, nil
}
return d, errDefaultValue
diff --git a/expression/integration_serial_test.go b/expression/integration_serial_test.go
index a497d9ef54600..b70b7be4a5070 100644
--- a/expression/integration_serial_test.go
+++ b/expression/integration_serial_test.go
@@ -3762,15 +3762,6 @@ func TestSetVariables(t *testing.T) {
_, err = tk.Exec("set @@global.max_prepared_stmt_count='';")
require.Error(t, err)
require.Error(t, err, variable.ErrWrongTypeForVar.GenWithStackByArgs("max_prepared_stmt_count").Error())
-
- tk.MustExec("set @@global.tidb_enable_concurrent_ddl=1")
- tk.MustQuery("select @@global.tidb_enable_concurrent_ddl").Check(testkit.Rows("1"))
- require.True(t, variable.EnableConcurrentDDL.Load())
- tk.MustExec("set @@global.tidb_enable_concurrent_ddl=0")
- tk.MustQuery("select @@global.tidb_enable_concurrent_ddl").Check(testkit.Rows("0"))
- require.False(t, variable.EnableConcurrentDDL.Load())
- testkit.NewTestKit(t, store).MustQuery("select @@global.tidb_enable_concurrent_ddl").Check(testkit.Rows("0"))
- tk.MustExec("set @@global.tidb_enable_concurrent_ddl=1")
}
func TestPreparePlanCache(t *testing.T) {
diff --git a/expression/integration_test.go b/expression/integration_test.go
index d3b307fb9653b..a49df593d201c 100644
--- a/expression/integration_test.go
+++ b/expression/integration_test.go
@@ -968,6 +968,7 @@ func TestEncryptionBuiltin(t *testing.T) {
tk := testkit.NewTestKit(t, store)
tk.MustExec("use test")
+ tk.Session().GetSessionVars().User = &auth.UserIdentity{Username: "root"}
ctx := context.Background()
// for password
@@ -1143,6 +1144,25 @@ func TestEncryptionBuiltin(t *testing.T) {
tk.MustQuery("SELECT RANDOM_BYTES(1024);")
result = tk.MustQuery("SELECT RANDOM_BYTES(NULL);")
result.Check(testkit.Rows(""))
+
+ // for VALIDATE_PASSWORD_STRENGTH
+ tk.MustExec(fmt.Sprintf("SET GLOBAL validate_password.dictionary='%s'", "password"))
+ tk.MustExec("SET GLOBAL validate_password.enable = 1")
+ tk.MustQuery("SELECT validate_password_strength('root')").Check(testkit.Rows("0"))
+ tk.MustQuery("SELECT validate_password_strength('toor')").Check(testkit.Rows("0"))
+ tk.MustQuery("SELECT validate_password_strength('ROOT')").Check(testkit.Rows("25"))
+ tk.MustQuery("SELECT validate_password_strength('TOOR')").Check(testkit.Rows("25"))
+ tk.MustQuery("SELECT validate_password_strength('fooHoHo%1')").Check(testkit.Rows("100"))
+ tk.MustQuery("SELECT validate_password_strength('pass')").Check(testkit.Rows("25"))
+ tk.MustQuery("SELECT validate_password_strength('password')").Check(testkit.Rows("50"))
+ tk.MustQuery("SELECT validate_password_strength('password0000')").Check(testkit.Rows("50"))
+ tk.MustQuery("SELECT validate_password_strength('password1A#')").Check(testkit.Rows("75"))
+ tk.MustQuery("SELECT validate_password_strength('PA12wrd!#')").Check(testkit.Rows("100"))
+ tk.MustQuery("SELECT VALIDATE_PASSWORD_STRENGTH(REPEAT(\"aA1#\", 26))").Check(testkit.Rows("100"))
+ tk.MustQuery("SELECT validate_password_strength(null)").Check(testkit.Rows(""))
+ tk.MustQuery("SELECT validate_password_strength('null')").Check(testkit.Rows("25"))
+ tk.MustQuery("SELECT VALIDATE_PASSWORD_STRENGTH( 0x6E616E646F73617135234552 )").Check(testkit.Rows("100"))
+ tk.MustQuery("SELECT VALIDATE_PASSWORD_STRENGTH(CAST(0xd2 AS BINARY(10)))").Check(testkit.Rows("50"))
}
func TestOpBuiltin(t *testing.T) {
@@ -1208,8 +1228,7 @@ func TestDatetimeOverflow(t *testing.T) {
}
for _, sql := range overflowSQLs {
- _, err := tk.Exec(sql)
- require.Error(t, err, "[types:1441]Datetime function: datetime field overflow")
+ tk.MustGetErrMsg(sql, "[types:1441]Datetime function: datetime field overflow")
}
tk.MustExec("set sql_mode=''")
@@ -1696,8 +1715,7 @@ func TestArithmeticBuiltin(t *testing.T) {
tk.MustQuery("select v from t;").Check(testkit.Rows(""))
tk.MustQuery("select 0.000 % 0.11234500000000000000;").Check(testkit.Rows("0.00000000000000000000"))
- _, err = tk.Exec("INSERT INTO t VALUE(12 MOD 0);")
- require.True(t, terror.ErrorEqual(err, expression.ErrDivisionByZero))
+ tk.MustGetDBError("INSERT INTO t VALUE(12 MOD 0);", expression.ErrDivisionByZero)
tk.MustQuery("select sum(1.2e2) * 0.1").Check(testkit.Rows("12"))
tk.MustExec("drop table if exists t")
@@ -1940,8 +1958,7 @@ func TestCompareBuiltin(t *testing.T) {
tk.MustQuery("select * from t").Check(testkit.Rows("1991-05-06 13:59:28"))
// insert an nonexistent time
tk.MustExec("set time_zone = 'America/Los_Angeles'")
- _, err := tk.Exec("insert into t value('2011-03-13 02:00:00')")
- require.Error(t, err)
+ tk.MustExecToErr("insert into t value('2011-03-13 02:00:00')")
// reset timezone to a +8 offset
tk.MustExec("set time_zone = '+08:00'")
tk.MustQuery("select * from t").Check(testkit.Rows("1991-05-06 12:59:28"))
@@ -2105,11 +2122,9 @@ func TestAggregationBuiltinGroupConcat(t *testing.T) {
result.Check(testkit.Rows("hello,h"))
tk.MustQuery("show warnings").Check(testkit.RowsWithSep("|", "Warning 1260 Some rows were cut by GROUPCONCAT(test.t.a)"))
- _, err := tk.Exec("insert into d select group_concat(a) from t")
- require.Equal(t, errors.ErrCode(mysql.ErrCutValueGroupConcat), errors.Cause(err).(*terror.Error).Code())
+ tk.MustGetErrCode("insert into d select group_concat(a) from t", mysql.ErrCutValueGroupConcat)
- _, err = tk.Exec("set sql_mode=''")
- require.NoError(t, err)
+ tk.MustExec("set sql_mode=''")
tk.MustExec("insert into d select group_concat(a) from t")
tk.MustQuery("show warnings").Check(testkit.RowsWithSep("|", "Warning 1260 Some rows were cut by GROUPCONCAT(test.t.a)"))
tk.MustQuery("select * from d").Check(testkit.Rows("hello,h"))
@@ -2193,6 +2208,22 @@ func TestAggregationBuiltinJSONObjectAgg(t *testing.T) {
result.Check(testkit.Rows(`{"first": "json_objectagg_test"}`))
result = tk.MustQuery("select json_objectagg(a, null) from t group by a order by a;")
result.Check(testkit.Rows(`{"1": null}`))
+
+ // For issue: https://github.com/pingcap/tidb/issues/39806
+ // Optimization shouldn't rewrite the flag of `castStringAsJson`.
+ tk.MustQuery(`
+ select a from (
+ select JSON_OBJECT('number', number, 'name', name) 'a' from
+ (
+ select 1 as number, 'name-1' as name union
+ (select 2, 'name-2' ) union
+ (select 3, 'name-3' ) union
+ (select 4, 'name-4' ) union
+ (select 5, 'name-5' ) union
+ (select 6, 'name-2' )
+ ) temp1
+ ) temp
+ where a ->> '$.number' = 1`).Check(testkit.Rows(`{"name": "name-1", "number": 1}`))
}
func TestOtherBuiltin(t *testing.T) {
@@ -2354,23 +2385,18 @@ func TestDateBuiltin(t *testing.T) {
r = tk.MustQuery("select date'731124', date '011124'")
r.Check(testkit.Rows("1973-11-24 2001-11-24"))
- _, err = tk.Exec("select date '0000-00-00 00:00:00';")
+ err = tk.ExecToErr("select date '0000-00-00 00:00:00';")
require.Error(t, err)
require.True(t, terror.ErrorEqual(err, types.ErrWrongValue.GenWithStackByArgs(types.DateStr, "0000-00-00 00:00:00")))
- _, err = tk.Exec("select date '2017-99-99';")
- require.Error(t, err)
- require.True(t, terror.ErrorEqual(err, types.ErrWrongValue), "err: %v", err)
-
- _, err = tk.Exec("select date '2017-2-31';")
- require.Error(t, err)
- require.True(t, terror.ErrorEqual(err, types.ErrWrongValue), "err: %v", err)
+ tk.MustGetDBError("select date '2017-99-99';", types.ErrWrongValue)
+ tk.MustGetDBError("select date '2017-2-31';", types.ErrWrongValue)
- _, err = tk.Exec("select date '201712-31';")
+ err = tk.ExecToErr("select date '201712-31';")
require.Error(t, err)
require.True(t, terror.ErrorEqual(err, types.ErrWrongValue.GenWithStackByArgs(types.DateStr, "201712-31")), "err: %v", err)
- _, err = tk.Exec("select date 'abcdefg';")
+ err = tk.ExecToErr("select date 'abcdefg';")
require.Error(t, err)
require.True(t, terror.ErrorEqual(err, types.ErrWrongValue.GenWithStackByArgs(types.DateStr, "abcdefg")), "err: %v", err)
}
@@ -2382,8 +2408,7 @@ func TestJSONBuiltin(t *testing.T) {
tk.MustExec("USE test;")
tk.MustExec("DROP TABLE IF EXISTS t;")
tk.MustExec("CREATE TABLE `my_collection` ( `doc` json DEFAULT NULL, `_id` varchar(32) GENERATED ALWAYS AS (JSON_UNQUOTE(JSON_EXTRACT(doc,'$._id'))) STORED NOT NULL, PRIMARY KEY (`_id`))")
- _, err := tk.Exec("UPDATE `test`.`my_collection` SET doc=JSON_SET(doc) WHERE (JSON_EXTRACT(doc,'$.name') = 'clare');")
- require.Error(t, err)
+ tk.MustExecToErr("UPDATE `test`.`my_collection` SET doc=JSON_SET(doc) WHERE (JSON_EXTRACT(doc,'$.name') = 'clare');")
r := tk.MustQuery("select json_valid(null);")
r.Check(testkit.Rows(""))
@@ -2459,20 +2484,19 @@ func TestTimeLiteral(t *testing.T) {
r = tk.MustQuery("select time '20 20:20';")
r.Check(testkit.Rows("500:20:00"))
- _, err := tk.Exec("select time '2017-01-01 00:00:00';")
+ err := tk.ExecToErr("select time '2017-01-01 00:00:00';")
require.Error(t, err)
require.True(t, terror.ErrorEqual(err, types.ErrWrongValue.GenWithStackByArgs(types.TimeStr, "2017-01-01 00:00:00")))
- _, err = tk.Exec("select time '071231235959.999999';")
+ err = tk.ExecToErr("select time '071231235959.999999';")
require.Error(t, err)
require.True(t, terror.ErrorEqual(err, types.ErrWrongValue.GenWithStackByArgs(types.TimeStr, "071231235959.999999")))
- _, err = tk.Exec("select time '20171231235959.999999';")
+ err = tk.ExecToErr("select time '20171231235959.999999';")
require.Error(t, err)
require.True(t, terror.ErrorEqual(err, types.ErrWrongValue.GenWithStackByArgs(types.TimeStr, "20171231235959.999999")))
- _, err = tk.Exec("select ADDDATE('2008-01-34', -1);")
- require.NoError(t, err)
+ tk.MustExec("select ADDDATE('2008-01-34', -1);")
tk.MustQuery("Show warnings;").Check(testkit.RowsWithSep("|",
"Warning|1292|Incorrect datetime value: '2008-01-34'"))
}
@@ -2502,15 +2526,15 @@ func TestTimestampLiteral(t *testing.T) {
r = tk.MustQuery("select timestamp '2017@01@0001 00~00~00.333';")
r.Check(testkit.Rows("2017-01-01 00:00:00.333"))
- _, err := tk.Exec("select timestamp '00:00:00';")
+ err := tk.ExecToErr("select timestamp '00:00:00';")
require.Error(t, err)
require.True(t, terror.ErrorEqual(err, types.ErrWrongValue.GenWithStackByArgs(types.DateTimeStr, "00:00:00")))
- _, err = tk.Exec("select timestamp '1992-01-03';")
+ err = tk.ExecToErr("select timestamp '1992-01-03';")
require.Error(t, err)
require.True(t, terror.ErrorEqual(err, types.ErrWrongValue.GenWithStackByArgs(types.DateTimeStr, "1992-01-03")))
- _, err = tk.Exec("select timestamp '20171231235959.999999';")
+ err = tk.ExecToErr("select timestamp '20171231235959.999999';")
require.Error(t, err)
require.True(t, terror.ErrorEqual(err, types.ErrWrongValue.GenWithStackByArgs(types.DateTimeStr, "20171231235959.999999")))
}
@@ -2701,12 +2725,36 @@ func TestFuncJSON(t *testing.T) {
// #16267
tk.MustQuery(`select json_array(922337203685477580) = json_array(922337203685477581);`).Check(testkit.Rows("0"))
+ tk.MustQuery("select json_overlaps('[[1,2], 3]', '[1, 3]');").Check(testkit.Rows("1"))
+ tk.MustQuery("select json_overlaps('[{\"a\":1}]', '{\"a\":1}');").Check(testkit.Rows("1"))
+ tk.MustQuery("select json_overlaps('{\"a\":1}', '[{\"a\":1}]');").Check(testkit.Rows("1"))
+ tk.MustQuery("select json_overlaps('[1,[2,3]]', '[[1,2], 3]');").Check(testkit.Rows("0"))
+ tk.MustQuery("select json_overlaps('{\"a\":[1,2]}', '{\"a\":[2,1]}');").Check(testkit.Rows("0"))
+ tk.MustQuery("select json_overlaps('{\"a\":[1,2]}', '{\"a\":[2,1]}');").Check(testkit.Rows("0"))
+
// #10461
tk.MustExec("drop table if exists tx1")
tk.MustExec("create table tx1(id int key, a double, b double, c double, d double)")
tk.MustExec("insert into tx1 values (1, 0.1, 0.2, 0.3, 0.0)")
tk.MustQuery("select a+b, c from tx1").Check(testkit.Rows("0.30000000000000004 0.3"))
tk.MustQuery("select json_array(a+b) = json_array(c) from tx1").Check(testkit.Rows("0"))
+
+ tk.MustQuery("SELECT '{\"a\":1}' MEMBER OF('{\"a\":1}');").Check(testkit.Rows("0"))
+ tk.MustQuery("SELECT '{\"a\":1}' MEMBER OF('[{\"a\":1}]');").Check(testkit.Rows("0"))
+ tk.MustQuery("SELECT 1 MEMBER OF('1');").Check(testkit.Rows("1"))
+ tk.MustQuery("SELECT '{\"a\":1}' MEMBER OF('{\"a\":1}');").Check(testkit.Rows("0"))
+ tk.MustQuery("SELECT '[4,5]' MEMBER OF('[[3,4],[4,5]]');").Check(testkit.Rows("0"))
+ tk.MustQuery("SELECT '[4,5]' MEMBER OF('[[3,4],\"[4,5]\"]');").Check(testkit.Rows("1"))
+
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(a enum('a', 'b'), b time, c binary(10))")
+ tk.MustExec("insert into t values ('a', '11:00:00', 'a')")
+ tk.MustQuery("select a member of ('\"a\"') from t").Check(testkit.Rows(`1`))
+ tk.MustQuery("select b member of (json_array(cast('11:00:00' as time))) from t;").Check(testkit.Rows(`1`))
+ tk.MustQuery("select b member of ('\"11:00:00\"') from t").Check(testkit.Rows(`0`))
+ tk.MustQuery("select c member of ('\"a\"') from t").Check(testkit.Rows(`0`))
+ err = tk.QueryToErr("select 'a' member of ('a')")
+ require.Error(t, err, "ERROR 3140 (22032): Invalid JSON text: The document root must not be followed by other values.")
}
func TestColumnInfoModified(t *testing.T) {
@@ -3050,6 +3098,30 @@ func TestTiDBDecodeKeyFunc(t *testing.T) {
sql = fmt.Sprintf("select tidb_decode_key( '%s' )", hexKey)
rs = fmt.Sprintf(`{"%s":%d,"table_id":"%d"}`, tbl.Meta().GetPkName().String(), rowID, tbl.Meta().ID)
tk.MustQuery(sql).Check(testkit.Rows(rs))
+
+ // Test partition table.
+ tk.MustExec("drop table if exists t;")
+ tk.MustExec("create table t (a int primary key clustered, b int, key bk (b)) PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN (1), PARTITION p1 VALUES LESS THAN (2));")
+ dom = domain.GetDomain(tk.Session())
+ is = dom.InfoSchema()
+ tbl, err = is.TableByName(model.NewCIStr("test"), model.NewCIStr("t"))
+ require.NoError(t, err)
+ require.NotNil(t, tbl.Meta().Partition)
+ hexKey = buildTableRowKey(tbl.Meta().Partition.Definitions[0].ID, rowID)
+ sql = fmt.Sprintf("select tidb_decode_key( '%s' )", hexKey)
+ rs = fmt.Sprintf(`{"%s":%d,"partition_id":%d,"table_id":"%d"}`, tbl.Meta().GetPkName().String(), rowID, tbl.Meta().Partition.Definitions[0].ID, tbl.Meta().ID)
+ tk.MustQuery(sql).Check(testkit.Rows(rs))
+
+ hexKey = tablecodec.EncodeTablePrefix(tbl.Meta().Partition.Definitions[0].ID).String()
+ sql = fmt.Sprintf("select tidb_decode_key( '%s' )", hexKey)
+ rs = fmt.Sprintf(`{"partition_id":%d,"table_id":%d}`, tbl.Meta().Partition.Definitions[0].ID, tbl.Meta().ID)
+ tk.MustQuery(sql).Check(testkit.Rows(rs))
+
+ data = []types.Datum{types.NewIntDatum(100)}
+ hexKey = buildIndexKeyFromData(tbl.Meta().Partition.Definitions[0].ID, tbl.Indices()[0].Meta().ID, data)
+ sql = fmt.Sprintf("select tidb_decode_key( '%s' )", hexKey)
+ rs = fmt.Sprintf(`{"index_id":1,"index_vals":{"b":"100"},"partition_id":%d,"table_id":%d}`, tbl.Meta().Partition.Definitions[0].ID, tbl.Meta().ID)
+ tk.MustQuery(sql).Check(testkit.Rows(rs))
}
func TestTwoDecimalTruncate(t *testing.T) {
@@ -3718,8 +3790,6 @@ func TestExprPushdownBlacklist(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
- tk.MustQuery(`select * from mysql.expr_pushdown_blacklist`).Check(testkit.Rows(
- "date_add tiflash DST(daylight saving time) does not take effect in TiFlash date_add"))
tk.MustExec("use test")
tk.MustExec("drop table if exists t")
@@ -3791,7 +3861,7 @@ func TestInvalidEndingStatement(t *testing.T) {
errMsgLen := len(parseErrMsg)
assertParseErr := func(sql string) {
- _, err := tk.Exec(sql)
+ err := tk.ExecToErr(sql)
require.Error(t, err)
require.Equal(t, err.Error()[:errMsgLen], parseErrMsg)
}
@@ -4110,23 +4180,17 @@ func TestNotExistFunc(t *testing.T) {
tk := testkit.NewTestKit(t, store)
// current db is empty
- _, err := tk.Exec("SELECT xxx(1)")
- require.Error(t, err, "[planner:1046]No database selected")
+ tk.MustGetErrMsg("SELECT xxx(1)", "[planner:1046]No database selected")
- _, err = tk.Exec("SELECT yyy()")
- require.Error(t, err, "[planner:1046]No database selected")
+ tk.MustGetErrMsg("SELECT yyy()", "[planner:1046]No database selected")
// current db is not empty
tk.MustExec("use test")
- _, err = tk.Exec("SELECT xxx(1)")
- require.Error(t, err, "[expression:1305]FUNCTION test.xxx does not exist")
-
- _, err = tk.Exec("SELECT yyy()")
- require.Error(t, err, "[expression:1305]FUNCTION test.yyy does not exist")
+ tk.MustGetErrMsg("SELECT xxx(1)", "[expression:1305]FUNCTION test.xxx does not exist")
+ tk.MustGetErrMsg("SELECT yyy()", "[expression:1305]FUNCTION test.yyy does not exist")
tk.MustExec("use test")
- _, err = tk.Exec("SELECT timestampliteral(rand())")
- require.Error(t, err, "[expression:1305]FUNCTION test.timestampliteral does not exist")
+ tk.MustGetErrMsg("SELECT timestampliteral(rand())", "[expression:1305]FUNCTION test.timestampliteral does not exist")
}
func TestDecodetoChunkReuse(t *testing.T) {
@@ -4925,24 +4989,6 @@ func TestIssue18525(t *testing.T) {
tk.MustQuery("select INTERVAL( ( CONVERT( -11752 USING utf8 ) ), 6558853612195285496, `col1`) from t1").Check(testkit.Rows("0", "0", "0"))
}
-func TestSchemaDMLNotChange(t *testing.T) {
- store := testkit.CreateMockStore(t)
-
- tk := testkit.NewTestKit(t, store)
- tk2 := testkit.NewTestKit(t, store)
- tk.MustExec("use test")
- tk.MustExec("set global tidb_enable_metadata_lock=0")
- tk.MustExec("set tidb_enable_amend_pessimistic_txn = 1;")
- tk2.MustExec("use test")
- tk.MustExec("drop table if exists t")
- tk.MustExec("create table t (id int primary key, c_json json);")
- tk.MustExec("insert into t values (1, '{\"k\": 1}');")
- tk.MustExec("begin")
- tk.MustExec("update t set c_json = '{\"k\": 2}' where id = 1;")
- tk2.MustExec("alter table t rename column c_json to cc_json;")
- tk.MustExec("commit")
-}
-
func TestIssue18850(t *testing.T) {
store := testkit.CreateMockStore(t)
@@ -5908,8 +5954,7 @@ func TestSecurityEnhancedMode(t *testing.T) {
// When SEM is enabled these features are restricted to all users
// regardless of what privileges they have available.
- _, err := tk.Exec("SELECT 1 INTO OUTFILE '/tmp/aaaa'")
- require.Error(t, err, "[planner:8132]Feature 'SELECT INTO' is not supported when security enhanced mode is enabled")
+ tk.MustGetErrMsg("SELECT 1 INTO OUTFILE '/tmp/aaaa'", "[planner:8132]Feature 'SELECT INTO' is not supported when security enhanced mode is enabled")
}
func TestIssue23925(t *testing.T) {
@@ -7102,29 +7147,25 @@ func TestIssue29708(t *testing.T) {
tk.MustExec("use test;")
tk.MustExec("drop table if exists t1;")
tk.MustExec("CREATE TABLE t1 (a text)character set utf8 ;")
- _, err := tk.Exec("INSERT INTO t1 VALUES (REPEAT(0125,200000000));")
- require.NotNil(t, err)
+ tk.MustExecToErr("INSERT INTO t1 VALUES (REPEAT(0125,200000000));")
tk.MustQuery("select * from t1").Check(nil)
// test vectorized build-in function
tk.MustExec("insert into t1 (a) values ('a'),('b');")
- _, err = tk.Exec("insert into t1 select REPEAT(a,200000000) from t1;")
- require.NotNil(t, err)
+ tk.MustExecToErr("insert into t1 select REPEAT(a,200000000) from t1;")
tk.MustQuery("select a from t1 order by a;").Check([][]interface{}{
{"a"},
{"b"},
})
// test cast
- _, err = tk.Exec(`insert into t1 values (cast("a" as binary(4294967295)));`)
- require.NotNil(t, err)
+ tk.MustExecToErr(`insert into t1 values (cast("a" as binary(4294967295)));`)
tk.MustQuery("select a from t1 order by a;").Check([][]interface{}{
{"a"},
{"b"},
})
- _, err = tk.Exec("INSERT IGNORE INTO t1 VALUES (REPEAT(0125,200000000));")
- require.NoError(t, err)
+ tk.MustExec("INSERT IGNORE INTO t1 VALUES (REPEAT(0125,200000000));")
tk.MustQuery("show warnings;").Check(testkit.Rows("Warning 1301 Result of repeat() was larger than max_allowed_packet (67108864) - truncated"))
tk.MustQuery("select a from t1 order by a;").Check([][]interface{}{
{nil},
@@ -7390,6 +7431,29 @@ func TestIssue31569(t *testing.T) {
tk.MustExec("drop table t")
}
+func TestTimestampAddWithFractionalSecond(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(a date)")
+ tk.MustExec("insert into t values ('2021-08-20');")
+ tk.MustQuery("select timestampadd(microsecond, 1, a) from t").Check(testkit.Rows("2021-08-20 00:00:00.000001"))
+ tk.MustQuery("select timestampadd(second, 6/4, a) from t").Check(testkit.Rows("2021-08-20 00:00:01.500000"))
+ tk.MustQuery("select timestampadd(second, 9.9999e2, a) from t").Check(testkit.Rows("2021-08-20 00:16:39.990000"))
+ tk.MustQuery("select timestampadd(second, 1, '2021-08-20 00:00:01.0001')").Check(testkit.Rows("2021-08-20 00:00:02.000100"))
+ tk.MustQuery("select timestampadd(minute, 1.5, '2021-08-20 00:00:00')").Check(testkit.Rows("2021-08-20 00:02:00"))
+ tk.MustQuery("select timestampadd(minute, 1.5, '2021-08-20 00:00:00.0001')").Check(testkit.Rows("2021-08-20 00:02:00.000100"))
+ // overflow
+ tk.MustQuery("SELECT timestampadd(year,1.212208e+308,'1995-01-05 06:32:20.859724') as result").Check(testkit.Rows(""))
+ warnings := tk.Session().GetSessionVars().StmtCtx.GetWarnings()
+ require.Len(t, warnings, 1)
+ for _, warning := range warnings {
+ require.EqualError(t, warning.Err, "[types:1441]Datetime function: datetime field overflow")
+ }
+}
+
func TestDateAddForNonExistingTimestamp(t *testing.T) {
store := testkit.CreateMockStore(t)
@@ -7816,3 +7880,16 @@ func TestIfNullParamMarker(t *testing.T) {
// Should not report 'Data too long for column' error.
tk.MustExec(`execute pr1 using @a,@b;`)
}
+
+func TestIssue39146(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("CREATE TABLE `sun` ( `dest` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;")
+ tk.MustExec("insert into sun values('20231020');")
+ tk.MustExec("set @@sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';")
+ tk.MustExec("set @@tidb_enable_vectorized_expression = on;")
+ tk.MustQuery(`select str_to_date(substr(dest,1,6),'%H%i%s') from sun;`).Check(testkit.Rows("20:23:10"))
+ tk.MustExec("set @@tidb_enable_vectorized_expression = off;")
+ tk.MustQuery(`select str_to_date(substr(dest,1,6),'%H%i%s') from sun;`).Check(testkit.Rows("20:23:10"))
+}
diff --git a/expression/multi_valued_index_test.go b/expression/multi_valued_index_test.go
new file mode 100644
index 0000000000000..97e59993e23b4
--- /dev/null
+++ b/expression/multi_valued_index_test.go
@@ -0,0 +1,484 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package expression_test
+
+import (
+ "context"
+ "fmt"
+ "testing"
+
+ "github.com/pingcap/tidb/errno"
+ "github.com/pingcap/tidb/kv"
+ "github.com/pingcap/tidb/parser/model"
+ "github.com/pingcap/tidb/sessiontxn"
+ "github.com/pingcap/tidb/table"
+ "github.com/pingcap/tidb/tablecodec"
+ "github.com/pingcap/tidb/testkit"
+ "github.com/pingcap/tidb/types"
+ "github.com/pingcap/tidb/util/codec"
+ "github.com/stretchr/testify/require"
+)
+
+func TestMultiValuedIndexDDL(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("USE test;")
+
+ tk.MustExec("create table t(a json);")
+ tk.MustGetErrCode("select cast(a as signed array) from t", errno.ErrNotSupportedYet)
+ tk.MustGetErrCode("select json_extract(cast(a as signed array), '$[0]') from t", errno.ErrNotSupportedYet)
+ tk.MustGetErrCode("select * from t where cast(a as signed array)", errno.ErrNotSupportedYet)
+ tk.MustGetErrCode("select cast('[1,2,3]' as unsigned array);", errno.ErrNotSupportedYet)
+
+ tk.MustExec("drop table t")
+ tk.MustGetErrCode("CREATE TABLE t(x INT, KEY k ((1 AND CAST(JSON_ARRAY(x) AS UNSIGNED ARRAY))));", errno.ErrNotSupportedYet)
+ tk.MustGetErrCode("CREATE TABLE t1 (f1 json, key mvi((cast(cast(f1 as unsigned array) as unsigned array))));", errno.ErrNotSupportedYet)
+ tk.MustGetErrCode("CREATE TABLE t1 (f1 json, key mvi((cast(f1->>'$[*]' as unsigned array))));", errno.ErrInvalidTypeForJSON)
+ tk.MustGetErrCode("CREATE TABLE t1 (f1 json, key mvi((cast(f1->'$[*]' as year array))));", errno.ErrNotSupportedYet)
+ tk.MustGetErrCode("CREATE TABLE t1 (f1 json, key mvi((cast(f1->'$[*]' as json array))));", errno.ErrNotSupportedYet)
+ tk.MustGetErrCode("CREATE TABLE t1 (f1 json, key mvi((cast(f1->'$[*]' as char(10) charset gbk array))));", errno.ErrNotSupportedYet)
+ tk.MustGetErrCode("create table t(j json, gc json as ((concat(cast(j->'$[*]' as unsigned array),\"x\"))));", errno.ErrNotSupportedYet)
+ tk.MustGetErrCode("create table t(j json, gc json as (cast(j->'$[*]' as unsigned array)));", errno.ErrNotSupportedYet)
+ tk.MustGetErrCode("create view v as select cast('[1,2,3]' as unsigned array);", errno.ErrNotSupportedYet)
+ tk.MustExec("create table t(a json, index idx((cast(a as signed array))));")
+
+ tk.MustExec("drop table t")
+ tk.MustGetErrCode("create table t(a json, b int, index idx(b, (cast(a as signed array)), (cast(a as signed array))));", errno.ErrNotSupportedYet)
+ tk.MustExec("create table t(a json, b int);")
+ tk.MustGetErrCode("create index idx on t (b, (cast(a as signed array)), (cast(a as signed array)))", errno.ErrNotSupportedYet)
+ tk.MustGetErrCode("alter table t add index idx(b, (cast(a as signed array)), (cast(a as signed array)))", errno.ErrNotSupportedYet)
+ tk.MustExec("create index idx1 on t (b, (cast(a as signed array)))")
+ tk.MustExec("alter table t add index idx2(b, (cast(a as signed array)))")
+
+ tk.MustExec("drop table t")
+ tk.MustExec("create table t(a json, b int, index idx3(b, (cast(a as signed array))));")
+}
+
+func TestMultiValuedIndexDML(t *testing.T) {
+ store := testkit.CreateMockStore(t)
+
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("USE test;")
+
+ mode := []string{`''`, `default`}
+
+ for _, m := range mode {
+ tk.MustExec(fmt.Sprintf("set @@sql_mode=%s", m))
+
+ tk.MustExec(`drop table if exists t;`)
+ tk.MustExec(`create table t(a json, index idx((cast(a as unsigned array))));`)
+ tk.MustExec(`insert into t values ('[1,2,3]');`)
+ tk.MustGetErrCode(`insert into t values ('[-1]');`, errno.ErrDataOutOfRangeFunctionalIndex)
+ tk.MustGetErrCode(`insert into t values ('["1"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["a"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["汉字"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[1.2]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[1.0]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("11:00:00" as time)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02" as date)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02 11:00:00" as datetime)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast('{"a":1}' as json)));`, errno.ErrInvalidJSONValueForFuncIndex)
+
+ tk.MustExec(`drop table if exists t;`)
+ tk.MustExec(`create table t(a json, index idx((cast(a as signed array))));`)
+ tk.MustExec(`insert into t values ('[1,2,3]');`)
+ tk.MustExec(`insert into t values ('[-1]');`)
+ tk.MustGetErrCode(`insert into t values ('["1"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["a"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["汉字"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[1.2]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[1.0]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("11:00:00" as time)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02" as date)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02 11:00:00" as datetime)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast('{"a":1}' as json)));`, errno.ErrInvalidJSONValueForFuncIndex)
+
+ tk.MustExec(`drop table if exists t;`)
+ tk.MustExec(`create table t(a json, index idx((cast(a as double array))));`)
+ tk.MustExec(`insert into t values ('[1,2,3]');`)
+ tk.MustExec(`insert into t values ('[-1]');`)
+ tk.MustGetErrCode(`insert into t values ('["1"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["a"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["汉字"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustExec(`insert into t values ('[1.2]');`)
+ tk.MustExec(`insert into t values ('[1.0]');`)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("11:00:00" as time)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02" as date)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02 11:00:00" as datetime)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast('{"a":1}' as json)));`, errno.ErrInvalidJSONValueForFuncIndex)
+
+ tk.MustExec(`drop table if exists t;`)
+ tk.MustExec(`create table t(a json, index idx((cast(a as decimal(10, 2) array))));`)
+ tk.MustExec(`insert into t values ('[1,2,3]');`)
+ tk.MustExec(`insert into t values ('[-1]');`)
+ tk.MustGetErrCode(`insert into t values ('["1"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["a"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["汉字"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustExec(`insert into t values ('[1.2]');`)
+ tk.MustExec(`insert into t values ('[1.0]');`)
+ tk.MustExec(`insert into t values ('[1.1102]');`)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("11:00:00" as time)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02" as date)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02 11:00:00" as datetime)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast('{"a":1}' as json)));`, errno.ErrInvalidJSONValueForFuncIndex)
+
+ tk.MustExec(`drop table if exists t;`)
+ tk.MustExec(`create table t(a json, index idx((cast(a as char(1) array))));`)
+ tk.MustGetErrCode(`insert into t values ('[1,2,3]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[-1]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustExec(`insert into t values ('["1"]');`)
+ tk.MustExec(`insert into t values ('["a"]');`)
+ tk.MustGetErrCode(`insert into t values ('["汉字"]');`, errno.ErrFunctionalIndexDataIsTooLong)
+ tk.MustGetErrCode(`insert into t values ('[1.2]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[1.0]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("11:00:00" as time)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02" as date)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02 11:00:00" as datetime)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast('{"a":1}' as json)));`, errno.ErrInvalidJSONValueForFuncIndex)
+
+ tk.MustExec(`drop table if exists t;`)
+ tk.MustExec(`create table t(a json, index idx((cast(a as char(2) array))));`)
+ tk.MustGetErrCode(`insert into t values ('[1,2,3]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[-1]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustExec(`insert into t values ('["1"]');`)
+ tk.MustExec(`insert into t values ('["a"]');`)
+ tk.MustExec(`insert into t values ('["汉字"]');`)
+ tk.MustGetErrCode(`insert into t values ('[1.2]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[1.0]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("11:00:00" as time)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02" as date)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02 11:00:00" as datetime)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast('{"a":1}' as json)));`, errno.ErrInvalidJSONValueForFuncIndex)
+
+ tk.MustExec(`drop table if exists t;`)
+ tk.MustExec(`create table t(a json, index idx((cast(a as binary(1) array))));`)
+ tk.MustGetErrCode(`insert into t values ('[1,2,3]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[-1]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustExec(`insert into t values ('["1"]');`)
+ tk.MustExec(`insert into t values ('["a"]');`)
+ tk.MustGetErrCode(`insert into t values ('["汉字"]');`, errno.ErrFunctionalIndexDataIsTooLong)
+ tk.MustGetErrCode(`insert into t values ('[1.2]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[1.0]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("11:00:00" as time)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02" as date)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02 11:00:00" as datetime)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast('{"a":1}' as json)));`, errno.ErrInvalidJSONValueForFuncIndex)
+
+ tk.MustExec(`drop table if exists t;`)
+ tk.MustExec(`create table t(a json, index idx((cast(a as binary(2) array))));`)
+ tk.MustGetErrCode(`insert into t values ('[1,2,3]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[-1]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustExec(`insert into t values ('["1"]');`)
+ tk.MustExec(`insert into t values ('["a"]');`)
+ tk.MustGetErrCode(`insert into t values ('["汉字"]');`, errno.ErrFunctionalIndexDataIsTooLong)
+ tk.MustGetErrCode(`insert into t values ('[1.2]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[1.0]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("11:00:00" as time)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02" as date)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02 11:00:00" as datetime)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast('{"a":1}' as json)));`, errno.ErrInvalidJSONValueForFuncIndex)
+
+ tk.MustExec(`drop table if exists t;`)
+ tk.MustExec(`create table t(a json, index idx((cast(a as date array))));`)
+ tk.MustGetErrCode(`insert into t values ('[1,2,3]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[-1]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["1"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["a"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["汉字"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[1.2]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[1.0]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("11:00:00" as time)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustExec(`insert into t values (json_array(cast("2022-02-02" as date)));`)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02 11:00:00" as datetime)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast('{"a":1}' as json)));`, errno.ErrInvalidJSONValueForFuncIndex)
+
+ tk.MustExec(`drop table if exists t;`)
+ tk.MustExec(`create table t(a json, index idx((cast(a as time array))));`)
+ tk.MustGetErrCode(`insert into t values ('[1,2,3]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[-1]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["1"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["a"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["汉字"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[1.2]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[1.0]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustExec(`insert into t values (json_array(cast("11:00:00" as time)));`)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02" as date)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02 11:00:00" as datetime)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast('{"a":1}' as json)));`, errno.ErrInvalidJSONValueForFuncIndex)
+
+ tk.MustExec(`drop table if exists t;`)
+ tk.MustExec(`create table t(a json, index idx((cast(a as datetime array))));`)
+ tk.MustGetErrCode(`insert into t values ('[1,2,3]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[-1]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["1"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["a"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('["汉字"]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[1.2]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values ('[1.0]');`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("11:00:00" as time)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustGetErrCode(`insert into t values (json_array(cast("2022-02-02" as date)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ tk.MustExec(`insert into t values (json_array(cast("2022-02-02 11:00:00" as datetime)));`)
+ tk.MustGetErrCode(`insert into t values (json_array(cast('{"a":1}' as json)));`, errno.ErrInvalidJSONValueForFuncIndex)
+ }
+}
+
+func TestWriteMultiValuedIndex(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("create table t1(pk int primary key, a json, index idx((cast(a as signed array))))")
+ tk.MustExec("insert into t1 values (1, '[1,2,2,3]')")
+ tk.MustExec("insert into t1 values (2, '[1,2,3]')")
+ tk.MustExec("insert into t1 values (3, '[]')")
+ tk.MustExec("insert into t1 values (4, '[2,3,4]')")
+ tk.MustExec("insert into t1 values (5, null)")
+
+ t1, err := dom.InfoSchema().TableByName(model.NewCIStr("test"), model.NewCIStr("t1"))
+ require.NoError(t, err)
+ for _, index := range t1.Indices() {
+ if index.Meta().MVIndex {
+ checkCount(t, t1.IndexPrefix(), index, store, 10)
+ checkKey(t, t1.IndexPrefix(), index, store, [][]types.Datum{
+ {types.NewDatum(nil), types.NewIntDatum(5)},
+ {types.NewIntDatum(1), types.NewIntDatum(1)},
+ {types.NewIntDatum(1), types.NewIntDatum(2)},
+ {types.NewIntDatum(2), types.NewIntDatum(1)},
+ {types.NewIntDatum(2), types.NewIntDatum(2)},
+ {types.NewIntDatum(2), types.NewIntDatum(4)},
+ {types.NewIntDatum(3), types.NewIntDatum(1)},
+ {types.NewIntDatum(3), types.NewIntDatum(2)},
+ {types.NewIntDatum(3), types.NewIntDatum(4)},
+ {types.NewIntDatum(4), types.NewIntDatum(4)},
+ })
+ }
+ }
+ tk.MustExec("delete from t1")
+ for _, index := range t1.Indices() {
+ if index.Meta().MVIndex {
+ checkCount(t, t1.IndexPrefix(), index, store, 0)
+ }
+ }
+
+ tk.MustExec("drop table t1")
+ tk.MustExec("create table t1(pk int primary key, a json, index idx((cast(a as char(5) array))))")
+ tk.MustExec("insert into t1 values (1, '[\"abc\", \"abc \"]')")
+ tk.MustExec("insert into t1 values (2, '[\"b\"]')")
+ tk.MustExec("insert into t1 values (3, '[\"b \"]')")
+
+ t1, err = dom.InfoSchema().TableByName(model.NewCIStr("test"), model.NewCIStr("t1"))
+ require.NoError(t, err)
+ for _, index := range t1.Indices() {
+ if index.Meta().MVIndex {
+ checkCount(t, t1.IndexPrefix(), index, store, 4)
+ checkKey(t, t1.IndexPrefix(), index, store, [][]types.Datum{
+ {types.NewBytesDatum([]byte("abc")), types.NewIntDatum(1)},
+ {types.NewBytesDatum([]byte("abc ")), types.NewIntDatum(1)},
+ {types.NewBytesDatum([]byte("b")), types.NewIntDatum(2)},
+ {types.NewBytesDatum([]byte("b ")), types.NewIntDatum(3)},
+ })
+ }
+ }
+
+ tk.MustExec("update t1 set a = json_array_append(a, '$', 'bcd') where pk = 1")
+ tk.MustExec("update t1 set a = '[]' where pk = 2")
+ tk.MustExec("update t1 set a = '[\"abc\"]' where pk = 3")
+
+ for _, index := range t1.Indices() {
+ if index.Meta().MVIndex {
+ checkCount(t, t1.IndexPrefix(), index, store, 4)
+ checkKey(t, t1.IndexPrefix(), index, store, [][]types.Datum{
+ {types.NewBytesDatum([]byte("abc")), types.NewIntDatum(1)},
+ {types.NewBytesDatum([]byte("abc")), types.NewIntDatum(3)},
+ {types.NewBytesDatum([]byte("abc ")), types.NewIntDatum(1)},
+ {types.NewBytesDatum([]byte("bcd")), types.NewIntDatum(1)},
+ })
+ }
+ }
+
+ tk.MustExec("delete from t1")
+ for _, index := range t1.Indices() {
+ if index.Meta().MVIndex {
+ checkCount(t, t1.IndexPrefix(), index, store, 0)
+ }
+ }
+}
+
+func TestWriteMultiValuedIndexPartitionTable(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec(`create table t1
+(
+ pk int primary key,
+ a json,
+ index idx ((cast(a as signed array)))
+) partition by range columns (pk) (partition p0 values less than (10), partition p1 values less than (20));`)
+ tk.MustExec("insert into t1 values (1, '[1,2,2,3]')")
+ tk.MustExec("insert into t1 values (11, '[1,2,3]')")
+ tk.MustExec("insert into t1 values (2, '[]')")
+ tk.MustExec("insert into t1 values (12, '[2,3,4]')")
+ tk.MustExec("insert into t1 values (3, null)")
+ tk.MustExec("insert into t1 values (13, null)")
+
+ t1, err := dom.InfoSchema().TableByName(model.NewCIStr("test"), model.NewCIStr("t1"))
+ require.NoError(t, err)
+
+ expect := map[string]struct {
+ count int
+ vals [][]types.Datum
+ }{
+ "p0": {4, [][]types.Datum{
+ {types.NewDatum(nil), types.NewIntDatum(3)},
+ {types.NewIntDatum(1), types.NewIntDatum(1)},
+ {types.NewIntDatum(2), types.NewIntDatum(1)},
+ {types.NewIntDatum(3), types.NewIntDatum(1)},
+ }},
+ "p1": {7, [][]types.Datum{
+ {types.NewDatum(nil), types.NewIntDatum(13)},
+ {types.NewIntDatum(1), types.NewIntDatum(11)},
+ {types.NewIntDatum(2), types.NewIntDatum(11)},
+ {types.NewIntDatum(2), types.NewIntDatum(12)},
+ {types.NewIntDatum(3), types.NewIntDatum(11)},
+ {types.NewIntDatum(3), types.NewIntDatum(12)},
+ {types.NewIntDatum(4), types.NewIntDatum(12)},
+ }},
+ }
+
+ for _, def := range t1.Meta().GetPartitionInfo().Definitions {
+ partition := t1.(table.PartitionedTable).GetPartition(def.ID)
+ for _, index := range partition.Indices() {
+ if index.Meta().MVIndex {
+ checkCount(t, partition.IndexPrefix(), index, store, expect[def.Name.L].count)
+ checkKey(t, partition.IndexPrefix(), index, store, expect[def.Name.L].vals)
+ }
+ }
+ }
+
+ tk.MustExec("delete from t1")
+ for _, def := range t1.Meta().GetPartitionInfo().Definitions {
+ partition := t1.(table.PartitionedTable).GetPartition(def.ID)
+ for _, index := range partition.Indices() {
+ if index.Meta().MVIndex {
+ checkCount(t, partition.IndexPrefix(), index, store, 0)
+ }
+ }
+ }
+}
+
+func TestWriteMultiValuedIndexUnique(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("create table t1(pk int primary key, a json, unique index idx((cast(a as signed array))))")
+ tk.MustExec("insert into t1 values (1, '[1,2,2]')")
+ tk.MustGetErrCode("insert into t1 values (2, '[1]')", errno.ErrDupEntry)
+ tk.MustExec("insert into t1 values (3, '[3,3,4]')")
+
+ t1, err := dom.InfoSchema().TableByName(model.NewCIStr("test"), model.NewCIStr("t1"))
+ require.NoError(t, err)
+ for _, index := range t1.Indices() {
+ if index.Meta().MVIndex {
+ checkCount(t, t1.IndexPrefix(), index, store, 4)
+ checkKey(t, t1.IndexPrefix(), index, store, [][]types.Datum{
+ {types.NewIntDatum(1)},
+ {types.NewIntDatum(2)},
+ {types.NewIntDatum(3)},
+ {types.NewIntDatum(4)},
+ })
+ }
+ }
+}
+
+func TestWriteMultiValuedIndexComposite(t *testing.T) {
+ store, dom := testkit.CreateMockStoreAndDomain(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+ tk.MustExec("create table t1(pk int primary key, a json, c int, d int, index idx(c, (cast(a as signed array)), d))")
+ tk.MustExec("insert into t1 values (1, '[1,2,2]', 1, 1)")
+ tk.MustExec("insert into t1 values (2, '[2,2,2]', 2, 2)")
+ tk.MustExec("insert into t1 values (3, '[3,3,4]', 3, 3)")
+ tk.MustExec("insert into t1 values (4, null, 4, 4)")
+ tk.MustExec("insert into t1 values (5, '[]', 5, 5)")
+
+ t1, err := dom.InfoSchema().TableByName(model.NewCIStr("test"), model.NewCIStr("t1"))
+ require.NoError(t, err)
+ for _, index := range t1.Indices() {
+ if index.Meta().MVIndex {
+ checkCount(t, t1.IndexPrefix(), index, store, 6)
+ checkKey(t, t1.IndexPrefix(), index, store, [][]types.Datum{
+ {types.NewIntDatum(1), types.NewIntDatum(1), types.NewIntDatum(1), types.NewIntDatum(1)},
+ {types.NewIntDatum(1), types.NewIntDatum(2), types.NewIntDatum(1), types.NewIntDatum(1)},
+ {types.NewIntDatum(2), types.NewIntDatum(2), types.NewIntDatum(2), types.NewIntDatum(2)},
+ {types.NewIntDatum(3), types.NewIntDatum(3), types.NewIntDatum(3), types.NewIntDatum(3)},
+ {types.NewIntDatum(3), types.NewIntDatum(4), types.NewIntDatum(3), types.NewIntDatum(3)},
+ {types.NewIntDatum(4), types.NewDatum(nil), types.NewIntDatum(4), types.NewIntDatum(4)},
+ })
+ }
+ }
+}
+
+func checkCount(t *testing.T, prefix kv.Key, index table.Index, store kv.Storage, except int) {
+ c := 0
+ checkIndex(t, prefix, index, store, func(it kv.Iterator) {
+ c++
+ })
+ require.Equal(t, except, c)
+}
+
+func checkKey(t *testing.T, prefix kv.Key, index table.Index, store kv.Storage, except [][]types.Datum) {
+ idx := 0
+ checkIndex(t, prefix, index, store, func(it kv.Iterator) {
+ indexKey := decodeIndexKey(t, it.Key())
+ require.Equal(t, except[idx], indexKey)
+ idx++
+ })
+}
+
+func checkIndex(t *testing.T, prefix kv.Key, index table.Index, store kv.Storage, fn func(kv.Iterator)) {
+ startKey := codec.EncodeInt(prefix, index.Meta().ID)
+ prefix.Next()
+ se := testkit.NewTestKit(t, store).Session()
+ err := sessiontxn.NewTxn(context.Background(), se)
+ require.NoError(t, err)
+ txn, err := se.Txn(true)
+ require.NoError(t, err)
+ it, err := txn.Iter(startKey, prefix.PrefixNext())
+ require.NoError(t, err)
+ for it.Valid() && it.Key().HasPrefix(prefix) {
+ fn(it)
+ err = it.Next()
+ require.NoError(t, err)
+ }
+ it.Close()
+ se.Close()
+}
+
+func decodeIndexKey(t *testing.T, key kv.Key) []types.Datum {
+ var idLen = 8
+ var prefixLen = 1 + idLen /*tableID*/ + 2
+ _, _, isRecord, err := tablecodec.DecodeKeyHead(key)
+ require.NoError(t, err)
+ require.False(t, isRecord)
+ indexKey := key[prefixLen+idLen:]
+ var datumValues []types.Datum
+ for len(indexKey) > 0 {
+ remain, d, err := codec.DecodeOne(indexKey)
+ require.NoError(t, err)
+ datumValues = append(datumValues, d)
+ indexKey = remain
+ }
+ return datumValues
+}
diff --git a/expression/simple_rewriter.go b/expression/simple_rewriter.go
index 808db9f69b4cf..3343a0cbaa169 100644
--- a/expression/simple_rewriter.go
+++ b/expression/simple_rewriter.go
@@ -48,7 +48,7 @@ func ParseSimpleExprWithTableInfo(ctx sessionctx.Context, exprStr string, tableI
return nil, errors.Trace(err)
}
expr := stmts[0].(*ast.SelectStmt).Fields.Fields[0].Expr
- return RewriteSimpleExprWithTableInfo(ctx, tableInfo, expr)
+ return RewriteSimpleExprWithTableInfo(ctx, tableInfo, expr, false)
}
// ParseSimpleExprCastWithTableInfo parses simple expression string to Expression.
@@ -63,13 +63,13 @@ func ParseSimpleExprCastWithTableInfo(ctx sessionctx.Context, exprStr string, ta
}
// RewriteSimpleExprWithTableInfo rewrites simple ast.ExprNode to expression.Expression.
-func RewriteSimpleExprWithTableInfo(ctx sessionctx.Context, tbl *model.TableInfo, expr ast.ExprNode) (Expression, error) {
+func RewriteSimpleExprWithTableInfo(ctx sessionctx.Context, tbl *model.TableInfo, expr ast.ExprNode, allowCastArray bool) (Expression, error) {
dbName := model.NewCIStr(ctx.GetSessionVars().CurrentDB)
columns, names, err := ColumnInfos2ColumnsAndNames(ctx, dbName, tbl.Name, tbl.Cols(), tbl)
if err != nil {
return nil, err
}
- e, err := RewriteAstExpr(ctx, expr, NewSchema(columns...), names)
+ e, err := RewriteAstExpr(ctx, expr, NewSchema(columns...), names, allowCastArray)
if err != nil {
return nil, err
}
@@ -111,7 +111,7 @@ func ParseSimpleExprsWithNames(ctx sessionctx.Context, exprStr string, schema *S
// RewriteSimpleExprWithNames rewrites simple ast.ExprNode to expression.Expression.
func RewriteSimpleExprWithNames(ctx sessionctx.Context, expr ast.ExprNode, schema *Schema, names []*types.FieldName) (Expression, error) {
- e, err := RewriteAstExpr(ctx, expr, schema, names)
+ e, err := RewriteAstExpr(ctx, expr, schema, names, false)
if err != nil {
return nil, err
}
diff --git a/expression/util.go b/expression/util.go
index 22637d1b8617f..3f4b826239a1d 100644
--- a/expression/util.go
+++ b/expression/util.go
@@ -427,8 +427,10 @@ func ColumnSubstituteImpl(expr Expression, schema *Schema, newExprs []Expression
return substituted, hasFail, v
}
if substituted {
+ flag := v.RetType.GetFlag()
e := BuildCastFunction(v.GetCtx(), newArg, v.RetType)
e.SetCoercibility(v.Coercibility())
+ e.GetType().SetFlag(flag)
return true, false, e
}
return false, false, v
@@ -1143,6 +1145,33 @@ func IsMutableEffectsExpr(expr Expression) bool {
return false
}
+// IsInmutableExpr checks whether this expression only consists of foldable functions and inmutable constants.
+// This expression can be evaluated by using `expr.Eval(chunk.Row{})` directly if it's inmutable.
+func IsInmutableExpr(expr Expression) bool {
+ switch x := expr.(type) {
+ case *ScalarFunction:
+ if _, ok := unFoldableFunctions[x.FuncName.L]; ok {
+ return false
+ }
+ if _, ok := mutableEffectsFunctions[x.FuncName.L]; ok {
+ return false
+ }
+ for _, arg := range x.GetArgs() {
+ if !IsInmutableExpr(arg) {
+ return false
+ }
+ }
+ return true
+ case *Constant:
+ if x.DeferredExpr != nil || x.ParamMarker != nil {
+ return false
+ }
+ return true
+ default:
+ return false
+ }
+}
+
// RemoveDupExprs removes identical exprs. Not that if expr contains functions which
// are mutable or have side effects, we cannot remove it even if it has duplicates;
// if the plan is going to be cached, we cannot remove expressions containing `?` neither.
@@ -1239,7 +1268,7 @@ func ContainCorrelatedColumn(exprs []Expression) bool {
// TODO: Do more careful check here.
func MaybeOverOptimized4PlanCache(ctx sessionctx.Context, exprs []Expression) bool {
// If we do not enable plan cache, all the optimization can work correctly.
- if !ctx.GetSessionVars().StmtCtx.UseCache || ctx.GetSessionVars().StmtCtx.SkipPlanCache {
+ if !ctx.GetSessionVars().StmtCtx.UseCache {
return false
}
return containMutableConst(ctx, exprs)
diff --git a/extension/BUILD.bazel b/extension/BUILD.bazel
index 67b3351e012a4..12ca672b3c86f 100644
--- a/extension/BUILD.bazel
+++ b/extension/BUILD.bazel
@@ -16,6 +16,7 @@ go_library(
"//parser",
"//parser/ast",
"//parser/auth",
+ "//parser/mysql",
"//sessionctx/stmtctx",
"//sessionctx/variable",
"//types",
diff --git a/extension/extensions.go b/extension/extensions.go
index 68bcffd585a89..55f9c0bb83606 100644
--- a/extension/extensions.go
+++ b/extension/extensions.go
@@ -45,6 +45,21 @@ func (es *Extensions) Bootstrap(ctx BootstrapContext) error {
return nil
}
+// GetAccessCheckFuncs returns spec functions of the custom access check
+func (es *Extensions) GetAccessCheckFuncs() (funcs []AccessCheckFunc) {
+ if es == nil {
+ return nil
+ }
+
+ for _, m := range es.manifests {
+ if m.accessCheckFunc != nil {
+ funcs = append(funcs, m.accessCheckFunc)
+ }
+ }
+
+ return funcs
+}
+
// NewSessionExtensions creates a new ConnExtensions object
func (es *Extensions) NewSessionExtensions() *SessionExtensions {
if es == nil {
diff --git a/extension/function.go b/extension/function.go
index d01519e9b751d..cb7c19de0a507 100644
--- a/extension/function.go
+++ b/extension/function.go
@@ -48,12 +48,8 @@ type FunctionDef struct {
EvalStringFunc func(ctx FunctionContext, row chunk.Row) (string, bool, error)
// EvalIntFunc is the eval function when `EvalTp` is `types.ETInt`
EvalIntFunc func(ctx FunctionContext, row chunk.Row) (int64, bool, error)
- // RequireDynamicPrivileges is the dynamic privileges needed to invoke the function
- // If `RequireDynamicPrivileges` is empty, it means every one can invoke this function
- RequireDynamicPrivileges []string
- // SemRequireDynamicPrivileges is the dynamic privileges needed to invoke the function in sem mode
- // If `SemRequireDynamicPrivileges` is empty, `DynamicPrivileges` will be used in sem mode
- SemRequireDynamicPrivileges []string
+ // RequireDynamicPrivileges is a function to return a list of dynamic privileges to check.
+ RequireDynamicPrivileges func(sem bool) []string
}
// Validate validates the function definition
diff --git a/extension/function_test.go b/extension/function_test.go
index c9521e91edadd..86fcd0be845c3 100644
--- a/extension/function_test.go
+++ b/extension/function_test.go
@@ -283,26 +283,37 @@ func TestExtensionFuncPrivilege(t *testing.T) {
},
},
{
- Name: "custom_only_dyn_priv_func",
- EvalTp: types.ETString,
- RequireDynamicPrivileges: []string{"CUSTOM_DYN_PRIV_1"},
+ Name: "custom_only_dyn_priv_func",
+ EvalTp: types.ETString,
+ RequireDynamicPrivileges: func(sem bool) []string {
+ return []string{"CUSTOM_DYN_PRIV_1"}
+ },
EvalStringFunc: func(ctx extension.FunctionContext, row chunk.Row) (string, bool, error) {
return "abc", false, nil
},
},
{
- Name: "custom_only_sem_dyn_priv_func",
- EvalTp: types.ETString,
- SemRequireDynamicPrivileges: []string{"RESTRICTED_CUSTOM_DYN_PRIV_2"},
+ Name: "custom_only_sem_dyn_priv_func",
+ EvalTp: types.ETString,
+ RequireDynamicPrivileges: func(sem bool) []string {
+ if sem {
+ return []string{"RESTRICTED_CUSTOM_DYN_PRIV_2"}
+ }
+ return nil
+ },
EvalStringFunc: func(ctx extension.FunctionContext, row chunk.Row) (string, bool, error) {
return "def", false, nil
},
},
{
- Name: "custom_both_dyn_priv_func",
- EvalTp: types.ETString,
- RequireDynamicPrivileges: []string{"CUSTOM_DYN_PRIV_1"},
- SemRequireDynamicPrivileges: []string{"RESTRICTED_CUSTOM_DYN_PRIV_2"},
+ Name: "custom_both_dyn_priv_func",
+ EvalTp: types.ETString,
+ RequireDynamicPrivileges: func(sem bool) []string {
+ if sem {
+ return []string{"RESTRICTED_CUSTOM_DYN_PRIV_2"}
+ }
+ return []string{"CUSTOM_DYN_PRIV_1"}
+ },
EvalStringFunc: func(ctx extension.FunctionContext, row chunk.Row) (string, bool, error) {
return "ghi", false, nil
},
diff --git a/extension/manifest.go b/extension/manifest.go
index 4a11b93beb4b8..436067c11d704 100644
--- a/extension/manifest.go
+++ b/extension/manifest.go
@@ -19,6 +19,7 @@ import (
"github.com/ngaut/pools"
"github.com/pingcap/errors"
+ "github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/util/chunk"
clientv3 "go.etcd.io/etcd/client/v3"
@@ -54,6 +55,16 @@ func WithCustomFunctions(funcs []*FunctionDef) Option {
}
}
+// AccessCheckFunc is a function that returns a dynamic privilege list for db/tbl/column access
+type AccessCheckFunc func(db, tbl, column string, priv mysql.PrivilegeType, sem bool) []string
+
+// WithCustomAccessCheck specifies the custom db/tbl/column dynamic privilege check
+func WithCustomAccessCheck(fn AccessCheckFunc) Option {
+ return func(m *Manifest) {
+ m.accessCheckFunc = fn
+ }
+}
+
// WithSessionHandlerFactory specifies a factory function to handle session
func WithSessionHandlerFactory(factory func() *SessionHandler) Option {
return func(m *Manifest) {
@@ -106,6 +117,7 @@ type Manifest struct {
dynPrivs []string
bootstrap func(BootstrapContext) error
funcs []*FunctionDef
+ accessCheckFunc AccessCheckFunc
sessionHandlerFactory func() *SessionHandler
close func()
}
diff --git a/extension/registry_test.go b/extension/registry_test.go
index 6137d3b0ff013..ba1130d815fbf 100644
--- a/extension/registry_test.go
+++ b/extension/registry_test.go
@@ -19,8 +19,12 @@ import (
"github.com/pingcap/errors"
"github.com/pingcap/tidb/extension"
+ "github.com/pingcap/tidb/parser/auth"
+ "github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/privilege/privileges"
"github.com/pingcap/tidb/sessionctx/variable"
+ "github.com/pingcap/tidb/testkit"
+ "github.com/pingcap/tidb/util/sem"
"github.com/stretchr/testify/require"
)
@@ -47,9 +51,7 @@ func TestSetupExtensions(t *testing.T) {
}
func TestExtensionRegisterName(t *testing.T) {
- defer func() {
- extension.Reset()
- }()
+ defer extension.Reset()
// test empty name
extension.Reset()
@@ -62,9 +64,7 @@ func TestExtensionRegisterName(t *testing.T) {
}
func TestRegisterExtensionWithClose(t *testing.T) {
- defer func() {
- extension.Reset()
- }()
+ defer extension.Reset()
// normal register
extension.Reset()
@@ -97,9 +97,7 @@ func TestRegisterExtensionWithClose(t *testing.T) {
}
func TestRegisterExtensionWithDyncPrivs(t *testing.T) {
- defer func() {
- extension.Reset()
- }()
+ defer extension.Reset()
origDynPrivs := privileges.GetDynamicPrivileges()
origDynPrivs = append([]string{}, origDynPrivs...)
@@ -132,9 +130,7 @@ func TestRegisterExtensionWithDyncPrivs(t *testing.T) {
}
func TestRegisterExtensionWithSysVars(t *testing.T) {
- defer func() {
- extension.Reset()
- }()
+ defer extension.Reset()
sysVar1 := &variable.SysVar{
Scope: variable.ScopeGlobal | variable.ScopeSession,
@@ -184,3 +180,170 @@ func TestRegisterExtensionWithSysVars(t *testing.T) {
require.Nil(t, variable.GetSysVar("var1"))
require.Nil(t, variable.GetSysVar("var2"))
}
+
+func TestSetVariablePrivilege(t *testing.T) {
+ defer extension.Reset()
+
+ sysVar1 := &variable.SysVar{
+ Scope: variable.ScopeGlobal | variable.ScopeSession,
+ Name: "var1",
+ Value: "1",
+ MinValue: 0,
+ MaxValue: 100,
+ Type: variable.TypeInt,
+ RequireDynamicPrivileges: func(isGlobal bool, sem bool) []string {
+ privs := []string{"priv1"}
+ if isGlobal {
+ privs = append(privs, "priv2")
+ }
+
+ if sem {
+ privs = append(privs, "restricted_priv3")
+ }
+
+ return privs
+ },
+ }
+
+ extension.Reset()
+ require.NoError(t, extension.Register(
+ "test",
+ extension.WithCustomSysVariables([]*variable.SysVar{sysVar1}),
+ extension.WithCustomDynPrivs([]string{"priv1", "priv2", "restricted_priv3"}),
+ ))
+ require.NoError(t, extension.Setup())
+
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+
+ tk.MustExec("create user u2@localhost")
+
+ tk1 := testkit.NewTestKit(t, store)
+ require.NoError(t, tk1.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "localhost"}, nil, nil))
+
+ tk2 := testkit.NewTestKit(t, store)
+ require.NoError(t, tk2.Session().Auth(&auth.UserIdentity{Username: "u2", Hostname: "localhost"}, nil, nil))
+
+ sem.Disable()
+ tk1.MustExec("set @@var1=7")
+ tk1.MustQuery("select @@var1").Check(testkit.Rows("7"))
+
+ require.EqualError(t, tk2.ExecToErr("set @@var1=10"), "[planner:1227]Access denied; you need (at least one of) the SUPER or priv1 privilege(s) for this operation")
+ tk2.MustQuery("select @@var1").Check(testkit.Rows("1"))
+
+ tk.MustExec("GRANT priv1 on *.* TO u2@localhost")
+ tk2.MustExec("set @@var1=8")
+ tk2.MustQuery("select @@var1").Check(testkit.Rows("8"))
+
+ tk1.MustExec("set @@global.var1=17")
+ tk1.MustQuery("select @@global.var1").Check(testkit.Rows("17"))
+
+ tk.MustExec("GRANT SYSTEM_VARIABLES_ADMIN on *.* TO u2@localhost")
+ require.EqualError(t, tk2.ExecToErr("set @@global.var1=18"), "[planner:1227]Access denied; you need (at least one of) the SUPER or priv2 privilege(s) for this operation")
+ tk2.MustQuery("select @@global.var1").Check(testkit.Rows("17"))
+
+ tk.MustExec("GRANT priv2 on *.* TO u2@localhost")
+ tk2.MustExec("set @@global.var1=18")
+ tk2.MustQuery("select @@global.var1").Check(testkit.Rows("18"))
+
+ sem.Enable()
+ defer sem.Disable()
+
+ require.EqualError(t, tk1.ExecToErr("set @@global.var1=27"), "[planner:1227]Access denied; you need (at least one of) the restricted_priv3 privilege(s) for this operation")
+ tk1.MustQuery("select @@global.var1").Check(testkit.Rows("18"))
+
+ require.EqualError(t, tk2.ExecToErr("set @@global.var1=27"), "[planner:1227]Access denied; you need (at least one of) the restricted_priv3 privilege(s) for this operation")
+ tk2.MustQuery("select @@global.var1").Check(testkit.Rows("18"))
+
+ tk.MustExec("GRANT restricted_priv3 on *.* TO u2@localhost")
+ tk2.MustExec("set @@global.var1=28")
+ tk2.MustQuery("select @@global.var1").Check(testkit.Rows("28"))
+}
+
+func TestCustomAccessCheck(t *testing.T) {
+ defer extension.Reset()
+ extension.Reset()
+
+ require.NoError(t, extension.Register(
+ "test",
+ extension.WithCustomDynPrivs([]string{"priv1", "priv2", "restricted_priv3"}),
+ extension.WithCustomAccessCheck(func(db, tbl, column string, priv mysql.PrivilegeType, sem bool) []string {
+ if db != "test" || tbl != "t1" {
+ return nil
+ }
+
+ var privs []string
+ if priv == mysql.SelectPriv {
+ privs = append(privs, "priv1")
+ } else if priv == mysql.UpdatePriv {
+ privs = append(privs, "priv2")
+ if sem {
+ privs = append(privs, "restricted_priv3")
+ }
+ } else {
+ return nil
+ }
+
+ return privs
+ }),
+ ))
+ require.NoError(t, extension.Setup())
+
+ store := testkit.CreateMockStore(t)
+ tk := testkit.NewTestKit(t, store)
+ tk.MustExec("use test")
+
+ tk.MustExec("create user u2@localhost")
+
+ tk1 := testkit.NewTestKit(t, store)
+ require.NoError(t, tk1.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "localhost"}, nil, nil))
+ tk1.MustExec("use test")
+
+ tk2 := testkit.NewTestKit(t, store)
+ require.NoError(t, tk2.Session().Auth(&auth.UserIdentity{Username: "u2", Hostname: "localhost"}, nil, nil))
+ tk.MustExec("GRANT all on test.t1 TO u2@localhost")
+ tk2.MustExec("use test")
+
+ tk1.MustExec("create table t1(id int primary key, v int)")
+ tk1.MustExec("insert into t1 values (1, 10), (2, 20)")
+
+ tk1.MustQuery("select * from t1 where id=1").Check(testkit.Rows("1 10"))
+ tk1.MustQuery("select * from t1").Check(testkit.Rows("1 10", "2 20"))
+
+ require.EqualError(t, tk2.ExecToErr("select * from t1 where id=1"), "[planner:1142]SELECT command denied to user 'u2'@'localhost' for table 't1'")
+ require.EqualError(t, tk2.ExecToErr("select * from t1"), "[planner:1142]SELECT command denied to user 'u2'@'localhost' for table 't1'")
+
+ tk.MustExec("GRANT priv1 on *.* TO u2@localhost")
+ tk2.MustQuery("select * from t1 where id=1").Check(testkit.Rows("1 10"))
+ tk2.MustQuery("select * from t1").Check(testkit.Rows("1 10", "2 20"))
+
+ require.EqualError(t, tk2.ExecToErr("update t1 set v=11 where id=1"), "[planner:8121]privilege check for 'Update' fail")
+ require.EqualError(t, tk2.ExecToErr("update t1 set v=11 where id<2"), "[planner:8121]privilege check for 'Update' fail")
+ tk2.MustQuery("select * from t1 where id=1").Check(testkit.Rows("1 10"))
+
+ tk.MustExec("GRANT priv2 on *.* TO u2@localhost")
+ tk2.MustExec("update t1 set v=11 where id=1")
+ tk2.MustQuery("select * from t1 where id=1").Check(testkit.Rows("1 11"))
+
+ tk2.MustExec("update t1 set v=12 where id<2")
+ tk2.MustQuery("select * from t1 where id=1").Check(testkit.Rows("1 12"))
+
+ sem.Enable()
+ defer sem.Disable()
+
+ require.EqualError(t, tk1.ExecToErr("update t1 set v=21 where id=1"), "[planner:8121]privilege check for 'Update' fail")
+ require.EqualError(t, tk1.ExecToErr("update t1 set v=21 where id<2"), "[planner:8121]privilege check for 'Update' fail")
+ tk1.MustQuery("select * from t1 where id=1").Check(testkit.Rows("1 12"))
+
+ require.EqualError(t, tk2.ExecToErr("update t1 set v=21 where id=1"), "[planner:8121]privilege check for 'Update' fail")
+ require.EqualError(t, tk2.ExecToErr("update t1 set v=21 where id<2"), "[planner:8121]privilege check for 'Update' fail")
+ tk2.MustQuery("select * from t1 where id=1").Check(testkit.Rows("1 12"))
+
+ tk.MustExec("GRANT restricted_priv3 on *.* TO u2@localhost")
+ tk2.MustExec("update t1 set v=31 where id=1")
+ tk2.MustQuery("select * from t1 where id=1").Check(testkit.Rows("1 31"))
+
+ tk2.MustExec("update t1 set v=32 where id<2")
+ tk2.MustQuery("select * from t1 where id=1").Check(testkit.Rows("1 32"))
+}
diff --git a/go.mod b/go.mod
index 01400b701b85b..1af0523464e97 100644
--- a/go.mod
+++ b/go.mod
@@ -4,9 +4,10 @@ go 1.19
require (
cloud.google.com/go/storage v1.21.0
+ github.com/Azure/azure-sdk-for-go/sdk/azcore v0.20.0
github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.12.0
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.2.0
- github.com/BurntSushi/toml v1.2.0
+ github.com/BurntSushi/toml v1.2.1
github.com/DATA-DOG/go-sqlmock v1.5.0
github.com/Jeffail/gabs/v2 v2.5.1
github.com/Masterminds/semver v1.5.0
@@ -19,26 +20,27 @@ require (
github.com/charithe/durationcheck v0.0.9
github.com/cheggaaa/pb/v3 v3.0.8
github.com/cheynewallace/tabby v1.1.1
+ github.com/cloudfoundry/gosigar v1.3.4
github.com/cockroachdb/errors v1.8.1
github.com/cockroachdb/pebble v0.0.0-20210719141320-8c3bd06debb5
github.com/coocood/freecache v1.2.1
github.com/coreos/go-semver v0.3.0
- github.com/daixiang0/gci v0.6.3
+ github.com/daixiang0/gci v0.8.5
github.com/danjacques/gofslock v0.0.0-20191023191349-0a45f885bc37
- github.com/dgraph-io/ristretto v0.1.1-0.20220403145359-8e850b710d6d
+ github.com/dgraph-io/ristretto v0.1.1
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13
github.com/docker/go-units v0.4.0
github.com/emirpasic/gods v1.18.1
github.com/fatanugraha/noloopclosure v0.1.1
github.com/fatih/color v1.13.0
github.com/fsouza/fake-gcs-server v1.19.0
- github.com/go-sql-driver/mysql v1.6.0
+ github.com/go-sql-driver/mysql v1.7.0
github.com/gogo/protobuf v1.3.2
github.com/golang/mock v1.6.0
github.com/golang/protobuf v1.5.2
github.com/golang/snappy v0.0.4
- github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a
- github.com/golangci/golangci-lint v1.49.0
+ github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2
+ github.com/golangci/golangci-lint v1.50.1
github.com/golangci/gosec v0.0.0-20180901114220-8afd9cbb6cfb
github.com/golangci/misspell v0.3.5
github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21
@@ -55,7 +57,7 @@ require (
github.com/jingyugao/rowserrcheck v1.1.1
github.com/joho/sqltocsv v0.0.0-20210428211105-a6d6801d59df
github.com/kisielk/errcheck v1.6.2
- github.com/klauspost/compress v1.15.1
+ github.com/klauspost/compress v1.15.13
github.com/kyoh86/exportloopref v0.1.8
github.com/lestrrat-go/jwx/v2 v2.0.6
github.com/mgechev/revive v1.2.4
@@ -64,29 +66,31 @@ require (
github.com/opentracing/basictracer-go v1.0.0
github.com/opentracing/opentracing-go v1.2.0
github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2
- github.com/pingcap/badger v1.5.1-0.20220314162537-ab58fbf40580
- github.com/pingcap/errors v0.11.5-0.20220729040631-518f63d66278
+ github.com/pingcap/badger v1.5.1-0.20230103063557-828f39b09b6d
+ github.com/pingcap/errors v0.11.5-0.20221009092201-b66cddb77c32
github.com/pingcap/failpoint v0.0.0-20220423142525-ae43b7f4e5c3
github.com/pingcap/fn v0.0.0-20200306044125-d5540d389059
- github.com/pingcap/kvproto v0.0.0-20221103025916-e7e21f0e9cd9
- github.com/pingcap/log v1.1.1-0.20221110065318-21a4942860b3
+ github.com/pingcap/kvproto v0.0.0-20230105060948-64890fa4f6c1
+ github.com/pingcap/log v1.1.1-0.20221116035753-734d527bc87c
github.com/pingcap/sysutil v0.0.0-20220114020952-ea68d2dbf5b4
github.com/pingcap/tidb/parser v0.0.0-20211011031125-9b13dc409c5e
- github.com/pingcap/tipb v0.0.0-20221020071514-cd933387bcb5
+ github.com/pingcap/tipb v0.0.0-20221123081521-2fb828910813
github.com/pkg/errors v0.9.1
- github.com/prometheus/client_golang v1.13.0
- github.com/prometheus/client_model v0.2.0
- github.com/prometheus/common v0.37.0
+ github.com/prometheus/client_golang v1.14.0
+ github.com/prometheus/client_model v0.3.0
+ github.com/prometheus/common v0.39.0
github.com/prometheus/prometheus v0.0.0-20190525122359-d20e84d0fb64
- github.com/shirou/gopsutil/v3 v3.22.7
+ github.com/sasha-s/go-deadlock v0.0.0-20161201235124-341000892f3d
+ github.com/shirou/gopsutil/v3 v3.22.9
github.com/shurcooL/httpgzip v0.0.0-20190720172056-320755c1c1b0
github.com/soheilhy/cmux v0.1.5
- github.com/spf13/cobra v1.5.0
+ github.com/spf13/cobra v1.6.1
github.com/spf13/pflag v1.0.5
+ github.com/stathat/consistent v1.0.0
github.com/stretchr/testify v1.8.0
github.com/tdakkota/asciicheck v0.1.1
github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2
- github.com/tikv/client-go/v2 v2.0.3-0.20221108030801-9c0835c80eba
+ github.com/tikv/client-go/v2 v2.0.4
github.com/tikv/pd/client v0.0.0-20221031025758-80f0d8ca4d07
github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144
github.com/twmb/murmur3 v1.1.3
@@ -104,21 +108,22 @@ require (
go.uber.org/atomic v1.10.0
go.uber.org/automaxprocs v1.4.0
go.uber.org/goleak v1.2.0
- go.uber.org/multierr v1.8.0
- go.uber.org/zap v1.23.0
- golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e
- golang.org/x/net v0.1.0
- golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5
- golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4
- golang.org/x/sys v0.1.0
- golang.org/x/term v0.1.0
- golang.org/x/text v0.4.0
- golang.org/x/time v0.0.0-20220224211638-0e9765cccd65
- golang.org/x/tools v0.1.12
+ go.uber.org/multierr v1.9.0
+ go.uber.org/zap v1.24.0
+ golang.org/x/exp v0.0.0-20221023144134-a1e5550cf13e
+ golang.org/x/net v0.5.0
+ golang.org/x/oauth2 v0.3.0
+ golang.org/x/sync v0.1.0
+ golang.org/x/sys v0.4.0
+ golang.org/x/term v0.4.0
+ golang.org/x/text v0.6.0
+ golang.org/x/time v0.3.0
+ golang.org/x/tools v0.2.0
google.golang.org/api v0.74.0
google.golang.org/grpc v1.45.0
gopkg.in/yaml.v2 v2.4.0
honnef.co/go/tools v0.3.3
+ k8s.io/apimachinery v0.26.0
sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0
sourcegraph.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67
)
@@ -127,7 +132,6 @@ require (
cloud.google.com/go v0.100.2 // indirect
cloud.google.com/go/compute v1.5.0 // indirect
cloud.google.com/go/iam v0.1.1 // indirect
- github.com/Azure/azure-sdk-for-go/sdk/azcore v0.20.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.1 // indirect
github.com/DataDog/zstd v1.4.5 // indirect
github.com/HdrHistogram/hdrhistogram-go v1.1.2 // indirect
@@ -138,7 +142,7 @@ require (
github.com/benbjohnson/clock v1.3.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash v1.1.0 // indirect
- github.com/cespare/xxhash/v2 v2.1.2 // indirect
+ github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/chavacava/garif v0.0.0-20220630083739-93517212f375 // indirect
github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f // indirect
github.com/cockroachdb/redact v1.0.8 // indirect
@@ -162,7 +166,7 @@ require (
github.com/goccy/go-json v0.9.11 // indirect
github.com/golang/glog v1.0.0 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
- github.com/google/go-cmp v0.5.8 // indirect
+ github.com/google/go-cmp v0.5.9 // indirect
github.com/googleapis/gax-go/v2 v2.2.0 // indirect
github.com/gorilla/handlers v1.5.1 // indirect
github.com/gorilla/websocket v1.4.2 // indirect
@@ -172,7 +176,7 @@ require (
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
github.com/hashicorp/go-uuid v1.0.2 // indirect
github.com/hexops/gotextdiff v1.0.3 // indirect
- github.com/inconshreveable/mousetrap v1.0.0 // indirect
+ github.com/inconshreveable/mousetrap v1.0.1 // indirect
github.com/jcmturner/aescts/v2 v2.0.0 // indirect
github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect
github.com/jcmturner/gofork v1.0.0 // indirect
@@ -193,7 +197,7 @@ require (
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.16 // indirect
github.com/mattn/go-runewidth v0.0.14 // indirect
- github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
+ github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 // indirect
@@ -201,12 +205,14 @@ require (
github.com/ngaut/sync2 v0.0.0-20141008032647-7a24ed77b2ef // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/olekukonko/tablewriter v0.0.5 // indirect
+ github.com/petermattis/goid v0.0.0-20170504144140-0ded85884ba5 // indirect
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
+ github.com/pingcap/check v0.0.0-20200212061837-5e12011dc712 // indirect
github.com/pingcap/goleveldb v0.0.0-20191226122134-f82aafb29989 // indirect
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
- github.com/prometheus/procfs v0.8.0 // indirect
+ github.com/prometheus/procfs v0.9.0 // indirect
github.com/prometheus/tsdb v0.8.0 // indirect
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect
@@ -215,7 +221,8 @@ require (
github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 // indirect
github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd // indirect
github.com/sirupsen/logrus v1.9.0 // indirect
- github.com/stathat/consistent v1.0.0 // indirect
+ github.com/spaolacci/murmur3 v1.1.0 // indirect
+ github.com/tiancaiamao/gp v0.0.0-20221230034425-4025bc8a4d4a // indirect
github.com/tklauser/go-sysconf v0.3.10 // indirect
github.com/tklauser/numcpus v0.4.0 // indirect
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 // indirect
@@ -236,16 +243,17 @@ require (
go.opentelemetry.io/otel/sdk/metric v0.20.0 // indirect
go.opentelemetry.io/otel/trace v0.20.0 // indirect
go.opentelemetry.io/proto/otlp v0.7.0 // indirect
- golang.org/x/crypto v0.1.0 // indirect
- golang.org/x/exp/typeparams v0.0.0-20220613132600-b0d781184e0d // indirect
- golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
+ golang.org/x/crypto v0.5.0 // indirect
+ golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91 // indirect
+ golang.org/x/mod v0.7.0 // indirect
golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb // indirect
google.golang.org/protobuf v1.28.1 // indirect
+ gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
- sigs.k8s.io/yaml v1.2.0 // indirect
+ sigs.k8s.io/yaml v1.3.0 // indirect
)
replace (
diff --git a/go.sum b/go.sum
index 0730b5193bd55..f7e1d15fa689c 100644
--- a/go.sum
+++ b/go.sum
@@ -70,8 +70,8 @@ github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.2.0 h1:62Ew5xXg5UCGIXDOM
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.2.0/go.mod h1:eHWhQKXc1Gv1DvWH//UzgWjWFEo0Pp4pH2vBzjBw8Fc=
github.com/Azure/go-autorest v11.2.8+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/BurntSushi/toml v1.2.0 h1:Rt8g24XnyGTyglgET/PRUNlrUeu9F5L+7FilkXfZgs0=
-github.com/BurntSushi/toml v1.2.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
+github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=
+github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a/go.mod h1:EFZQ978U7x8IRnstaskI3IysnWY5Ao3QgZUKOXlsAdw=
github.com/CloudyKit/jet v2.1.3-0.20180809161101-62edd43e4f88+incompatible/go.mod h1:HPYO+50pSWkPoj9Q/eq0aRGByCL6ScRlUmiEX5Zgm+w=
@@ -151,8 +151,9 @@ github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
+github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/charithe/durationcheck v0.0.9 h1:mPP4ucLrf/rKZiIG/a9IPXHGlh8p4CzgpyTy6EEutYk=
github.com/charithe/durationcheck v0.0.9/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg=
github.com/chavacava/garif v0.0.0-20220630083739-93517212f375 h1:E7LT642ysztPWE0dfz43cWOvMiF42DyTRC+eZIaO4yI=
@@ -165,6 +166,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+github.com/cloudfoundry/gosigar v1.3.4 h1:T3MoGdugg1vdHn8Az7wDn7cZ4+QCjZph+eXf2CjSjo4=
+github.com/cloudfoundry/gosigar v1.3.4/go.mod h1:g9r7ETZ1tpvJCT9TpqxO53+5BUZiM2FDSFSENzjK5Z8=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
@@ -220,8 +223,8 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3
github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548 h1:iwZdTE0PVqJCos1vaoKsclOGD3ADKpshg3SRtYBbwso=
github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548/go.mod h1:e6NPNENfs9mPDVNRekM7lKScauxd5kXTr1Mfyig6TDM=
-github.com/daixiang0/gci v0.6.3 h1:wUAqXChk8HbwXn8AfxD9DYSCp9Bpz1L3e6Q4Roe+q9E=
-github.com/daixiang0/gci v0.6.3/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c=
+github.com/daixiang0/gci v0.8.5 h1:yBdsd376w+RIBvFXjj0MAcGWS8cSCfAlRNPfn5xvjl0=
+github.com/daixiang0/gci v0.8.5/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c=
github.com/danjacques/gofslock v0.0.0-20191023191349-0a45f885bc37 h1:X6mKGhCFOxrKeeHAjv/3UvT6e5RRxW6wRdlqlV6/H4w=
github.com/danjacques/gofslock v0.0.0-20191023191349-0a45f885bc37/go.mod h1:DC3JtzuG7kxMvJ6dZmf2ymjNyoXwgtklr7FN+Um2B0U=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -231,8 +234,8 @@ github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4=
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc=
github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4=
-github.com/dgraph-io/ristretto v0.1.1-0.20220403145359-8e850b710d6d h1:Wrc3UKTS+cffkOx0xRGFC+ZesNuTfn0ThvEC72N0krk=
-github.com/dgraph-io/ristretto v0.1.1-0.20220403145359-8e850b710d6d/go.mod h1:RAy2GVV4sTWVlNMavv3xhLsk18rxhfhDnombTe6EF5c=
+github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8=
+github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA=
github.com/dgryski/go-farm v0.0.0-20190104051053-3adb47b1fb0f/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y=
@@ -315,7 +318,6 @@ github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2
github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk=
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
-github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
@@ -327,8 +329,8 @@ github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
-github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
-github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
+github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc=
+github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
@@ -393,10 +395,10 @@ github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW
github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
-github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a h1:iR3fYXUjHCR97qWS8ch1y9zPNsgXThGwjKPrYfqMPks=
-github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU=
-github.com/golangci/golangci-lint v1.49.0 h1:I8WHOavragDttlLHtSraHn/h39C+R60bEQ5NoGcHQr8=
-github.com/golangci/golangci-lint v1.49.0/go.mod h1:+V/7lLv449R6w9mQ3WdV0EKh7Je/jTylMeSwBZcLeWE=
+github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 h1:amWTbTGqOZ71ruzrdA+Nx5WA3tV1N0goTspwmKCQvBY=
+github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2/go.mod h1:9wOXstvyDRshQ9LggQuzBCGysxs3b6Uo/1MvYCR2NMs=
+github.com/golangci/golangci-lint v1.50.1 h1:C829clMcZXEORakZlwpk7M4iDw2XiwxxKaG504SZ9zY=
+github.com/golangci/golangci-lint v1.50.1/go.mod h1:AQjHBopYS//oB8xs0y0M/dtxdKHkdhl0RvmjUct0/4w=
github.com/golangci/gosec v0.0.0-20180901114220-8afd9cbb6cfb h1:Bi7BYmZVg4C+mKGi8LeohcP2GGUl2XJD4xCkJoZSaYc=
github.com/golangci/gosec v0.0.0-20180901114220-8afd9cbb6cfb/go.mod h1:ON/c2UR0VAAv6ZEAFKhjCLplESSmRFfZcDLASbI1GWo=
github.com/golangci/misspell v0.3.5 h1:pLzmVdl3VxTOncgzHcvLOKirdvcx/TydsClUQXTehjo=
@@ -422,11 +424,12 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
-github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
-github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
+github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
+github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g=
github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
@@ -534,8 +537,9 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w=
github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA=
-github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
+github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc=
+github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/influxdata/influxdb v0.0.0-20170331210902-15e594fc09f1/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY=
github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI=
github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0=
@@ -611,8 +615,8 @@ github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0
github.com/klauspost/compress v1.10.5/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
-github.com/klauspost/compress v1.15.1 h1:y9FcTHGyrebwfP0ZZqFiaxTaiDnUrGkJkI+f583BL1A=
-github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
+github.com/klauspost/compress v1.15.13 h1:NFn1Wr8cfnenSJSA46lLq4wHCcBzKTSjnBIexDMMOV0=
+github.com/klauspost/compress v1.15.13/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
github.com/klauspost/cpuid v1.3.1 h1:5JNjFYYQrZeKRJ0734q51WCEEn2huer72Dc7K+R/b6s=
github.com/klauspost/cpuid v1.3.1/go.mod h1:bYW4mA6ZgKPob1/Dlai2LviZJO7KGI3uoWLd42rAQw4=
@@ -671,8 +675,9 @@ github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh
github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU=
github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
-github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
+github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
+github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
github.com/maxatome/go-testdeep v1.11.0 h1:Tgh5efyCYyJFGUYiT0qxBSIDeXw0F5zSoatlou685kk=
github.com/mediocregopher/mediocre-go-lib v0.0.0-20181029021733-cb65787f37ed/go.mod h1:dSsfyI2zABAdhcbvkXqgxOxrCsbYeHCPgrZkku60dSg=
github.com/mediocregopher/radix/v3 v3.3.0/go.mod h1:EmfVyvspXz1uZEyPBMyGK+kjWiKQGvsUt6O3Pj+LDCQ=
@@ -733,7 +738,7 @@ github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1ls
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
-github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=
+github.com/onsi/gomega v1.23.0 h1:/oxKu9c2HVap+F3PfKort2Hw5DEU+HGlW8n+tguWsys=
github.com/opentracing-contrib/go-stdlib v0.0.0-20170113013457-1de4cc2120e7/go.mod h1:PLldrQSroqzH70Xl+1DQcGnefIbqsKR7UDaiux3zV+w=
github.com/opentracing/basictracer-go v1.0.0 h1:YyUAhaEfjoWXclZVJ9sGoNct7j4TVk7lZWlQw5UXuoo=
github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74=
@@ -751,23 +756,25 @@ github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FI
github.com/pborman/getopt v0.0.0-20180729010549-6fdd0a2c7117/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/peterbourgon/g2s v0.0.0-20170223122336-d4e7ad98afea/go.mod h1:1VcHEd3ro4QMoHfiNl/j7Jkln9+KQuorp0PItHMJYNg=
+github.com/petermattis/goid v0.0.0-20170504144140-0ded85884ba5 h1:rUMC+oZ89Om6l9wvUNjzI0ZrKrSnXzV+opsgAohYUNc=
github.com/petermattis/goid v0.0.0-20170504144140-0ded85884ba5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o=
github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2 h1:JhzVVoYvbOACxoUmOs6V/G4D5nPVUW73rKvXxP4XUJc=
github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE=
github.com/pierrec/lz4 v2.6.0+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM=
github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
-github.com/pingcap/badger v1.5.1-0.20220314162537-ab58fbf40580 h1:MKVFZuqFvAMiDtv3AbihOQ6rY5IE8LWflI1BuZ/hF0Y=
-github.com/pingcap/badger v1.5.1-0.20220314162537-ab58fbf40580/go.mod h1:upwDfet29M5y5koWilbWWA6ca3Lr0YVuzwX/DK58Vdk=
+github.com/pingcap/badger v1.5.1-0.20230103063557-828f39b09b6d h1:AEcvKyVM8CUII3bYzgz8haFXtGiqcrtXW1csu/5UELY=
+github.com/pingcap/badger v1.5.1-0.20230103063557-828f39b09b6d/go.mod h1:p8QnkZnmyV8L/M/jzYb8rT7kv3bz9m7bn1Ju94wDifs=
github.com/pingcap/check v0.0.0-20190102082844-67f458068fc8/go.mod h1:B1+S9LNcuMyLH/4HMTViQOJevkGiik3wW2AN9zb2fNQ=
-github.com/pingcap/check v0.0.0-20191107115940-caf2b9e6ccf4 h1:iRtOAQ6FXkY/BGvst3CDfTva4nTqh6CL8WXvanLdbu0=
github.com/pingcap/check v0.0.0-20191107115940-caf2b9e6ccf4/go.mod h1:PYMCGwN0JHjoqGr3HrZoD+b8Tgx8bKnArhSq8YVzUMc=
+github.com/pingcap/check v0.0.0-20200212061837-5e12011dc712 h1:R8gStypOBmpnHEx1qi//SaqxJVI4inOqljg/Aj5/390=
+github.com/pingcap/check v0.0.0-20200212061837-5e12011dc712/go.mod h1:PYMCGwN0JHjoqGr3HrZoD+b8Tgx8bKnArhSq8YVzUMc=
github.com/pingcap/errors v0.11.0/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
github.com/pingcap/errors v0.11.5-0.20190809092503-95897b64e011/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
github.com/pingcap/errors v0.11.5-0.20211224045212-9687c2b0f87c/go.mod h1:X2r9ueLEUZgtx2cIogM0v4Zj5uvvzhuuiu7Pn8HzMPg=
-github.com/pingcap/errors v0.11.5-0.20220729040631-518f63d66278 h1:3Dm0DWeQlwV8LbpQxP2tojHhxd9aY59KI+QN0ns6bBo=
-github.com/pingcap/errors v0.11.5-0.20220729040631-518f63d66278/go.mod h1:X2r9ueLEUZgtx2cIogM0v4Zj5uvvzhuuiu7Pn8HzMPg=
+github.com/pingcap/errors v0.11.5-0.20221009092201-b66cddb77c32 h1:m5ZsBa5o/0CkzZXfXLaThzKuR85SnHHetqBCpzQ30h8=
+github.com/pingcap/errors v0.11.5-0.20221009092201-b66cddb77c32/go.mod h1:X2r9ueLEUZgtx2cIogM0v4Zj5uvvzhuuiu7Pn8HzMPg=
github.com/pingcap/failpoint v0.0.0-20210918120811-547c13e3eb00/go.mod h1:4qGtCB0QK0wBzKtFEGDhxXnSnbQApw1gc9siScUl8ew=
github.com/pingcap/failpoint v0.0.0-20220423142525-ae43b7f4e5c3 h1:kJolJWbyadVeL8RKBlqmXQR7FRKPsIeU85TUYyhbhiQ=
github.com/pingcap/failpoint v0.0.0-20220423142525-ae43b7f4e5c3/go.mod h1:4qGtCB0QK0wBzKtFEGDhxXnSnbQApw1gc9siScUl8ew=
@@ -777,18 +784,18 @@ github.com/pingcap/goleveldb v0.0.0-20191226122134-f82aafb29989 h1:surzm05a8C9dN
github.com/pingcap/goleveldb v0.0.0-20191226122134-f82aafb29989/go.mod h1:O17XtbryoCJhkKGbT62+L2OlrniwqiGLSqrmdHCMzZw=
github.com/pingcap/kvproto v0.0.0-20191211054548-3c6b38ea5107/go.mod h1:WWLmULLO7l8IOcQG+t+ItJ3fEcrL5FxF0Wu+HrMy26w=
github.com/pingcap/kvproto v0.0.0-20221026112947-f8d61344b172/go.mod h1:OYtxs0786qojVTmkVeufx93xe+jUgm56GUYRIKnmaGI=
-github.com/pingcap/kvproto v0.0.0-20221103025916-e7e21f0e9cd9 h1:ho5XUD8DVCnkpEj8oiTR57FXDTXnH6znyLe0gyrtzKk=
-github.com/pingcap/kvproto v0.0.0-20221103025916-e7e21f0e9cd9/go.mod h1:OYtxs0786qojVTmkVeufx93xe+jUgm56GUYRIKnmaGI=
+github.com/pingcap/kvproto v0.0.0-20230105060948-64890fa4f6c1 h1:jw4NjEiCleRJPPpHM7K6l8OKzOjnZAj62eKteCAY6ro=
+github.com/pingcap/kvproto v0.0.0-20230105060948-64890fa4f6c1/go.mod h1:OYtxs0786qojVTmkVeufx93xe+jUgm56GUYRIKnmaGI=
github.com/pingcap/log v0.0.0-20191012051959-b742a5d432e9/go.mod h1:4rbK1p9ILyIfb6hU7OG2CiWSqMXnp3JMbiaVJ6mvoY8=
-github.com/pingcap/log v0.0.0-20200511115504-543df19646ad/go.mod h1:4rbK1p9ILyIfb6hU7OG2CiWSqMXnp3JMbiaVJ6mvoY8=
github.com/pingcap/log v0.0.0-20210625125904-98ed8e2eb1c7/go.mod h1:8AanEdAHATuRurdGxZXBz0At+9avep+ub7U1AGYLIMM=
+github.com/pingcap/log v1.1.0/go.mod h1:DWQW5jICDR7UJh4HtxXSM20Churx4CQL0fwL/SoOSA4=
github.com/pingcap/log v1.1.1-0.20221015072633-39906604fb81/go.mod h1:DWQW5jICDR7UJh4HtxXSM20Churx4CQL0fwL/SoOSA4=
-github.com/pingcap/log v1.1.1-0.20221110065318-21a4942860b3 h1:T7e5Low0BU2ZazI2dz2mh3W1qv+w8wtvq1YR8DneA0c=
-github.com/pingcap/log v1.1.1-0.20221110065318-21a4942860b3/go.mod h1:DWQW5jICDR7UJh4HtxXSM20Churx4CQL0fwL/SoOSA4=
+github.com/pingcap/log v1.1.1-0.20221116035753-734d527bc87c h1:crhkw6DD+07Bg1wYhW5Piw+kYNKZqFQqfC2puUf6gMI=
+github.com/pingcap/log v1.1.1-0.20221116035753-734d527bc87c/go.mod h1:DWQW5jICDR7UJh4HtxXSM20Churx4CQL0fwL/SoOSA4=
github.com/pingcap/sysutil v0.0.0-20220114020952-ea68d2dbf5b4 h1:HYbcxtnkN3s5tqrZ/z3eJS4j3Db8wMphEm1q10lY/TM=
github.com/pingcap/sysutil v0.0.0-20220114020952-ea68d2dbf5b4/go.mod h1:sDCsM39cGiv2vwunZkaFA917vVkqDTGSPbbV7z4Oops=
-github.com/pingcap/tipb v0.0.0-20221020071514-cd933387bcb5 h1:Yoo8j5xQGxjlsC3yt0ndsiAz0WZXED9rzsKmEN0U0DY=
-github.com/pingcap/tipb v0.0.0-20221020071514-cd933387bcb5/go.mod h1:A7mrd7WHBl1o63LE2bIBGEJMTNWXqhgmYiOvMLxozfs=
+github.com/pingcap/tipb v0.0.0-20221123081521-2fb828910813 h1:DbmCfCbcavo0JG+gSp0ySvv1ub/c/j3hsnYzyYPzONo=
+github.com/pingcap/tipb v0.0.0-20221123081521-2fb828910813/go.mod h1:A7mrd7WHBl1o63LE2bIBGEJMTNWXqhgmYiOvMLxozfs=
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4 h1:49lOXmGaUpV9Fz3gd7TFZY106KVlPVa5jcYD1gaQf98=
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -807,31 +814,29 @@ github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDf
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
-github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
-github.com/prometheus/client_golang v1.13.0 h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU=
-github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ=
+github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw=
+github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=
github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4=
+github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
github.com/prometheus/common v0.0.0-20181020173914-7e9e6cabbd39/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
-github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
-github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE=
-github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA=
+github.com/prometheus/common v0.39.0 h1:oOyhkDq05hPZKItWVBkJ6g6AtGxi+fy7F4JvUV8uhsI=
+github.com/prometheus/common v0.39.0/go.mod h1:6XBZ7lYdLCbkAVhwRsWTZn+IN5AB9F/NXd5w0BbEX0Y=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
-github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
-github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo=
-github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4=
+github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI=
+github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY=
github.com/prometheus/prometheus v0.0.0-20190525122359-d20e84d0fb64 h1:3DyLm+sTAJkfLyR/1pJ3L+fU2lFufWbpcgMFlGtqeyA=
github.com/prometheus/prometheus v0.0.0-20190525122359-d20e84d0fb64/go.mod h1:oYrT4Vs22/NcnoVYXt5m4cIHP+znvgyusahVpyETKTw=
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
@@ -858,14 +863,15 @@ github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/samuel/go-zookeeper v0.0.0-20161028232340-1d7be4effb13/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
+github.com/sasha-s/go-deadlock v0.0.0-20161201235124-341000892f3d h1:yVBZEAirqhDYAc7xftf/swe8eHcg63jqfwdqN8KSoR8=
github.com/sasha-s/go-deadlock v0.0.0-20161201235124-341000892f3d/go.mod h1:StQn567HiB1fF2yJ44N9au7wOhrPS3iZqiDbRupzT10=
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
github.com/shirou/gopsutil/v3 v3.21.12/go.mod h1:BToYZVTlSVlfazpDDYFnsVZLaoRG+g8ufT6fPQLdJzA=
-github.com/shirou/gopsutil/v3 v3.22.7 h1:flKnuCMfUUrO+oAvwAd6GKZgnPzr098VA/UJ14nhJd4=
-github.com/shirou/gopsutil/v3 v3.22.7/go.mod h1:s648gW4IywYzUfE/KjXxUsqrqx/T2xO5VqOXxONeRfI=
+github.com/shirou/gopsutil/v3 v3.22.9 h1:yibtJhIVEMcdw+tCTbOPiF1VcsuDeTE4utJ8Dm4c5eA=
+github.com/shirou/gopsutil/v3 v3.22.9/go.mod h1:bBYl1kjgEJpWpxeHmLI+dVHWtyAwfcmSBLDsp2TNT8A=
github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg=
github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 h1:bUGsEnyNbVPw06Bs80sCeARAlK8lhwqGyi6UT8ymuGk=
@@ -888,15 +894,16 @@ github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js=
github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0=
-github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
+github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
+github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo=
-github.com/spf13/cobra v1.5.0 h1:X+jTBEBqF0bHN+9cSMgmfuvv2VHJ9ezmFNf9Y/XstYU=
-github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM=
+github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA=
+github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY=
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
@@ -927,8 +934,10 @@ github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpR
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY=
github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2 h1:mbAskLJ0oJfDRtkanvQPiooDH8HvJ2FBh+iKT/OmiQQ=
github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2/go.mod h1:2PfKggNGDuadAa0LElHrByyrz4JPZ9fFx6Gs7nx7ZZU=
-github.com/tikv/client-go/v2 v2.0.3-0.20221108030801-9c0835c80eba h1:nFVdyTXcQYZwQQCdSJcFI1vBFyzG1hVuZ39MAK6wqK4=
-github.com/tikv/client-go/v2 v2.0.3-0.20221108030801-9c0835c80eba/go.mod h1:X9s4ct/MLk1sFqe5mU79KClKegLFDTa/FCx3hzexGtk=
+github.com/tiancaiamao/gp v0.0.0-20221230034425-4025bc8a4d4a h1:J/YdBZ46WKpXsxsW93SG+q0F8KI+yFrcIDT4c/RNoc4=
+github.com/tiancaiamao/gp v0.0.0-20221230034425-4025bc8a4d4a/go.mod h1:h4xBhSNtOeEosLJ4P7JyKXX7Cabg7AVkWCK5gV2vOrM=
+github.com/tikv/client-go/v2 v2.0.4 h1:cPtMXTExqjzk8L40qhrgB/mXiBXKP5LRU0vwjtI2Xxo=
+github.com/tikv/client-go/v2 v2.0.4/go.mod h1:v52O5zDtv2BBus4lm5yrSQhxGW4Z4RaXWfg0U1Kuyqo=
github.com/tikv/pd/client v0.0.0-20221031025758-80f0d8ca4d07 h1:ckPpxKcl75mO2N6a4cJXiZH43hvcHPpqc9dh1TmH1nc=
github.com/tikv/pd/client v0.0.0-20221031025758-80f0d8ca4d07/go.mod h1:CipBxPfxPUME+BImx9MUYXCnAVLS3VJUr3mnSJwh40A=
github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144 h1:kl4KhGNsJIbDHS9/4U9yQo1UcPQM0kOMJHn29EoH/Ro=
@@ -1048,8 +1057,9 @@ go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+
go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
-go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8=
go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
+go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI=
+go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ=
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
@@ -1057,8 +1067,9 @@ go.uber.org/zap v1.12.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI=
go.uber.org/zap v1.20.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw=
-go.uber.org/zap v1.23.0 h1:OjGQ5KQDEUawVHxNwQgPpiypGHOxo2mNZsOqTak4fFY=
-go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY=
+go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw=
+go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
+go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
golang.org/x/crypto v0.0.0-20180723164146-c126467f60eb/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
@@ -1077,8 +1088,8 @@ golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220427172511-eb4f295cb31f/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU=
-golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
+golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE=
+golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU=
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1093,10 +1104,10 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
golang.org/x/exp v0.0.0-20200513190911-00229845015e/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw=
-golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA=
-golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA=
-golang.org/x/exp/typeparams v0.0.0-20220613132600-b0d781184e0d h1:+W8Qf4iJtMGKkyAygcKohjxTk4JPsL9DpzApJ22m5Ic=
-golang.org/x/exp/typeparams v0.0.0-20220613132600-b0d781184e0d/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
+golang.org/x/exp v0.0.0-20221023144134-a1e5550cf13e h1:SkwG94eNiiYJhbeDE018Grw09HIN/KB9NlRmZsrzfWs=
+golang.org/x/exp v0.0.0-20221023144134-a1e5550cf13e/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE=
+golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91 h1:Ic/qN6TEifvObMGQy72k0n1LlJr7DjWWEi+MOsDOiSk=
+golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
@@ -1126,8 +1137,8 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY=
-golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=
-golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
+golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA=
+golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -1177,7 +1188,6 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210427231257-85d9c07bbe3a/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
@@ -1185,8 +1195,8 @@ golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qx
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
-golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0=
-golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
+golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw=
+golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -1205,8 +1215,8 @@ golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ
golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
-golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 h1:OSnWWcOd/CtWQC2cYSBgbTSJv3ciqd8r54ySIW2y3RE=
-golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
+golang.org/x/oauth2 v0.3.0 h1:6l90koy8/LaBLmLu8jpHeHexzMwEita0zFfYlggy2F8=
+golang.org/x/oauth2 v0.3.0/go.mod h1:rQrIauxkUhJ6CuwEXwymO2/eh4xz2ZWF1nBkcxS+tGk=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -1218,8 +1228,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw=
-golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
+golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180816055513-1c9583448a9c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1310,12 +1320,13 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220909162455-aba9fc2a8ff2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
-golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18=
+golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
-golang.org/x/term v0.1.0 h1:g6Z6vPFA9dYBAF7DWcH6sCcOntplXsDKcliusYijMlw=
-golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.4.0 h1:O7UWfv5+A2qiuulQk30kVinPoMtoIPeVaKLEgLpVkvg=
+golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1325,15 +1336,15 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
-golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
-golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k=
+golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20220224211638-0e9765cccd65 h1:M73Iuj3xbbb9Uk1DYhzydthsj6oOd6l9bpuFcNoUvTs=
-golang.org/x/time v0.0.0-20220224211638-0e9765cccd65/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
+golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -1409,8 +1420,8 @@ golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
-golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
-golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
+golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE=
+golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1609,6 +1620,7 @@ gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMy
gopkg.in/fsnotify/fsnotify.v1 v1.3.1/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE=
gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y=
+gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
@@ -1648,6 +1660,8 @@ honnef.co/go/tools v0.3.3 h1:oDx7VAwstgpYpb3wv0oxiZlxY+foCpRAwY7Vk6XpAgA=
honnef.co/go/tools v0.3.3/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw=
k8s.io/api v0.0.0-20190409021203-6e4e0e4f393b/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA=
k8s.io/apimachinery v0.0.0-20190404173353-6a84e37a896d/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0=
+k8s.io/apimachinery v0.26.0 h1:1feANjElT7MvPqp0JT6F3Ss6TWDwmcjLypwoPpEf7zg=
+k8s.io/apimachinery v0.26.0/go.mod h1:tnPmbONNJ7ByJNz9+n9kMjNP8ON+1qoAIIC70lztu74=
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible/go.mod h1:7vJpHMYJwNQCWgzmNV+VYUl1zCObLyodBc8nIyt8L5s=
k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/kube-openapi v0.0.0-20180629012420-d83b052f768a/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc=
@@ -1657,8 +1671,9 @@ rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
-sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
+sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
+sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0 h1:ucqkfpjg9WzSUubAO62csmucvxl4/JeW3F4I4909XkM=
sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=
sourcegraph.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67 h1:e1sMhtVq9AfcEy8AXNb8eSg6gbzfdpYhoNqnPJa+GzI=
diff --git a/infoschema/BUILD.bazel b/infoschema/BUILD.bazel
index 53bf35a2d43e3..a92608a8df1b3 100644
--- a/infoschema/BUILD.bazel
+++ b/infoschema/BUILD.bazel
@@ -50,8 +50,12 @@ go_library(
"@com_github_ngaut_pools//:pools",
"@com_github_pingcap_errors//:errors",
"@com_github_pingcap_failpoint//:failpoint",
+ "@com_github_pingcap_kvproto//pkg/diagnosticspb",
"@com_github_pingcap_kvproto//pkg/metapb",
+ "@com_github_pingcap_log//:log",
"@com_github_tikv_client_go_v2//tikv",
+ "@org_golang_google_grpc//:grpc",
+ "@org_golang_google_grpc//credentials",
"@org_golang_x_exp//slices",
"@org_uber_go_zap//:zap",
],
@@ -93,8 +97,10 @@ go_test(
"//store/helper",
"//store/mockstore",
"//store/mockstore/mockstorage",
+ "//store/mockstore/unistore",
"//table",
"//testkit",
+ "//testkit/external",
"//testkit/testsetup",
"//testkit/testutil",
"//types",
@@ -104,14 +110,17 @@ go_test(
"//util/pdapi",
"//util/resourcegrouptag",
"//util/set",
+ "//util/stmtsummary",
"@com_github_gorilla_mux//:mux",
"@com_github_pingcap_errors//:errors",
"@com_github_pingcap_failpoint//:failpoint",
"@com_github_pingcap_fn//:fn",
"@com_github_pingcap_kvproto//pkg/deadlock",
+ "@com_github_pingcap_kvproto//pkg/metapb",
"@com_github_pingcap_tipb//go-tipb",
"@com_github_prometheus_prometheus//promql",
"@com_github_stretchr_testify//require",
+ "@com_github_tikv_client_go_v2//testutils",
"@org_golang_google_grpc//:grpc",
"@org_uber_go_goleak//:goleak",
],
diff --git a/infoschema/builder.go b/infoschema/builder.go
index 8ff50a8b50435..ffdad1e4c8607 100644
--- a/infoschema/builder.go
+++ b/infoschema/builder.go
@@ -211,6 +211,12 @@ func (b *Builder) ApplyDiff(m *meta.Meta, diff *model.SchemaDiff) ([]int64, erro
return b.applyDropPolicy(diff.SchemaID), nil
case model.ActionAlterPlacementPolicy:
return b.applyAlterPolicy(m, diff)
+ case model.ActionCreateResourceGroup:
+ return nil, b.applyCreateOrAlterResourceGroup(m, diff)
+ case model.ActionAlterResourceGroup:
+ return nil, b.applyCreateOrAlterResourceGroup(m, diff)
+ case model.ActionDropResourceGroup:
+ return b.applyDropResourceGroup(m, diff), nil
case model.ActionTruncateTablePartition, model.ActionTruncateTable:
return b.applyTruncateTableOrPartition(m, diff)
case model.ActionDropTable, model.ActionDropTablePartition:
@@ -501,13 +507,36 @@ func (b *Builder) copySortedTables(oldTableID, newTableID int64) {
}
}
+func (b *Builder) applyCreateOrAlterResourceGroup(m *meta.Meta, diff *model.SchemaDiff) error {
+ group, err := m.GetResourceGroup(diff.SchemaID)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ if group == nil {
+ return ErrResourceGroupNotExists.GenWithStackByArgs(fmt.Sprintf("(Group ID %d)", diff.SchemaID))
+ }
+ // TODO: need mark updated?
+ b.is.setResourceGroup(group)
+ return nil
+}
+
+func (b *Builder) applyDropResourceGroup(m *meta.Meta, diff *model.SchemaDiff) []int64 {
+ group, ok := b.is.ResourceGroupByID(diff.SchemaID)
+ if !ok {
+ return nil
+ }
+ b.is.deleteResourceGroup(group.Name.L)
+ // TODO: return the related information.
+ return []int64{}
+}
+
func (b *Builder) applyCreatePolicy(m *meta.Meta, diff *model.SchemaDiff) error {
po, err := m.GetPolicy(diff.SchemaID)
if err != nil {
return errors.Trace(err)
}
if po == nil {
- return ErrPlacementPolicyExists.GenWithStackByArgs(
+ return ErrPlacementPolicyNotExists.GenWithStackByArgs(
fmt.Sprintf("(Policy ID %d)", diff.SchemaID),
)
}
@@ -529,7 +558,7 @@ func (b *Builder) applyAlterPolicy(m *meta.Meta, diff *model.SchemaDiff) ([]int6
}
if po == nil {
- return nil, ErrPlacementPolicyExists.GenWithStackByArgs(
+ return nil, ErrPlacementPolicyNotExists.GenWithStackByArgs(
fmt.Sprintf("(Policy ID %d)", diff.SchemaID),
)
}
@@ -693,18 +722,23 @@ func (b *Builder) applyCreateTable(m *meta.Meta, dbInfo *model.DBInfo, tableID i
ConvertCharsetCollateToLowerCaseIfNeed(tblInfo)
ConvertOldVersionUTF8ToUTF8MB4IfNeed(tblInfo)
- if len(allocs) == 0 {
+ if len(allocs.Allocs) == 0 {
allocs = autoid.NewAllocatorsFromTblInfo(b.store, dbInfo.ID, tblInfo)
} else {
tblVer := autoid.AllocOptionTableInfoVersion(tblInfo.Version)
switch tp {
case model.ActionRebaseAutoID, model.ActionModifyTableAutoIdCache:
idCacheOpt := autoid.CustomAutoIncCacheOption(tblInfo.AutoIdCache)
- newAlloc := autoid.NewAllocator(b.store, dbInfo.ID, tblInfo.ID, tblInfo.IsAutoIncColUnsigned(), autoid.RowIDAllocType, tblVer, idCacheOpt)
- allocs = append(allocs, newAlloc)
+ // If the allocator type might be AutoIncrementType, create both AutoIncrementType
+ // and RowIDAllocType allocator for it. Because auto id and row id could share the same allocator.
+ // Allocate auto id may route to allocate row id, if row id allocator is nil, the program panic!
+ for _, tp := range [2]autoid.AllocatorType{autoid.AutoIncrementType, autoid.RowIDAllocType} {
+ newAlloc := autoid.NewAllocator(b.store, dbInfo.ID, tblInfo.ID, tblInfo.IsAutoIncColUnsigned(), tp, tblVer, idCacheOpt)
+ allocs = allocs.Append(newAlloc)
+ }
case model.ActionRebaseAutoRandomBase:
newAlloc := autoid.NewAllocator(b.store, dbInfo.ID, tblInfo.ID, tblInfo.IsAutoRandomBitColUnsigned(), autoid.AutoRandomType, tblVer)
- allocs = append(allocs, newAlloc)
+ allocs = allocs.Append(newAlloc)
case model.ActionModifyColumn:
// Change column attribute from auto_increment to auto_random.
if tblInfo.ContainsAutoRandomBits() && allocs.Get(autoid.AutoRandomType) == nil {
@@ -713,7 +747,7 @@ func (b *Builder) applyCreateTable(m *meta.Meta, dbInfo *model.DBInfo, tableID i
return a.GetType() != autoid.AutoIncrementType && a.GetType() != autoid.RowIDAllocType
})
newAlloc := autoid.NewAllocator(b.store, dbInfo.ID, tblInfo.ID, tblInfo.IsAutoRandomBitColUnsigned(), autoid.AutoRandomType, tblVer)
- allocs = append(allocs, newAlloc)
+ allocs = allocs.Append(newAlloc)
}
}
}
@@ -892,7 +926,7 @@ func (b *Builder) getSchemaAndCopyIfNecessary(dbName string) *model.DBInfo {
}
// InitWithDBInfos initializes an empty new InfoSchema with a slice of DBInfo, all placement rules, and schema version.
-func (b *Builder) InitWithDBInfos(dbInfos []*model.DBInfo, policies []*model.PolicyInfo, schemaVersion int64) (*Builder, error) {
+func (b *Builder) InitWithDBInfos(dbInfos []*model.DBInfo, policies []*model.PolicyInfo, resourceGroups []*model.ResourceGroupInfo, schemaVersion int64) (*Builder, error) {
info := b.is
info.schemaMetaVersion = schemaVersion
// build the policies.
@@ -900,6 +934,11 @@ func (b *Builder) InitWithDBInfos(dbInfos []*model.DBInfo, policies []*model.Pol
info.setPolicy(policy)
}
+ // build the groups.
+ for _, group := range resourceGroups {
+ info.setResourceGroup(group)
+ }
+
// Maintain foreign key reference information.
for _, di := range dbInfos {
for _, t := range di.Tables {
@@ -1003,6 +1042,7 @@ func NewBuilder(store kv.Storage, factory func() (pools.Resource, error)) *Build
is: &infoSchema{
schemaMap: map[string]*schemaTables{},
policyMap: map[string]*model.PolicyInfo{},
+ resourceGroupMap: map[string]*model.ResourceGroupInfo{},
ruleBundleMap: map[int64]*placement.Bundle{},
sortedTablesBuckets: make([]sortedTables, bucketCount),
referredForeignKeyMap: make(map[SchemaAndTableName][]*model.ReferredFKInfo),
diff --git a/infoschema/cache.go b/infoschema/cache.go
index 22ea012a9be28..34cc08eca2231 100644
--- a/infoschema/cache.go
+++ b/infoschema/cache.go
@@ -43,8 +43,15 @@ type InfoCache struct {
}
// NewCache creates a new InfoCache.
-func NewCache(capcity int) *InfoCache {
- return &InfoCache{cache: make([]InfoSchema, 0, capcity)}
+func NewCache(capacity int) *InfoCache {
+ return &InfoCache{cache: make([]InfoSchema, 0, capacity)}
+}
+
+// Reset resets the cache.
+func (h *InfoCache) Reset(capacity int) {
+ h.mu.Lock()
+ defer h.mu.Unlock()
+ h.cache = make([]InfoSchema, 0, capacity)
}
// GetLatest gets the newest information schema.
diff --git a/infoschema/cluster_tables_test.go b/infoschema/cluster_tables_test.go
index 5e323b2adc88a..781f52bebe519 100644
--- a/infoschema/cluster_tables_test.go
+++ b/infoschema/cluster_tables_test.go
@@ -31,6 +31,7 @@ import (
"github.com/pingcap/failpoint"
"github.com/pingcap/fn"
"github.com/pingcap/kvproto/pkg/deadlock"
+ "github.com/pingcap/kvproto/pkg/metapb"
"github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/domain"
"github.com/pingcap/tidb/executor"
@@ -40,16 +41,20 @@ import (
"github.com/pingcap/tidb/parser/auth"
"github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/server"
- "github.com/pingcap/tidb/sessionctx/variable"
"github.com/pingcap/tidb/store/helper"
+ "github.com/pingcap/tidb/store/mockstore"
"github.com/pingcap/tidb/store/mockstore/mockstorage"
+ "github.com/pingcap/tidb/store/mockstore/unistore"
"github.com/pingcap/tidb/testkit"
+ "github.com/pingcap/tidb/testkit/external"
"github.com/pingcap/tidb/util"
"github.com/pingcap/tidb/util/pdapi"
"github.com/pingcap/tidb/util/resourcegrouptag"
"github.com/pingcap/tidb/util/set"
+ "github.com/pingcap/tidb/util/stmtsummary"
"github.com/pingcap/tipb/go-tipb"
"github.com/stretchr/testify/require"
+ "github.com/tikv/client-go/v2/testutils"
"google.golang.org/grpc"
)
@@ -811,10 +816,6 @@ func (s *clusterTablesSuite) newTestKitWithRoot(t *testing.T) *testkit.TestKit {
}
func TestMDLView(t *testing.T) {
- if !variable.EnableConcurrentDDL.Load() {
- t.Skipf("test requires concurrent ddl")
- }
-
// setup suite
s := new(clusterTablesSuite)
s.store, s.dom = testkit.CreateMockStoreAndDomain(t)
@@ -852,3 +853,392 @@ func TestMDLView(t *testing.T) {
wg.Wait()
}
+
+func TestCreateBindingFromHistory(t *testing.T) {
+ s := new(clusterTablesSuite)
+ s.store, s.dom = testkit.CreateMockStoreAndDomain(t)
+ s.rpcserver, s.listenAddr = s.setUpRPCService(t, "127.0.0.1:0", nil)
+ s.httpServer, s.mockAddr = s.setUpMockPDHTTPServer()
+ s.startTime = time.Now()
+ defer s.httpServer.Close()
+ defer s.rpcserver.Stop()
+ tk := s.newTestKitWithRoot(t)
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "%"}, nil, nil))
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t1(id int primary key, a int, b int, key(a))")
+ tk.MustExec("create table t2(id int primary key, a int, b int, key(a))")
+
+ var testCases = []struct {
+ sqls []string
+ hint string
+ }{
+ {
+ sqls: []string{
+ "select %s * from t1, t2 where t1.id = t2.id",
+ "select %s * from test.t1, t2 where t1.id = t2.id",
+ "select %s * from test.t1, test.t2 where t1.id = t2.id",
+ "select %s * from t1, test.t2 where t1.id = t2.id",
+ },
+ hint: "/*+ merge_join(t1, t2) */",
+ },
+ {
+ sqls: []string{
+ "select %s * from t1 where a = 1",
+ "select %s * from test.t1 where a = 1",
+ },
+ hint: "/*+ ignore_index(t, a) */",
+ },
+ }
+
+ for _, testCase := range testCases {
+ for _, bind := range testCase.sqls {
+ stmtsummary.StmtSummaryByDigestMap.Clear()
+ bindSQL := fmt.Sprintf(bind, testCase.hint)
+ tk.MustExec(bindSQL)
+ planDigest := tk.MustQuery(fmt.Sprintf("select plan_digest from information_schema.statements_summary where query_sample_text = '%s'", bindSQL)).Rows()
+ tk.MustExec(fmt.Sprintf("create session binding from history using plan digest '%s'", planDigest[0][0]))
+ showRes := tk.MustQuery("show bindings").Rows()
+ require.Equal(t, len(showRes), 1)
+ require.Equal(t, planDigest[0][0], showRes[0][10])
+ for _, sql := range testCase.sqls {
+ tk.MustExec(fmt.Sprintf(sql, ""))
+ tk.MustQuery("select @@last_plan_from_binding").Check(testkit.Rows("1"))
+ }
+ }
+ showRes := tk.MustQuery("show bindings").Rows()
+ require.Equal(t, len(showRes), 1)
+ tk.MustExec(fmt.Sprintf("drop binding for sql digest '%s'", showRes[0][9]))
+ }
+
+ // exception cases
+ tk.MustGetErrMsg(fmt.Sprintf("create binding from history using plan digest '%s'", "1"), "can't find any plans for '1'")
+ tk.MustGetErrMsg(fmt.Sprintf("create binding from history using plan digest '%s'", ""), "plan digest is empty")
+ tk.MustExec("create binding for select * from t1, t2 where t1.id = t2.id using select /*+ merge_join(t1, t2) */ * from t1, t2 where t1.id = t2.id")
+ showRes := tk.MustQuery("show bindings").Rows()
+ require.Equal(t, showRes[0][10], "") // plan digest should be nil by create for
+}
+
+func TestCreateBindingForPrepareFromHistory(t *testing.T) {
+ s := new(clusterTablesSuite)
+ s.store, s.dom = testkit.CreateMockStoreAndDomain(t)
+ s.rpcserver, s.listenAddr = s.setUpRPCService(t, "127.0.0.1:0", nil)
+ s.httpServer, s.mockAddr = s.setUpMockPDHTTPServer()
+ s.startTime = time.Now()
+ defer s.httpServer.Close()
+ defer s.rpcserver.Stop()
+ tk := s.newTestKitWithRoot(t)
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "%"}, nil, nil))
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(id int primary key, a int, key(a))")
+
+ tk.MustExec("prepare stmt from 'select /*+ ignore_index(t,a) */ * from t where a = ?'")
+ tk.MustExec("set @a = 1")
+ tk.MustExec("execute stmt using @a")
+ planDigest := tk.MustQuery(fmt.Sprintf("select plan_digest from information_schema.statements_summary where query_sample_text = '%s'", "select /*+ ignore_index(t,a) */ * from t where a = ? [arguments: 1]")).Rows()
+ showRes := tk.MustQuery("show bindings").Rows()
+ require.Equal(t, len(showRes), 0)
+ tk.MustExec(fmt.Sprintf("create binding from history using plan digest '%s'", planDigest[0][0]))
+ showRes = tk.MustQuery("show bindings").Rows()
+ require.Equal(t, len(showRes), 1)
+ require.Equal(t, planDigest[0][0], showRes[0][10])
+ tk.MustExec("execute stmt using @a")
+ tk.MustQuery("select @@last_plan_from_binding").Check(testkit.Rows("1"))
+}
+
+func TestErrorCasesCreateBindingFromHistory(t *testing.T) {
+ s := new(clusterTablesSuite)
+ s.store, s.dom = testkit.CreateMockStoreAndDomain(t)
+ s.rpcserver, s.listenAddr = s.setUpRPCService(t, "127.0.0.1:0", nil)
+ s.httpServer, s.mockAddr = s.setUpMockPDHTTPServer()
+ s.startTime = time.Now()
+ defer s.httpServer.Close()
+ defer s.rpcserver.Stop()
+ tk := s.newTestKitWithRoot(t)
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "%"}, nil, nil))
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t1, t2, t3")
+ tk.MustExec("create table t1(id int)")
+ tk.MustExec("create table t2(id int)")
+ tk.MustExec("create table t3(id int)")
+
+ sql := "select * from t1 where t1.id in (select id from t2)"
+ tk.MustExec(sql)
+ planDigest := tk.MustQuery(fmt.Sprintf("select plan_digest from information_schema.statements_summary where query_sample_text = '%s'", sql)).Rows()
+ tk.MustGetErrMsg(fmt.Sprintf("create binding from history using plan digest '%s'", planDigest[0][0]), "can't create binding for query with sub query")
+
+ sql = "select * from t1, t2, t3 where t1.id = t2.id and t2.id = t3.id"
+ tk.MustExec(sql)
+ planDigest = tk.MustQuery(fmt.Sprintf("select plan_digest from information_schema.statements_summary where query_sample_text = '%s'", sql)).Rows()
+ tk.MustGetErrMsg(fmt.Sprintf("create binding from history using plan digest '%s'", planDigest[0][0]), "can't create binding for query with more than two table join")
+}
+
+// withMockTiFlash sets the mockStore to have N TiFlash stores (naming as tiflash0, tiflash1, ...).
+func withMockTiFlash(nodes int) mockstore.MockTiKVStoreOption {
+ return mockstore.WithMultipleOptions(
+ mockstore.WithClusterInspector(func(c testutils.Cluster) {
+ mockCluster := c.(*unistore.Cluster)
+ _, _, region1 := mockstore.BootstrapWithSingleStore(c)
+ tiflashIdx := 0
+ for tiflashIdx < nodes {
+ store2 := c.AllocID()
+ peer2 := c.AllocID()
+ addr2 := fmt.Sprintf("tiflash%d", tiflashIdx)
+ mockCluster.AddStore(store2, addr2, &metapb.StoreLabel{Key: "engine", Value: "tiflash"})
+ mockCluster.AddPeer(region1, store2, peer2)
+ tiflashIdx++
+ }
+ }),
+ mockstore.WithStoreType(mockstore.EmbedUnistore),
+ )
+}
+
+func TestBindingFromHistoryWithTiFlashBindable(t *testing.T) {
+ s := new(clusterTablesSuite)
+ s.store, s.dom = testkit.CreateMockStoreAndDomain(t)
+ s.store = testkit.CreateMockStore(t, withMockTiFlash(2))
+ s.rpcserver, s.listenAddr = s.setUpRPCService(t, "127.0.0.1:0", nil)
+ s.httpServer, s.mockAddr = s.setUpMockPDHTTPServer()
+ s.startTime = time.Now()
+ defer s.httpServer.Close()
+ defer s.rpcserver.Stop()
+ tk := s.newTestKitWithRoot(t)
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "%"}, nil, nil))
+
+ tk.MustExec("use test;")
+ tk.MustExec("drop table if exists t;")
+ tk.MustExec("create table t(a int);")
+ tk.MustExec("alter table test.t set tiflash replica 1")
+ tb := external.GetTableByName(t, tk, "test", "t")
+ err := domain.GetDomain(tk.Session()).DDL().UpdateTableReplicaInfo(tk.Session(), tb.Meta().ID, true)
+ require.NoError(t, err)
+ tk.MustExec("set @@session.tidb_isolation_read_engines = 'tiflash'")
+
+ sql := "select * from t"
+ tk.MustExec(sql)
+ planDigest := tk.MustQuery(fmt.Sprintf("select plan_digest from information_schema.statements_summary where query_sample_text = '%s'", sql)).Rows()
+ tk.MustGetErrMsg(fmt.Sprintf("create binding from history using plan digest '%s'", planDigest[0][0]), "can't create binding for query with tiflash engine")
+}
+
+func TestSetBindingStatusBySQLDigest(t *testing.T) {
+ s := new(clusterTablesSuite)
+ s.store, s.dom = testkit.CreateMockStoreAndDomain(t)
+ s.rpcserver, s.listenAddr = s.setUpRPCService(t, "127.0.0.1:0", nil)
+ s.httpServer, s.mockAddr = s.setUpMockPDHTTPServer()
+ s.startTime = time.Now()
+ defer s.httpServer.Close()
+ defer s.rpcserver.Stop()
+ tk := s.newTestKitWithRoot(t)
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "%"}, nil, nil))
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(id int, a int, key(a))")
+ sql := "select /*+ ignore_index(t, a) */ * from t where t.a = 1"
+ tk.MustExec(sql)
+ planDigest := tk.MustQuery(fmt.Sprintf("select plan_digest from information_schema.cluster_statements_summary where query_sample_text = '%s'", sql)).Rows()
+ tk.MustExec(fmt.Sprintf("create global binding from history using plan digest '%s'", planDigest[0][0]))
+ sql = "select * from t where t.a = 1"
+ tk.MustExec(sql)
+ tk.MustQuery("select @@last_plan_from_binding").Check(testkit.Rows("1"))
+
+ sqlDigest := tk.MustQuery("show global bindings").Rows()
+ tk.MustExec(fmt.Sprintf("set binding disabled for sql digest '%s'", sqlDigest[0][9]))
+ tk.MustExec(sql)
+ tk.MustQuery("select @@last_plan_from_binding").Check(testkit.Rows("0"))
+ tk.MustExec(fmt.Sprintf("set binding enabled for sql digest '%s'", sqlDigest[0][9]))
+ tk.MustExec(sql)
+ tk.MustQuery("select @@last_plan_from_binding").Check(testkit.Rows("1"))
+ tk.MustGetErrMsg("set binding enabled for sql digest '2'", "can't find any binding for '2'")
+}
+
+func TestCreateBindingWhenCloseStmtSummaryTable(t *testing.T) {
+ s := new(clusterTablesSuite)
+ s.store, s.dom = testkit.CreateMockStoreAndDomain(t)
+ s.rpcserver, s.listenAddr = s.setUpRPCService(t, "127.0.0.1:0", nil)
+ s.httpServer, s.mockAddr = s.setUpMockPDHTTPServer()
+ s.startTime = time.Now()
+ defer s.httpServer.Close()
+ defer s.rpcserver.Stop()
+ tk := s.newTestKitWithRoot(t)
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "%"}, nil, nil))
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(id int primary key, a int, key(a))")
+ tk.MustExec("set global tidb_enable_stmt_summary = 0")
+ tk.MustExec("select /*+ ignore_index(t, a) */ * from t where a = 1")
+
+ tk.MustGetErrMsg("create binding from history using plan digest '4e3159169cc63c14b139a4e7d72eae1759875c9a9581f94bb2079aae961189cb'",
+ "can't find any plans for '4e3159169cc63c14b139a4e7d72eae1759875c9a9581f94bb2079aae961189cb'")
+}
+
+func TestCreateBindingForNotSupportedStmt(t *testing.T) {
+ s := new(clusterTablesSuite)
+ s.store, s.dom = testkit.CreateMockStoreAndDomain(t)
+ s.rpcserver, s.listenAddr = s.setUpRPCService(t, "127.0.0.1:0", nil)
+ s.httpServer, s.mockAddr = s.setUpMockPDHTTPServer()
+ s.startTime = time.Now()
+ defer s.httpServer.Close()
+ defer s.rpcserver.Stop()
+ tk := s.newTestKitWithRoot(t)
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "%"}, nil, nil))
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(id int primary key, a int, key(a))")
+
+ sql := "admin show ddl jobs"
+ tk.MustExec(sql)
+ planDigest := tk.MustQuery(fmt.Sprintf("select plan_digest from information_schema.statements_summary where query_sample_text = '%s'", sql)).Rows()
+ tk.MustGetErrMsg(fmt.Sprintf("create session binding from history using plan digest '%s'", planDigest[0][0]), fmt.Sprintf("can't find any plans for '%s'", planDigest[0][0]))
+
+ sql = "show tables"
+ tk.MustExec(sql)
+ planDigest = tk.MustQuery(fmt.Sprintf("select plan_digest from information_schema.statements_summary where query_sample_text = '%s'", sql)).Rows()
+ tk.MustGetErrMsg(fmt.Sprintf("create session binding from history using plan digest '%s'", planDigest[0][0]), fmt.Sprintf("can't find any plans for '%s'", planDigest[0][0]))
+
+ sql = "explain select /*+ ignore_index(t, a) */ * from t where a = 1"
+ tk.MustExec(sql)
+ planDigest = tk.MustQuery(fmt.Sprintf("select plan_digest from information_schema.statements_summary where query_sample_text = '%s'", sql)).Rows()
+ tk.MustGetErrMsg(fmt.Sprintf("create session binding from history using plan digest '%s'", planDigest[0][0]), fmt.Sprintf("can't find any plans for '%s'", planDigest[0][0]))
+}
+
+func TestCreateBindingRepeatedly(t *testing.T) {
+ s := new(clusterTablesSuite)
+ s.store, s.dom = testkit.CreateMockStoreAndDomain(t)
+ s.rpcserver, s.listenAddr = s.setUpRPCService(t, "127.0.0.1:0", nil)
+ s.httpServer, s.mockAddr = s.setUpMockPDHTTPServer()
+ s.startTime = time.Now()
+ defer s.httpServer.Close()
+ defer s.rpcserver.Stop()
+ tk := s.newTestKitWithRoot(t)
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "%"}, nil, nil))
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(id int primary key, a int, key(a))")
+
+ sql := "select /*+ ignore_index(t, a) */ * from t where a = 1"
+ tk.MustExec(sql)
+ planDigest := tk.MustQuery(fmt.Sprintf("select plan_digest from information_schema.statements_summary where query_sample_text = '%s'", sql)).Rows()
+ tk.MustExec(fmt.Sprintf("create session binding from history using plan digest '%s'", planDigest[0][0]))
+ binding := tk.MustQuery("show bindings").Rows()
+ loc, _ := time.LoadLocation("Asia/Shanghai")
+ createTime, _ := time.ParseInLocation("2006-01-02 15:04:05", binding[0][4].(string), loc)
+ updateTime, _ := time.ParseInLocation("2006-01-02 15:04:05", binding[0][5].(string), loc)
+
+ // binding from history cover binding from history
+ tk.MustExec(fmt.Sprintf("create session binding from history using plan digest '%s'", planDigest[0][0]))
+ tk.MustExec(fmt.Sprintf("create session binding from history using plan digest '%s'", planDigest[0][0]))
+ tk.MustExec(fmt.Sprintf("create session binding from history using plan digest '%s'", planDigest[0][0]))
+ binding1 := tk.MustQuery("show bindings").Rows()
+ createTime1, _ := time.ParseInLocation("2006-01-02 15:04:05", binding1[0][4].(string), loc)
+ updateTime1, _ := time.ParseInLocation("2006-01-02 15:04:05", binding1[0][5].(string), loc)
+ require.Greater(t, createTime1.UnixNano(), createTime.UnixNano())
+ require.Greater(t, updateTime1.UnixNano(), updateTime.UnixNano())
+ for i := range binding1[0] {
+ if i != 4 && i != 5 {
+ require.Equal(t, binding[0][i], binding1[0][i])
+ }
+ }
+ // binding from sql cover binding from history
+ tk.MustExec("create binding for select * from t where a = 1 using select /*+ ignore_index(t, a) */ * from t where a = 1")
+ binding2 := tk.MustQuery("show bindings").Rows()
+ createTime2, _ := time.ParseInLocation("2006-01-02 15:04:05", binding2[0][4].(string), loc)
+ updateTime2, _ := time.ParseInLocation("2006-01-02 15:04:05", binding2[0][5].(string), loc)
+ require.Greater(t, createTime2.UnixNano(), createTime1.UnixNano())
+ require.Greater(t, updateTime2.UnixNano(), updateTime1.UnixNano())
+ require.Equal(t, binding2[0][8], "manual")
+ require.Equal(t, binding2[0][10], "")
+ for i := range binding2[0] {
+ if i != 1 && i != 4 && i != 5 && i != 8 && i != 10 {
+ // bind_sql, create_time, update_time, source, plan_digest may be different
+ require.Equal(t, binding1[0][i], binding2[0][i])
+ }
+ }
+ // binding from history cover binding from sql
+ tk.MustExec(fmt.Sprintf("create session binding from history using plan digest '%s'", planDigest[0][0]))
+ binding3 := tk.MustQuery("show bindings").Rows()
+ createTime3, _ := time.ParseInLocation("2006-01-02 15:04:05", binding3[0][4].(string), loc)
+ updateTime3, _ := time.ParseInLocation("2006-01-02 15:04:05", binding3[0][5].(string), loc)
+ require.Greater(t, createTime3.UnixNano(), createTime2.UnixNano())
+ require.Greater(t, updateTime3.UnixNano(), updateTime2.UnixNano())
+ require.Equal(t, binding3[0][8], "history")
+ require.Equal(t, binding3[0][10], planDigest[0][0])
+ for i := range binding3[0] {
+ if i != 1 && i != 4 && i != 5 && i != 8 && i != 10 {
+ // bind_sql, create_time, update_time, source, plan_digest may be different
+ require.Equal(t, binding2[0][i], binding3[0][i])
+ }
+ }
+}
+
+func TestCreateBindingWithUsingKeyword(t *testing.T) {
+ s := new(clusterTablesSuite)
+ s.store, s.dom = testkit.CreateMockStoreAndDomain(t)
+ s.rpcserver, s.listenAddr = s.setUpRPCService(t, "127.0.0.1:0", nil)
+ s.httpServer, s.mockAddr = s.setUpMockPDHTTPServer()
+ s.startTime = time.Now()
+ defer s.httpServer.Close()
+ defer s.rpcserver.Stop()
+ tk := s.newTestKitWithRoot(t)
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "%"}, nil, nil))
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t, t1, t2")
+ tk.MustExec("create table t(id int primary key, a int, key(a))")
+ tk.MustExec("create table t1(id int primary key, a int, key(a))")
+ tk.MustExec("create table t2(id int primary key, a int, key(a))")
+
+ // `JOIN` keyword and not specifying the associated columns with the `USING` keyword.
+ tk.MustGetErrMsg("CREATE GLOBAL BINDING for SELECT * FROM t t1 JOIN t t2 USING SELECT * FROM t t1 JOIN t t2;",
+ "[parser:1064]You have an error in your SQL syntax; check the manual that corresponds to your TiDB version for the right syntax to use line 1 column 67 near \"SELECT * FROM t t1 JOIN t t2;\" ")
+ sql := "SELECT * FROM t t1 JOIN t t2;"
+ tk.MustExec(sql)
+ planDigest := tk.MustQuery(fmt.Sprintf("select plan_digest from information_schema.statements_summary where query_sample_text = '%s'", sql)).Rows()
+ tk.MustExec(fmt.Sprintf("create session binding from history using plan digest '%s'", planDigest[0][0]))
+ tk.MustExec(sql)
+ tk.MustQuery("select @@last_plan_from_binding").Check(testkit.Rows("1"))
+
+ // `DELETE` statements that contain the `USING` keyword.
+ tk.MustGetErrMsg("`CREATE GLOBAL BINDING for DELETE FROM t1 USING t1 JOIN t2 ON t1.a = t2.a USING DELETE FROM t1 USING t1 JOIN t2 ON t1.a = t2.a;",
+ "[parser:1064]You have an error in your SQL syntax; check the manual that corresponds to your TiDB version for the right syntax to use line 1 column 127 near \"`CREATE GLOBAL BINDING for DELETE FROM t1 USING t1 JOIN t2 ON t1.a = t2.a USING DELETE FROM t1 USING t1 JOIN t2 ON t1.a = t2.a;\" ")
+ sql = "DELETE FROM t1 USING t1 JOIN t2 ON t1.a = t2.a;"
+ tk.MustExec(sql)
+ planDigest = tk.MustQuery(fmt.Sprintf("select plan_digest from information_schema.statements_summary where query_sample_text = '%s'", sql)).Rows()
+ tk.MustExec(fmt.Sprintf("create session binding from history using plan digest '%s'", planDigest[0][0]))
+ tk.MustExec(sql)
+ tk.MustQuery("select @@last_plan_from_binding").Check(testkit.Rows("1"))
+}
+
+func TestNewCreatedBindingCanWorkWithPlanCache(t *testing.T) {
+ s := new(clusterTablesSuite)
+ s.store, s.dom = testkit.CreateMockStoreAndDomain(t)
+ s.rpcserver, s.listenAddr = s.setUpRPCService(t, "127.0.0.1:0", nil)
+ s.httpServer, s.mockAddr = s.setUpMockPDHTTPServer()
+ s.startTime = time.Now()
+ defer s.httpServer.Close()
+ defer s.rpcserver.Stop()
+ tk := s.newTestKitWithRoot(t)
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "%"}, nil, nil))
+
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t, t1, t2")
+ tk.MustExec("create table t(id int primary key, a int, key(a))")
+
+ tk.MustExec("prepare stmt from 'select * from t where a = ?'")
+ tk.MustExec("set @a = 0")
+ tk.MustExec("execute stmt using @a")
+ tk.MustExec("execute stmt using @a")
+ tk.MustQuery("select @@last_plan_from_cache").Check(testkit.Rows("1"))
+ sql := "select /*+ ignore_index(t, a) */ * from t where a = 1"
+ tk.MustExec(sql)
+ planDigest := tk.MustQuery(fmt.Sprintf("select plan_digest from information_schema.statements_summary where query_sample_text = '%s'", sql)).Rows()
+ tk.MustExec(fmt.Sprintf("create session binding from history using plan digest '%s'", planDigest[0][0]))
+ tk.MustExec("execute stmt using @a")
+ tk.MustQuery("select @@last_plan_from_binding").Check(testkit.Rows("1"))
+}
diff --git a/infoschema/error.go b/infoschema/error.go
index a7e4929a35bcc..a2bbc41fb3505 100644
--- a/infoschema/error.go
+++ b/infoschema/error.go
@@ -32,7 +32,11 @@ var (
ErrPlacementPolicyExists = dbterror.ClassSchema.NewStd(mysql.ErrPlacementPolicyExists)
// ErrPlacementPolicyNotExists return for placement_policy policy not exists.
ErrPlacementPolicyNotExists = dbterror.ClassSchema.NewStd(mysql.ErrPlacementPolicyNotExists)
- // ErrReservedSyntax for internal syntax.
+ // ErrResourceGroupExists return for resource group already exists.
+ ErrResourceGroupExists = dbterror.ClassSchema.NewStd(mysql.ErrResourceGroupExists)
+ // ErrResourceGroupNotExists return for resource group not exists.
+ ErrResourceGroupNotExists = dbterror.ClassSchema.NewStd(mysql.ErrResourceGroupNotExists)
+ // ErrReservedSyntax for internal syntax.
ErrReservedSyntax = dbterror.ClassSchema.NewStd(mysql.ErrReservedSyntax)
// ErrTableExists returns for table already exists.
ErrTableExists = dbterror.ClassSchema.NewStd(mysql.ErrTableExists)
@@ -64,6 +68,8 @@ var (
ErrKeyNotExists = dbterror.ClassSchema.NewStd(mysql.ErrKeyDoesNotExist)
// ErrCannotAddForeign returns for foreign key exists.
ErrCannotAddForeign = dbterror.ClassSchema.NewStd(mysql.ErrCannotAddForeign)
+ // ErrForeignKeyOnPartitioned returns for foreign key on partition table.
+ ErrForeignKeyOnPartitioned = dbterror.ClassSchema.NewStd(mysql.ErrForeignKeyOnPartitioned)
// ErrForeignKeyNotMatch returns for foreign key not match.
ErrForeignKeyNotMatch = dbterror.ClassSchema.NewStd(mysql.ErrWrongFkDef)
// ErrIndexExists returns for index already exists.
diff --git a/infoschema/infoschema.go b/infoschema/infoschema.go
index d024afde40d7d..f46f7d082a66e 100644
--- a/infoschema/infoschema.go
+++ b/infoschema/infoschema.go
@@ -42,6 +42,7 @@ type InfoSchema interface {
SchemaByID(id int64) (*model.DBInfo, bool)
SchemaByTable(tableInfo *model.TableInfo) (*model.DBInfo, bool)
PolicyByName(name model.CIStr) (*model.PolicyInfo, bool)
+ ResourceGroupByName(name model.CIStr) (*model.ResourceGroupInfo, bool)
TableByID(id int64) (table.Table, bool)
AllocByID(id int64) (autoid.Allocators, bool)
AllSchemaNames() []string
@@ -60,6 +61,8 @@ type InfoSchema interface {
AllPlacementBundles() []*placement.Bundle
// AllPlacementPolicies returns all placement policies
AllPlacementPolicies() []*model.PolicyInfo
+ // AllResourceGroups returns all resource groups
+ AllResourceGroups() []*model.ResourceGroupInfo
// HasTemporaryTable returns whether information schema has temporary table
HasTemporaryTable() bool
// GetTableReferredForeignKeys gets the table's ReferredFKInfo by lowercase schema and table name.
@@ -93,6 +96,10 @@ type infoSchema struct {
policyMutex sync.RWMutex
policyMap map[string]*model.PolicyInfo
+ // resourceGroupMap stores all resource groups.
+ resourceGroupMutex sync.RWMutex
+ resourceGroupMap map[string]*model.ResourceGroupInfo
+
schemaMap map[string]*schemaTables
// sortedTablesBuckets is a slice of sortedTables, a table's bucket index is (tableID % bucketCount).
@@ -120,6 +127,7 @@ func MockInfoSchema(tbList []*model.TableInfo) InfoSchema {
result := &infoSchema{}
result.schemaMap = make(map[string]*schemaTables)
result.policyMap = make(map[string]*model.PolicyInfo)
+ result.resourceGroupMap = make(map[string]*model.ResourceGroupInfo)
result.ruleBundleMap = make(map[int64]*placement.Bundle)
result.sortedTablesBuckets = make([]sortedTables, bucketCount)
dbInfo := &model.DBInfo{ID: 0, Name: model.NewCIStr("test"), Tables: tbList}
@@ -147,6 +155,7 @@ func MockInfoSchemaWithSchemaVer(tbList []*model.TableInfo, schemaVer int64) Inf
result := &infoSchema{}
result.schemaMap = make(map[string]*schemaTables)
result.policyMap = make(map[string]*model.PolicyInfo)
+ result.resourceGroupMap = make(map[string]*model.ResourceGroupInfo)
result.ruleBundleMap = make(map[int64]*placement.Bundle)
result.sortedTablesBuckets = make([]sortedTables, bucketCount)
dbInfo := &model.DBInfo{ID: 0, Name: model.NewCIStr("test"), Tables: tbList}
@@ -235,6 +244,17 @@ func (is *infoSchema) PolicyByID(id int64) (val *model.PolicyInfo, ok bool) {
return nil, false
}
+func (is *infoSchema) ResourceGroupByID(id int64) (val *model.ResourceGroupInfo, ok bool) {
+ is.resourceGroupMutex.RLock()
+ defer is.resourceGroupMutex.RUnlock()
+ for _, v := range is.resourceGroupMap {
+ if v.ID == id {
+ return v, true
+ }
+ }
+ return nil, false
+}
+
func (is *infoSchema) SchemaByID(id int64) (val *model.DBInfo, ok bool) {
for _, v := range is.schemaMap {
if v.dbInfo.ID == id {
@@ -270,7 +290,7 @@ func (is *infoSchema) TableByID(id int64) (val table.Table, ok bool) {
func (is *infoSchema) AllocByID(id int64) (autoid.Allocators, bool) {
tbl, ok := is.TableByID(id)
if !ok {
- return nil, false
+ return autoid.Allocators{}, false
}
return tbl.Allocators(nil), true
}
@@ -393,6 +413,25 @@ func (is *infoSchema) PolicyByName(name model.CIStr) (*model.PolicyInfo, bool) {
return t, r
}
+// ResourceGroupByName is used to find the resource group.
+func (is *infoSchema) ResourceGroupByName(name model.CIStr) (*model.ResourceGroupInfo, bool) {
+ is.resourceGroupMutex.RLock()
+ defer is.resourceGroupMutex.RUnlock()
+ t, r := is.resourceGroupMap[name.L]
+ return t, r
+}
+
+// AllResourceGroups returns all resource groups.
+func (is *infoSchema) AllResourceGroups() []*model.ResourceGroupInfo {
+ is.resourceGroupMutex.RLock()
+ defer is.resourceGroupMutex.RUnlock()
+ groups := make([]*model.ResourceGroupInfo, 0, len(is.resourceGroupMap))
+ for _, group := range is.resourceGroupMap {
+ groups = append(groups, group)
+ }
+ return groups
+}
+
// AllPlacementPolicies returns all placement policies
func (is *infoSchema) AllPlacementPolicies() []*model.PolicyInfo {
is.policyMutex.RLock()
@@ -417,6 +456,18 @@ func (is *infoSchema) AllPlacementBundles() []*placement.Bundle {
return bundles
}
+func (is *infoSchema) setResourceGroup(resourceGroup *model.ResourceGroupInfo) {
+ is.resourceGroupMutex.Lock()
+ defer is.resourceGroupMutex.Unlock()
+ is.resourceGroupMap[resourceGroup.Name.L] = resourceGroup
+}
+
+func (is *infoSchema) deleteResourceGroup(name string) {
+ is.resourceGroupMutex.Lock()
+ defer is.resourceGroupMutex.Unlock()
+ delete(is.resourceGroupMap, name)
+}
+
func (is *infoSchema) setPolicy(policy *model.PolicyInfo) {
is.policyMutex.Lock()
defer is.policyMutex.Unlock()
@@ -674,6 +725,12 @@ func (ts *SessionExtendedInfoSchema) SchemaByTable(tableInfo *model.TableInfo) (
}
}
+ if ts.MdlTables != nil {
+ if tbl, ok := ts.MdlTables.SchemaByTable(tableInfo); ok {
+ return tbl, true
+ }
+ }
+
return ts.InfoSchema.SchemaByTable(tableInfo)
}
diff --git a/infoschema/infoschema_test.go b/infoschema/infoschema_test.go
index 66bd8cc33ef00..59fd9ffae1097 100644
--- a/infoschema/infoschema_test.go
+++ b/infoschema/infoschema_test.go
@@ -110,7 +110,7 @@ func TestBasic(t *testing.T) {
})
require.NoError(t, err)
- builder, err := infoschema.NewBuilder(dom.Store(), nil).InitWithDBInfos(dbInfos, nil, 1)
+ builder, err := infoschema.NewBuilder(dom.Store(), nil).InitWithDBInfos(dbInfos, nil, nil, 1)
require.NoError(t, err)
txn, err := store.Begin()
@@ -256,7 +256,7 @@ func TestInfoTables(t *testing.T) {
require.NoError(t, err)
}()
- builder, err := infoschema.NewBuilder(store, nil).InitWithDBInfos(nil, nil, 0)
+ builder, err := infoschema.NewBuilder(store, nil).InitWithDBInfos(nil, nil, nil, 0)
require.NoError(t, err)
is := builder.Build()
@@ -410,7 +410,7 @@ func TestBuildSchemaWithGlobalTemporaryTable(t *testing.T) {
// full load
newDB, ok := newIS.SchemaByName(model.NewCIStr("test"))
require.True(t, ok)
- builder, err := infoschema.NewBuilder(store, nil).InitWithDBInfos([]*model.DBInfo{newDB}, newIS.AllPlacementPolicies(), newIS.SchemaMetaVersion())
+ builder, err := infoschema.NewBuilder(store, nil).InitWithDBInfos([]*model.DBInfo{newDB}, newIS.AllPlacementPolicies(), newIS.AllResourceGroups(), newIS.SchemaMetaVersion())
require.NoError(t, err)
require.True(t, builder.Build().HasTemporaryTable())
@@ -535,7 +535,7 @@ func TestBuildBundle(t *testing.T) {
assertBundle(is, tbl2.Meta().ID, nil)
assertBundle(is, p1.ID, p1Bundle)
- builder, err := infoschema.NewBuilder(store, nil).InitWithDBInfos([]*model.DBInfo{db}, is.AllPlacementPolicies(), is.SchemaMetaVersion())
+ builder, err := infoschema.NewBuilder(store, nil).InitWithDBInfos([]*model.DBInfo{db}, is.AllPlacementPolicies(), is.AllResourceGroups(), is.SchemaMetaVersion())
require.NoError(t, err)
is2 := builder.Build()
assertBundle(is2, tbl1.Meta().ID, tb1Bundle)
diff --git a/infoschema/tables.go b/infoschema/tables.go
index 656a99f52d838..0e16f1c3b3eb1 100644
--- a/infoschema/tables.go
+++ b/infoschema/tables.go
@@ -22,10 +22,14 @@ import (
"net/http"
"strconv"
"strings"
+ "sync"
+ "time"
"github.com/pingcap/errors"
"github.com/pingcap/failpoint"
+ "github.com/pingcap/kvproto/pkg/diagnosticspb"
"github.com/pingcap/kvproto/pkg/metapb"
+ "github.com/pingcap/log"
"github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/ddl/placement"
"github.com/pingcap/tidb/domain/infosync"
@@ -47,9 +51,13 @@ import (
"github.com/pingcap/tidb/util/logutil"
"github.com/pingcap/tidb/util/pdapi"
"github.com/pingcap/tidb/util/sem"
+ "github.com/pingcap/tidb/util/set"
"github.com/pingcap/tidb/util/stmtsummary"
"github.com/tikv/client-go/v2/tikv"
"go.uber.org/zap"
+ "golang.org/x/exp/slices"
+ "google.golang.org/grpc"
+ "google.golang.org/grpc/credentials"
)
const (
@@ -890,6 +898,7 @@ var slowQueryCols = []columnInfo{
{name: variable.SlowLogBackoffTotal, tp: mysql.TypeDouble, size: 22},
{name: variable.SlowLogWriteSQLRespTotal, tp: mysql.TypeDouble, size: 22},
{name: variable.SlowLogResultRows, tp: mysql.TypeLonglong, size: 22},
+ {name: variable.SlowLogWarnings, tp: mysql.TypeLongBlob, size: types.UnspecifiedLength},
{name: variable.SlowLogBackoffDetail, tp: mysql.TypeVarchar, size: 4096},
{name: variable.SlowLogPrepared, tp: mysql.TypeTiny, size: 1},
{name: variable.SlowLogSucc, tp: mysql.TypeTiny, size: 1},
@@ -1323,6 +1332,9 @@ var tableStatementsSummaryCols = []columnInfo{
{name: stmtsummary.PlanDigestStr, tp: mysql.TypeVarchar, size: 64, comment: "Digest of its execution plan"},
{name: stmtsummary.PlanStr, tp: mysql.TypeBlob, size: types.UnspecifiedLength, comment: "Sampled execution plan"},
{name: stmtsummary.BinaryPlan, tp: mysql.TypeBlob, size: types.UnspecifiedLength, comment: "Sampled binary plan"},
+ {name: stmtsummary.Charset, tp: mysql.TypeVarchar, size: 64, comment: "Sampled charset"},
+ {name: stmtsummary.Collation, tp: mysql.TypeVarchar, size: 64, comment: "Sampled collation"},
+ {name: stmtsummary.PlanHint, tp: mysql.TypeVarchar, size: 64, comment: "Sampled plan hint"},
}
var tableStorageStatsCols = []columnInfo{
@@ -1729,8 +1741,8 @@ func FormatTiDBVersion(TiDBVersion string, isDefaultVersion bool) string {
// The user hasn't set the config 'ServerVersion'.
if isDefaultVersion {
- nodeVersion = TiDBVersion[strings.LastIndex(TiDBVersion, "TiDB-")+len("TiDB-"):]
- if nodeVersion[0] == 'v' {
+ nodeVersion = TiDBVersion[strings.Index(TiDBVersion, "TiDB-")+len("TiDB-"):]
+ if len(nodeVersion) > 0 && nodeVersion[0] == 'v' {
nodeVersion = nodeVersion[1:]
}
nodeVersions := strings.Split(nodeVersion, "-")
@@ -2123,7 +2135,7 @@ func (it *infoschemaTable) UpdateRecord(gctx context.Context, ctx sessionctx.Con
// Allocators implements table.Table Allocators interface.
func (it *infoschemaTable) Allocators(_ sessionctx.Context) autoid.Allocators {
- return nil
+ return autoid.Allocators{}
}
// Meta implements table.Table Meta interface.
@@ -2206,7 +2218,7 @@ func (vt *VirtualTable) UpdateRecord(ctx context.Context, sctx sessionctx.Contex
// Allocators implements table.Table Allocators interface.
func (vt *VirtualTable) Allocators(_ sessionctx.Context) autoid.Allocators {
- return nil
+ return autoid.Allocators{}
}
// Meta implements table.Table Meta interface.
@@ -2223,3 +2235,142 @@ func (vt *VirtualTable) GetPhysicalID() int64 {
func (vt *VirtualTable) Type() table.Type {
return table.VirtualTable
}
+
+// GetTiFlashServerInfo returns all TiFlash server infos
+func GetTiFlashServerInfo(sctx sessionctx.Context) ([]ServerInfo, error) {
+ if config.GetGlobalConfig().DisaggregatedTiFlash {
+ return nil, table.ErrUnsupportedOp
+ }
+ serversInfo, err := GetStoreServerInfo(sctx)
+ if err != nil {
+ return nil, err
+ }
+ serversInfo = FilterClusterServerInfo(serversInfo, set.NewStringSet(kv.TiFlash.Name()), set.NewStringSet())
+ return serversInfo, nil
+}
+
+// FetchClusterServerInfoWithoutPrivilegeCheck fetches cluster server information
+func FetchClusterServerInfoWithoutPrivilegeCheck(ctx context.Context, sctx sessionctx.Context, serversInfo []ServerInfo, serverInfoType diagnosticspb.ServerInfoType, recordWarningInStmtCtx bool) ([][]types.Datum, error) {
+ type result struct {
+ idx int
+ rows [][]types.Datum
+ err error
+ }
+ wg := sync.WaitGroup{}
+ ch := make(chan result, len(serversInfo))
+ infoTp := serverInfoType
+ finalRows := make([][]types.Datum, 0, len(serversInfo)*10)
+ for i, srv := range serversInfo {
+ address := srv.Address
+ remote := address
+ if srv.ServerType == "tidb" {
+ remote = srv.StatusAddr
+ }
+ wg.Add(1)
+ go func(index int, remote, address, serverTP string) {
+ util.WithRecovery(func() {
+ defer wg.Done()
+ items, err := getServerInfoByGRPC(ctx, remote, infoTp)
+ if err != nil {
+ ch <- result{idx: index, err: err}
+ return
+ }
+ partRows := serverInfoItemToRows(items, serverTP, address)
+ ch <- result{idx: index, rows: partRows}
+ }, nil)
+ }(i, remote, address, srv.ServerType)
+ }
+ wg.Wait()
+ close(ch)
+ // Keep the original order to make the result more stable
+ var results []result //nolint: prealloc
+ for result := range ch {
+ if result.err != nil {
+ if recordWarningInStmtCtx {
+ sctx.GetSessionVars().StmtCtx.AppendWarning(result.err)
+ } else {
+ log.Warn(result.err.Error())
+ }
+ continue
+ }
+ results = append(results, result)
+ }
+ slices.SortFunc(results, func(i, j result) bool { return i.idx < j.idx })
+ for _, result := range results {
+ finalRows = append(finalRows, result.rows...)
+ }
+ return finalRows, nil
+}
+
+func serverInfoItemToRows(items []*diagnosticspb.ServerInfoItem, tp, addr string) [][]types.Datum {
+ rows := make([][]types.Datum, 0, len(items))
+ for _, v := range items {
+ for _, item := range v.Pairs {
+ row := types.MakeDatums(
+ tp,
+ addr,
+ v.Tp,
+ v.Name,
+ item.Key,
+ item.Value,
+ )
+ rows = append(rows, row)
+ }
+ }
+ return rows
+}
+
+func getServerInfoByGRPC(ctx context.Context, address string, tp diagnosticspb.ServerInfoType) ([]*diagnosticspb.ServerInfoItem, error) {
+ opt := grpc.WithInsecure()
+ security := config.GetGlobalConfig().Security
+ if len(security.ClusterSSLCA) != 0 {
+ clusterSecurity := security.ClusterSecurity()
+ tlsConfig, err := clusterSecurity.ToTLSConfig()
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ opt = grpc.WithTransportCredentials(credentials.NewTLS(tlsConfig))
+ }
+ conn, err := grpc.Dial(address, opt)
+ if err != nil {
+ return nil, err
+ }
+ defer func() {
+ err := conn.Close()
+ if err != nil {
+ log.Error("close grpc connection error", zap.Error(err))
+ }
+ }()
+
+ cli := diagnosticspb.NewDiagnosticsClient(conn)
+ ctx, cancel := context.WithTimeout(ctx, time.Second*10)
+ defer cancel()
+ r, err := cli.ServerInfo(ctx, &diagnosticspb.ServerInfoRequest{Tp: tp})
+ if err != nil {
+ return nil, err
+ }
+ return r.Items, nil
+}
+
+// FilterClusterServerInfo filters serversInfo by nodeTypes and addresses
+func FilterClusterServerInfo(serversInfo []ServerInfo, nodeTypes, addresses set.StringSet) []ServerInfo {
+ if len(nodeTypes) == 0 && len(addresses) == 0 {
+ return serversInfo
+ }
+
+ filterServers := make([]ServerInfo, 0, len(serversInfo))
+ for _, srv := range serversInfo {
+ // Skip some node type which has been filtered in WHERE clause
+ // e.g: SELECT * FROM cluster_config WHERE type='tikv'
+ if len(nodeTypes) > 0 && !nodeTypes.Exist(srv.ServerType) {
+ continue
+ }
+ // Skip some node address which has been filtered in WHERE clause
+ // e.g: SELECT * FROM cluster_config WHERE address='192.16.8.12:2379'
+ if len(addresses) > 0 && !addresses.Exist(srv.Address) {
+ continue
+ }
+ filterServers = append(filterServers, srv)
+ }
+ return filterServers
+}
diff --git a/infoschema/tables_test.go b/infoschema/tables_test.go
index 3650f2833a1a6..e2f04758dda6e 100644
--- a/infoschema/tables_test.go
+++ b/infoschema/tables_test.go
@@ -264,6 +264,8 @@ func TestCurrentTimestampAsDefault(t *testing.T) {
c_timestamp timestamp,
c_timestamp_default timestamp default current_timestamp,
c_timestamp_default_3 timestamp(3) default current_timestamp(3),
+ c_date_default date default current_date,
+ c_date_default_2 date default curdate(),
c_varchar_default varchar(20) default "current_timestamp",
c_varchar_default_3 varchar(20) default "current_timestamp(3)",
c_varchar_default_on_update datetime default current_timestamp on update current_timestamp,
@@ -276,6 +278,8 @@ func TestCurrentTimestampAsDefault(t *testing.T) {
WHERE table_schema = "default_time_test" AND table_name = "default_time_table"
ORDER BY column_name`,
).Check(testkit.Rows(
+ "c_date_default CURRENT_DATE ",
+ "c_date_default_2 CURRENT_DATE ",
"c_datetime ",
"c_datetime_default CURRENT_TIMESTAMP ",
"c_datetime_default_2 CURRENT_TIMESTAMP(2) ",
@@ -531,18 +535,168 @@ func TestSlowQuery(t *testing.T) {
slowLogFileName := "tidb_slow.log"
prepareSlowLogfile(t, slowLogFileName)
defer func() { require.NoError(t, os.Remove(slowLogFileName)) }()
+ expectedRes := [][]interface{}{
+ {"2019-02-12 19:33:56.571953",
+ "406315658548871171",
+ "root",
+ "localhost",
+ "6",
+ "57",
+ "0.12",
+ "4.895492",
+ "0.4",
+ "0.2",
+ "0.000000003",
+ "2",
+ "0.000000002",
+ "0.00000001",
+ "0.000000003",
+ "0.19",
+ "0.21",
+ "0.01",
+ "0",
+ "0.18",
+ "[txnLock]",
+ "0.03",
+ "0",
+ "15",
+ "480",
+ "1",
+ "8",
+ "0.3824278",
+ "0.161",
+ "0.101",
+ "0.092",
+ "1.71",
+ "1",
+ "100001",
+ "100000",
+ "100",
+ "10",
+ "10",
+ "10",
+ "100",
+ "test",
+ "",
+ "0",
+ "42a1c8aae6f133e934d4bf0147491709a8812ea05ff8819ec522780fe657b772",
+ "t1:1,t2:2",
+ "0.1",
+ "0.2",
+ "0.03",
+ "127.0.0.1:20160",
+ "0.05",
+ "0.6",
+ "0.8",
+ "0.0.0.0:20160",
+ "70724",
+ "65536",
+ "0",
+ "0",
+ "0",
+ "0",
+ "10",
+ "",
+ "",
+ "0",
+ "1",
+ "0",
+ "0",
+ "1",
+ "0",
+ "0",
+ "abcd",
+ "60e9378c746d9a2be1c791047e008967cf252eb6de9167ad3aa6098fa2d523f4",
+ "",
+ "update t set i = 2;",
+ "select * from t_slim;"},
+ {"2021-09-08 14:39:54.506967",
+ "427578666238083075",
+ "root",
+ "172.16.0.0",
+ "40507",
+ "0",
+ "0",
+ "25.571605962",
+ "0.002923536",
+ "0.006800973",
+ "0.002100764",
+ "0",
+ "0",
+ "0",
+ "0.000015801",
+ "25.542014572",
+ "0",
+ "0.002294647",
+ "0.000605473",
+ "12.483",
+ "[tikvRPC regionMiss tikvRPC regionMiss regionMiss]",
+ "0",
+ "0",
+ "624",
+ "172064",
+ "60",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "rtdb",
+ "",
+ "0",
+ "124acb3a0bec903176baca5f9da00b4e7512a41c93b417923f26502edeb324cc",
+ "",
+ "0",
+ "0",
+ "0",
+ "",
+ "0",
+ "0",
+ "0",
+ "",
+ "856544",
+ "0",
+ "86.635049185",
+ "0.015486658",
+ "100.054",
+ "0",
+ "0",
+ "",
+ "",
+ "0",
+ "1",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "",
+ "",
+ "",
+ "",
+ "INSERT INTO ...;",
+ },
+ }
tk.MustExec(fmt.Sprintf("set @@tidb_slow_query_file='%v'", slowLogFileName))
tk.MustExec("set time_zone = '+08:00';")
re := tk.MustQuery("select * from information_schema.slow_query")
- re.Check(testkit.RowsWithSep("|", "2019-02-12 19:33:56.571953|406315658548871171|root|localhost|6|57|0.12|4.895492|0.4|0.2|0.000000003|2|0.000000002|0.00000001|0.000000003|0.19|0.21|0.01|0|0.18|[txnLock]|0.03|0|15|480|1|8|0.3824278|0.161|0.101|0.092|1.71|1|100001|100000|100|10|10|10|100|test||0|42a1c8aae6f133e934d4bf0147491709a8812ea05ff8819ec522780fe657b772|t1:1,t2:2|0.1|0.2|0.03|127.0.0.1:20160|0.05|0.6|0.8|0.0.0.0:20160|70724|65536|0|0|0|0|10||0|1|0|0|1|0|0|abcd|60e9378c746d9a2be1c791047e008967cf252eb6de9167ad3aa6098fa2d523f4||update t set i = 2;|select * from t_slim;",
- "2021-09-08|14:39:54.506967|427578666238083075|root|172.16.0.0|40507|0|0|25.571605962|0.002923536|0.006800973|0.002100764|0|0|0|0.000015801|25.542014572|0|0.002294647|0.000605473|12.483|[tikvRPC regionMiss tikvRPC regionMiss regionMiss]|0|0|624|172064|60|0|0|0|0|0|0|0|0|0|0|0|0|0|0|rtdb||0|124acb3a0bec903176baca5f9da00b4e7512a41c93b417923f26502edeb324cc||0|0|0||0|0|0||856544|0|86.635049185|0.015486658|100.054|0|0||0|1|0|0|0|0|0|||||INSERT INTO ...;",
- ))
+ re.Check(expectedRes)
+
tk.MustExec("set time_zone = '+00:00';")
re = tk.MustQuery("select * from information_schema.slow_query")
- re.Check(testkit.RowsWithSep("|", "2019-02-12 11:33:56.571953|406315658548871171|root|localhost|6|57|0.12|4.895492|0.4|0.2|0.000000003|2|0.000000002|0.00000001|0.000000003|0.19|0.21|0.01|0|0.18|[txnLock]|0.03|0|15|480|1|8|0.3824278|0.161|0.101|0.092|1.71|1|100001|100000|100|10|10|10|100|test||0|42a1c8aae6f133e934d4bf0147491709a8812ea05ff8819ec522780fe657b772|t1:1,t2:2|0.1|0.2|0.03|127.0.0.1:20160|0.05|0.6|0.8|0.0.0.0:20160|70724|65536|0|0|0|0|10||0|1|0|0|1|0|0|abcd|60e9378c746d9a2be1c791047e008967cf252eb6de9167ad3aa6098fa2d523f4||update t set i = 2;|select * from t_slim;",
- "2021-09-08|06:39:54.506967|427578666238083075|root|172.16.0.0|40507|0|0|25.571605962|0.002923536|0.006800973|0.002100764|0|0|0|0.000015801|25.542014572|0|0.002294647|0.000605473|12.483|[tikvRPC regionMiss tikvRPC regionMiss regionMiss]|0|0|624|172064|60|0|0|0|0|0|0|0|0|0|0|0|0|0|0|rtdb||0|124acb3a0bec903176baca5f9da00b4e7512a41c93b417923f26502edeb324cc||0|0|0||0|0|0||856544|0|86.635049185|0.015486658|100.054|0|0||0|1|0|0|0|0|0|||||INSERT INTO ...;",
- ))
+ expectedRes[0][0] = "2019-02-12 11:33:56.571953"
+ expectedRes[1][0] = "2021-09-08 06:39:54.506967"
+ re.Check(expectedRes)
// Test for long query.
f, err := os.OpenFile(slowLogFileName, os.O_CREATE|os.O_WRONLY, 0644)
@@ -588,12 +742,12 @@ INSERT INTO ...;
defer func() { require.NoError(t, os.Remove(slowLogFileName)) }()
tk := testkit.NewTestKit(t, store)
- //check schema
+ // check schema
tk.MustQuery(`select COUNT(*) from information_schema.columns
WHERE table_name = 'slow_query' and column_name = '` + columnName + `'`).
Check(testkit.Rows("1"))
- //check select
+ // check select
tk.MustQuery(`select ` + columnName +
` from information_schema.slow_query`).Check(testkit.Rows("1"))
}
@@ -676,8 +830,14 @@ func TestSelectHiddenColumn(t *testing.T) {
func TestFormatVersion(t *testing.T) {
// Test for defaultVersions.
- defaultVersions := []string{"5.7.25-TiDB-None", "5.7.25-TiDB-8.0.18", "5.7.25-TiDB-8.0.18-beta.1", "5.7.25-TiDB-v4.0.0-beta-446-g5268094af"}
- defaultRes := []string{"None", "8.0.18", "8.0.18-beta.1", "4.0.0-beta"}
+ defaultVersions := []string{
+ "5.7.25-TiDB-None",
+ "5.7.25-TiDB-8.0.18",
+ "5.7.25-TiDB-8.0.18-beta.1",
+ "5.7.25-TiDB-v4.0.0-beta-446-g5268094af",
+ "5.7.25-TiDB-",
+ "5.7.25-TiDB-v4.0.0-TiDB-446"}
+ defaultRes := []string{"None", "8.0.18", "8.0.18-beta.1", "4.0.0-beta", "", "4.0.0-TiDB"}
for i, v := range defaultVersions {
version := infoschema.FormatTiDBVersion(v, true)
require.Equal(t, defaultRes[i], version)
@@ -1052,7 +1212,7 @@ func TestStmtSummaryInternalQuery(t *testing.T) {
"where digest_text like \"select `original_sql` , `bind_sql` , `default_db` , status%\""
tk.MustQuery(sql).Check(testkit.Rows(
"select `original_sql` , `bind_sql` , `default_db` , status , `create_time` , `update_time` , charset , " +
- "collation , source from `mysql` . `bind_info` where `update_time` > ? order by `update_time` , `create_time`"))
+ "collation , source , `sql_digest` , `plan_digest` from `mysql` . `bind_info` where `update_time` > ? order by `update_time` , `create_time`"))
// Test for issue #21642.
tk.MustQuery(`select tidb_version()`)
@@ -1387,16 +1547,19 @@ func TestTiDBTrx(t *testing.T) {
tk.MustExec("update test_tidb_trx set i = i + 1")
_, digest := parser.NormalizeDigest("update test_tidb_trx set i = i + 1")
sm := &testkit.MockSessionManager{TxnInfo: make([]*txninfo.TxnInfo, 2)}
+ memDBTracker := memory.NewTracker(memory.LabelForMemDB, -1)
+ memDBTracker.Consume(19)
+ tk.Session().GetSessionVars().MemDBFootprint = memDBTracker
sm.TxnInfo[0] = &txninfo.TxnInfo{
StartTS: 424768545227014155,
CurrentSQLDigest: digest.String(),
State: txninfo.TxnIdle,
EntriesCount: 1,
- EntriesSize: 19,
ConnectionID: 2,
Username: "root",
CurrentDB: "test",
}
+
blockTime2 := time.Date(2021, 05, 20, 13, 18, 30, 123456000, time.Local)
sm.TxnInfo[1] = &txninfo.TxnInfo{
StartTS: 425070846483628033,
@@ -1413,7 +1576,7 @@ func TestTiDBTrx(t *testing.T) {
tk.MustQuery("select * from information_schema.TIDB_TRX;").Check(testkit.Rows(
"424768545227014155 2021-05-07 12:56:48.001000 "+digest.String()+" update `test_tidb_trx` set `i` = `i` + ? Idle 1 19 2 root test [] ",
- "425070846483628033 2021-05-20 21:16:35.778000 LockWaiting 2021-05-20 13:18:30.123456 0 0 10 user1 db1 [\"sql1\",\"sql2\",\""+digest.String()+"\"] "))
+ "425070846483628033 2021-05-20 21:16:35.778000 LockWaiting 2021-05-20 13:18:30.123456 0 19 10 user1 db1 [\"sql1\",\"sql2\",\""+digest.String()+"\"] "))
// Test the all_sql_digests column can be directly passed to the tidb_decode_sql_digests function.
require.NoError(t, failpoint.Enable("github.com/pingcap/tidb/expression/sqlDigestRetrieverSkipRetrieveGlobal", "return"))
@@ -1513,10 +1676,6 @@ func TestVariablesInfo(t *testing.T) {
tk := testkit.NewTestKit(t, store)
- if !variable.EnableConcurrentDDL.Load() {
- t.Skip("skip test when concurrent DDL is disabled")
- }
-
tk.MustExec("use information_schema")
tk.MustExec("SET GLOBAL innodb_compression_level = 8;")
@@ -1547,15 +1706,14 @@ func TestVariablesInfo(t *testing.T) {
// See session/bootstrap.go:doDMLWorks() for where the exceptions are defined.
stmt := tk.MustQuery(`SELECT variable_name, default_value, current_value FROM information_schema.variables_info WHERE current_value != default_value and default_value != '' ORDER BY variable_name`)
stmt.Check(testkit.Rows(
- "last_sql_use_alloc OFF ON", // for test stability
- "tidb_enable_auto_analyze ON OFF", // always changed for tests
- "tidb_enable_collect_execution_info ON OFF", // for test stability
- "tidb_enable_mutation_checker OFF ON", // for new installs
- "tidb_enable_plan_replayer_capture OFF false", // for enable plan replayer capture
- "tidb_mem_oom_action CANCEL LOG", // always changed for tests
- "tidb_row_format_version 1 2", // for new installs
- "tidb_txn_assertion_level OFF FAST", // for new installs
- "timestamp 0 123456789", // always dynamic
+ "last_sql_use_alloc OFF ON", // for test stability
+ "tidb_enable_auto_analyze ON OFF", // always changed for tests
+ "tidb_enable_collect_execution_info ON OFF", // for test stability
+ "tidb_enable_mutation_checker OFF ON", // for new installs
+ "tidb_mem_oom_action CANCEL LOG", // always changed for tests
+ "tidb_row_format_version 1 2", // for new installs
+ "tidb_txn_assertion_level OFF FAST", // for new installs
+ "timestamp 0 123456789", // always dynamic
))
}
@@ -1653,3 +1811,33 @@ func TestMemoryUsageAndOpsHistory(t *testing.T) {
require.Equal(t, row[10], "e3237ec256015a3566757e0c2742507cd30ae04e4cac2fbc14d269eafe7b067b") // SQL_DIGEST
require.Equal(t, row[11], "explain analyze select * from t t1 join t t2 join t t3 on t1.a=t2.a and t1.a=t3.a order by t1.a") // SQL_TEXT
}
+
+func TestAddFieldsForBinding(t *testing.T) {
+ s := new(clusterTablesSuite)
+ s.store, s.dom = testkit.CreateMockStoreAndDomain(t)
+ s.rpcserver, s.listenAddr = s.setUpRPCService(t, "127.0.0.1:0", nil)
+ s.httpServer, s.mockAddr = s.setUpMockPDHTTPServer()
+ s.startTime = time.Now()
+ defer s.httpServer.Close()
+ defer s.rpcserver.Stop()
+ tk := s.newTestKitWithRoot(t)
+
+ require.NoError(t, tk.Session().Auth(&auth.UserIdentity{Username: "root", Hostname: "%"}, nil, nil))
+ tk.MustExec("use test")
+ tk.MustExec("drop table if exists t")
+ tk.MustExec("create table t(a int, key(a))")
+ tk.MustExec("select /*+ ignore_index(t, a)*/ * from t where a = 1")
+ planDigest := "4e3159169cc63c14b139a4e7d72eae1759875c9a9581f94bb2079aae961189cb"
+ rows := tk.MustQuery(fmt.Sprintf("select stmt_type, prepared, sample_user, schema_name, query_sample_text, charset, collation, plan_hint, digest_text "+
+ "from information_schema.cluster_statements_summary where plan_digest = '%s'", planDigest)).Rows()
+
+ require.Equal(t, rows[0][0], "Select")
+ require.Equal(t, rows[0][1], "0")
+ require.Equal(t, rows[0][2], "root")
+ require.Equal(t, rows[0][3], "test")
+ require.Equal(t, rows[0][4], "select /*+ ignore_index(t, a)*/ * from t where a = 1")
+ require.Equal(t, rows[0][5], "utf8mb4")
+ require.Equal(t, rows[0][6], "utf8mb4_bin")
+ require.Equal(t, rows[0][7], "use_index(@`sel_1` `test`.`t` ), ignore_index(`t` `a`)")
+ require.Equal(t, rows[0][8], "select * from `t` where `a` = ?")
+}
diff --git a/kv/BUILD.bazel b/kv/BUILD.bazel
index 32dd9f1474179..992d99d382e42 100644
--- a/kv/BUILD.bazel
+++ b/kv/BUILD.bazel
@@ -48,6 +48,7 @@ go_library(
"@com_github_tikv_client_go_v2//tikvrpc",
"@com_github_tikv_client_go_v2//util",
"@com_github_tikv_pd_client//:client",
+ "@org_golang_x_exp//slices",
"@org_uber_go_zap//:zap",
],
)
diff --git a/kv/interface_mock_test.go b/kv/interface_mock_test.go
index 8090463c84223..561c0aa12baaf 100644
--- a/kv/interface_mock_test.go
+++ b/kv/interface_mock_test.go
@@ -52,6 +52,13 @@ func (t *mockTxn) LockKeys(_ context.Context, _ *LockCtx, _ ...Key) error {
return nil
}
+func (t *mockTxn) LockKeysFunc(_ context.Context, _ *LockCtx, fn func(), _ ...Key) error {
+ if fn != nil {
+ fn()
+ }
+ return nil
+}
+
func (t *mockTxn) SetOption(opt int, val interface{}) {
t.opts[opt] = val
}
@@ -161,6 +168,14 @@ func (t *mockTxn) UpdateMemBufferFlags(_ []byte, _ ...FlagsOp) {
}
+func (t *mockTxn) SetMemoryFootprintChangeHook(func(uint64)) {
+
+}
+
+func (t *mockTxn) Mem() uint64 {
+ return 0
+}
+
// newMockTxn new a mockTxn.
func newMockTxn() Transaction {
return &mockTxn{
diff --git a/kv/kv.go b/kv/kv.go
index 06e86f41659cb..4c855c0938308 100644
--- a/kv/kv.go
+++ b/kv/kv.go
@@ -15,6 +15,7 @@
package kv
import (
+ "bytes"
"context"
"crypto/tls"
"time"
@@ -33,6 +34,7 @@ import (
"github.com/tikv/client-go/v2/tikvrpc"
"github.com/tikv/client-go/v2/util"
pd "github.com/tikv/pd/client"
+ "golang.org/x/exp/slices"
)
// UnCommitIndexKVFlag uses to indicate the index key/value is no need to commit.
@@ -203,6 +205,10 @@ type Transaction interface {
AssertionProto
// Size returns sum of keys and values length.
Size() int
+ // Mem returns the memory consumption of the transaction.
+ Mem() uint64
+ // SetMemoryFootprintChangeHook sets the hook that will be called when the memory footprint changes.
+ SetMemoryFootprintChangeHook(func(uint64))
// Len returns the number of entries in the DB.
Len() int
// Reset reset the Transaction to initial states.
@@ -216,6 +222,10 @@ type Transaction interface {
// LockKeys tries to lock the entries with the keys in KV store.
// Will block until all keys are locked successfully or an error occurs.
LockKeys(ctx context.Context, lockCtx *LockCtx, keys ...Key) error
+ // LockKeysFunc tries to lock the entries with the keys in KV store.
+ // Will block until all keys are locked successfully or an error occurs.
+ // fn is called before LockKeys unlocks the keys.
+ LockKeysFunc(ctx context.Context, lockCtx *LockCtx, fn func(), keys ...Key) error
// SetOption sets an option with a value, when val is nil, uses the default
// value of this option.
SetOption(opt int, val interface{})
@@ -331,13 +341,148 @@ func (t StoreType) Name() string {
return "unspecified"
}
+// KeyRanges wrap the ranges for partitioned table cases.
+// We might send ranges from different in the one request.
+type KeyRanges struct {
+ ranges [][]KeyRange
+
+ isPartitioned bool
+}
+
+// NewPartitionedKeyRanges constructs a new RequestRange for partitioned table.
+func NewPartitionedKeyRanges(ranges [][]KeyRange) *KeyRanges {
+ return &KeyRanges{
+ ranges: ranges,
+ isPartitioned: true,
+ }
+}
+
+// NewNonParitionedKeyRanges constructs a new RequestRange for a non partitioned table.
+func NewNonParitionedKeyRanges(ranges []KeyRange) *KeyRanges {
+ return &KeyRanges{
+ ranges: [][]KeyRange{ranges},
+ isPartitioned: false,
+ }
+}
+
+// FirstPartitionRange returns the the result of first range.
+// We may use some func to generate ranges for both partitioned table and non partitioned table.
+// This method provides a way to fallback to non-partitioned ranges.
+func (rr *KeyRanges) FirstPartitionRange() []KeyRange {
+ if len(rr.ranges) == 0 {
+ return []KeyRange{}
+ }
+ return rr.ranges[0]
+}
+
+// SetToNonPartitioned set the status to non-partitioned.
+func (rr *KeyRanges) SetToNonPartitioned() error {
+ if len(rr.ranges) > 1 {
+ return errors.Errorf("you want to change the partitioned ranges to non-partitioned ranges")
+ }
+ rr.isPartitioned = false
+ return nil
+}
+
+// AppendSelfTo appends itself to another slice.
+func (rr *KeyRanges) AppendSelfTo(ranges []KeyRange) []KeyRange {
+ for _, r := range rr.ranges {
+ ranges = append(ranges, r...)
+ }
+ return ranges
+}
+
+// SortByFunc sorts each partition's ranges.
+// Since the ranges are sorted in most cases, we check it first.
+func (rr *KeyRanges) SortByFunc(sortFunc func(i, j KeyRange) bool) {
+ if !slices.IsSortedFunc(rr.ranges, func(i, j []KeyRange) bool {
+ // A simple short-circuit since the empty range actually won't make anything wrong.
+ if len(i) == 0 || len(j) == 0 {
+ return true
+ }
+ return sortFunc(i[0], j[0])
+ }) {
+ slices.SortFunc(rr.ranges, func(i, j []KeyRange) bool {
+ if len(i) == 0 {
+ return true
+ }
+ if len(j) == 0 {
+ return false
+ }
+ return sortFunc(i[0], j[0])
+ })
+ }
+ for i := range rr.ranges {
+ if !slices.IsSortedFunc(rr.ranges[i], sortFunc) {
+ slices.SortFunc(rr.ranges[i], sortFunc)
+ }
+ }
+}
+
+// ForEachPartitionWithErr runs the func for each partition with an error check.
+func (rr *KeyRanges) ForEachPartitionWithErr(theFunc func([]KeyRange) error) (err error) {
+ for i := range rr.ranges {
+ err = theFunc(rr.ranges[i])
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+// ForEachPartition runs the func for each partition without error check.
+func (rr *KeyRanges) ForEachPartition(theFunc func([]KeyRange)) {
+ for i := range rr.ranges {
+ theFunc(rr.ranges[i])
+ }
+}
+
+// PartitionNum returns how many partition is involved in the ranges.
+func (rr *KeyRanges) PartitionNum() int {
+ return len(rr.ranges)
+}
+
+// IsFullySorted checks whether the ranges are sorted inside partition and each partition is also sorated.
+func (rr *KeyRanges) IsFullySorted() bool {
+ sortedByPartition := slices.IsSortedFunc(rr.ranges, func(i, j []KeyRange) bool {
+ // A simple short-circuit since the empty range actually won't make anything wrong.
+ if len(i) == 0 || len(j) == 0 {
+ return true
+ }
+ return bytes.Compare(i[0].StartKey, j[0].StartKey) < 0
+ })
+ if !sortedByPartition {
+ return false
+ }
+ for _, ranges := range rr.ranges {
+ if !slices.IsSortedFunc(ranges, func(i, j KeyRange) bool {
+ return bytes.Compare(i.StartKey, j.StartKey) < 0
+ }) {
+ return false
+ }
+ }
+ return true
+}
+
+// TotalRangeNum returns how many ranges there are.
+func (rr *KeyRanges) TotalRangeNum() int {
+ ret := 0
+ for _, r := range rr.ranges {
+ ret += len(r)
+ }
+ return ret
+}
+
// Request represents a kv request.
type Request struct {
// Tp is the request type.
- Tp int64
- StartTs uint64
- Data []byte
- KeyRanges []KeyRange
+ Tp int64
+ StartTs uint64
+ Data []byte
+
+ // KeyRanges makes sure that the request is sent first by partition then by region.
+ // When the table is small, it's possible that multiple partitions are in the same region.
+ KeyRanges *KeyRanges
// For PartitionTableScan used by tiflash.
PartitionIDAndRanges []PartitionIDAndRanges
@@ -396,6 +541,8 @@ type Request struct {
RequestSource util.RequestSource
// FixedRowCountHint is the optimization hint for copr request for task scheduling.
FixedRowCountHint []int
+ // StoreBatchSize indicates the batch size of coprocessor in the same store.
+ StoreBatchSize int
}
// CoprRequestAdjuster is used to check and adjust a copr request according to specific rules.
diff --git a/kv/mpp.go b/kv/mpp.go
index b0752f8186deb..de0a8e8654528 100644
--- a/kv/mpp.go
+++ b/kv/mpp.go
@@ -16,7 +16,6 @@ package kv
import (
"context"
- "sync"
"time"
"github.com/pingcap/kvproto/pkg/mpp"
@@ -28,21 +27,33 @@ type MPPTaskMeta interface {
GetAddress() string
}
+// MPPQueryID means the global unique id of a mpp query.
+type MPPQueryID struct {
+ QueryTs uint64 // timestamp of query execution, used for TiFlash minTSO schedule
+ LocalQueryID uint64 // unique mpp query id in local tidb memory.
+ ServerID uint64
+}
+
// MPPTask means the minimum execution unit of a mpp computation job.
type MPPTask struct {
- Meta MPPTaskMeta // on which store this task will execute
- ID int64 // mppTaskID
- StartTs uint64
- TableID int64 // physical table id
+ Meta MPPTaskMeta // on which store this task will execute
+ ID int64 // mppTaskID
+ StartTs uint64
+ MppQueryID MPPQueryID
+ TableID int64 // physical table id
- PartitionTableIDs []int64
+ PartitionTableIDs []int64
+ IsDisaggregatedTiFlashStaticPrune bool
}
// ToPB generates the pb structure.
func (t *MPPTask) ToPB() *mpp.TaskMeta {
meta := &mpp.TaskMeta{
- StartTs: t.StartTs,
- TaskId: t.ID,
+ StartTs: t.StartTs,
+ QueryTs: t.MppQueryID.QueryTs,
+ LocalQueryId: t.MppQueryID.LocalQueryID,
+ ServerId: t.MppQueryID.ServerID,
+ TaskId: t.ID,
}
if t.ID != -1 {
meta.Address = t.Meta.GetAddress()
@@ -71,20 +82,21 @@ type MPPDispatchRequest struct {
IsRoot bool // root task returns data to tidb directly.
Timeout uint64 // If task is assigned but doesn't receive a connect request during timeout, the task should be destroyed.
// SchemaVer is for any schema-ful storage (like tiflash) to validate schema correctness if necessary.
- SchemaVar int64
- StartTs uint64
- ID int64 // identify a single task
- State MppTaskStates
+ SchemaVar int64
+ StartTs uint64
+ MppQueryID MPPQueryID
+ ID int64 // identify a single task
+ State MppTaskStates
}
// MPPClient accepts and processes mpp requests.
type MPPClient interface {
// ConstructMPPTasks schedules task for a plan fragment.
// TODO:: This interface will be refined after we support more executors.
- ConstructMPPTasks(context.Context, *MPPBuildTasksRequest, *sync.Map, time.Duration) ([]MPPTaskMeta, error)
+ ConstructMPPTasks(context.Context, *MPPBuildTasksRequest, time.Duration) ([]MPPTaskMeta, error)
// DispatchMPPTasks dispatches ALL mpp requests at once, and returns an iterator that transfers the data.
- DispatchMPPTasks(ctx context.Context, vars interface{}, reqs []*MPPDispatchRequest, needTriggerFallback bool, startTs uint64) Response
+ DispatchMPPTasks(ctx context.Context, vars interface{}, reqs []*MPPDispatchRequest, needTriggerFallback bool, startTs uint64, mppQueryID MPPQueryID) Response
}
// MPPBuildTasksRequest request the stores allocation for a mpp plan fragment.
diff --git a/kv/option.go b/kv/option.go
index 888a1e24f0fa0..a0e658f45aade 100644
--- a/kv/option.go
+++ b/kv/option.go
@@ -93,6 +93,8 @@ const (
ReplicaReadAdjuster
// ScanBatchSize set the iter scan batch size.
ScanBatchSize
+ // TxnSource set the source of this transaction.
+ TxnSource
)
// ReplicaReadType is the type of replica to read data from
@@ -165,4 +167,6 @@ const (
InternalTxnBR = InternalTxnTools
// InternalTxnTrace handles the trace statement.
InternalTxnTrace = "Trace"
+ // InternalTxnTTL is the type of TTL usage
+ InternalTxnTTL = "TTL"
)
diff --git a/kv/txn.go b/kv/txn.go
index d7828c7fb3138..035f2aa662eca 100644
--- a/kv/txn.go
+++ b/kv/txn.go
@@ -195,20 +195,22 @@ func BackOff(attempts uint) int {
func setRequestSourceForInnerTxn(ctx context.Context, txn Transaction) {
if source := ctx.Value(RequestSourceKey); source != nil {
requestSource := source.(RequestSource)
- if !requestSource.RequestSourceInternal {
- logutil.Logger(ctx).Warn("`RunInNewTxn` should be used by inner txn only")
+ if requestSource.RequestSourceType != "" {
+ if !requestSource.RequestSourceInternal {
+ logutil.Logger(ctx).Warn("`RunInNewTxn` should be used by inner txn only")
+ }
+ txn.SetOption(RequestSourceInternal, requestSource.RequestSourceInternal)
+ txn.SetOption(RequestSourceType, requestSource.RequestSourceType)
+ return
}
- txn.SetOption(RequestSourceInternal, requestSource.RequestSourceInternal)
- txn.SetOption(RequestSourceType, requestSource.RequestSourceType)
+ }
+ // panic in test mode in case there are requests without source in the future.
+ // log warnings in production mode.
+ if flag.Lookup("test.v") != nil || flag.Lookup("check.v") != nil {
+ panic("unexpected no source type context, if you see this error, " +
+ "the `RequestSourceTypeKey` is missing in your context")
} else {
- // panic in test mode in case there are requests without source in the future.
- // log warnings in production mode.
- if flag.Lookup("test.v") != nil || flag.Lookup("check.v") != nil {
- panic("unexpected no source type context, if you see this error, " +
- "the `RequestSourceTypeKey` is missing in your context")
- } else {
- logutil.Logger(ctx).Warn("unexpected no source type context, if you see this warning, " +
- "the `RequestSourceTypeKey` is missing in the context")
- }
+ logutil.Logger(ctx).Warn("unexpected no source type context, if you see this warning, " +
+ "the `RequestSourceTypeKey` is missing in the context")
}
}
diff --git a/meta/BUILD.bazel b/meta/BUILD.bazel
index 791662be8c215..c6c796a9771c1 100644
--- a/meta/BUILD.bazel
+++ b/meta/BUILD.bazel
@@ -16,10 +16,8 @@ go_library(
"//parser/mysql",
"//structure",
"//util/dbterror",
- "//util/logutil",
"@com_github_pingcap_errors//:errors",
"@com_github_pingcap_kvproto//pkg/kvrpcpb",
- "@org_uber_go_zap//:zap",
],
)
@@ -33,12 +31,10 @@ go_test(
embed = [":meta"],
flaky = True,
deps = [
- "//ddl",
"//kv",
"//parser/model",
"//store/mockstore",
"//testkit/testsetup",
- "//testkit/testutil",
"//util",
"@com_github_pingcap_errors//:errors",
"@com_github_stretchr_testify//require",
diff --git a/meta/autoid/BUILD.bazel b/meta/autoid/BUILD.bazel
index 7490d65691e4c..b67f7f7c223c7 100644
--- a/meta/autoid/BUILD.bazel
+++ b/meta/autoid/BUILD.bazel
@@ -11,7 +11,7 @@ go_library(
importpath = "github.com/pingcap/tidb/meta/autoid",
visibility = ["//visibility:public"],
deps = [
- "//autoid_service",
+ "//config",
"//errno",
"//kv",
"//meta",
@@ -31,7 +31,7 @@ go_library(
"@com_github_tikv_client_go_v2//util",
"@io_etcd_go_etcd_client_v3//:client",
"@org_golang_google_grpc//:grpc",
- "@org_golang_google_grpc//credentials/insecure",
+ "@org_golang_google_grpc//credentials",
"@org_uber_go_zap//:zap",
],
)
diff --git a/meta/autoid/autoid.go b/meta/autoid/autoid.go
index def3245bb2da3..1f5ffeb2fd094 100644
--- a/meta/autoid/autoid.go
+++ b/meta/autoid/autoid.go
@@ -26,7 +26,7 @@ import (
"github.com/opentracing/opentracing-go"
"github.com/pingcap/errors"
"github.com/pingcap/failpoint"
- autoid "github.com/pingcap/tidb/autoid_service"
+ "github.com/pingcap/kvproto/pkg/autoid"
"github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/meta"
"github.com/pingcap/tidb/metrics"
@@ -205,16 +205,36 @@ type Allocator interface {
}
// Allocators represents a set of `Allocator`s.
-type Allocators []Allocator
+type Allocators struct {
+ SepAutoInc bool
+ Allocs []Allocator
+}
// NewAllocators packs multiple `Allocator`s into Allocators.
-func NewAllocators(allocators ...Allocator) Allocators {
- return allocators
+func NewAllocators(sepAutoInc bool, allocators ...Allocator) Allocators {
+ return Allocators{
+ SepAutoInc: sepAutoInc,
+ Allocs: allocators,
+ }
+}
+
+// Append add an allocator to the allocators.
+func (all Allocators) Append(a Allocator) Allocators {
+ return Allocators{
+ SepAutoInc: all.SepAutoInc,
+ Allocs: append(all.Allocs, a),
+ }
}
// Get returns the Allocator according to the AllocatorType.
func (all Allocators) Get(allocType AllocatorType) Allocator {
- for _, a := range all {
+ if !all.SepAutoInc {
+ if allocType == AutoIncrementType {
+ allocType = RowIDAllocType
+ }
+ }
+
+ for _, a := range all.Allocs {
if a.GetType() == allocType {
return a
}
@@ -224,13 +244,16 @@ func (all Allocators) Get(allocType AllocatorType) Allocator {
// Filter filters all the allocators that match pred.
func (all Allocators) Filter(pred func(Allocator) bool) Allocators {
- var ret Allocators
- for _, a := range all {
+ var ret []Allocator
+ for _, a := range all.Allocs {
if pred(a) {
ret = append(ret, a)
}
}
- return ret
+ return Allocators{
+ SepAutoInc: all.SepAutoInc,
+ Allocs: ret,
+ }
}
type allocator struct {
@@ -535,6 +558,11 @@ func NextStep(curStep int64, consumeDur time.Duration) int64 {
return res
}
+// MockForTest is exported for testing.
+// The actual implementation is in github.com/pingcap/tidb/autoid_service because of the
+// package circle depending issue.
+var MockForTest func(kv.Storage) autoid.AutoIDAllocClient
+
func newSinglePointAlloc(store kv.Storage, dbID, tblID int64, isUnsigned bool) *singlePointAlloc {
ebd, ok := store.(kv.EtcdBackend)
if !ok {
@@ -564,7 +592,7 @@ func newSinglePointAlloc(store kv.Storage, dbID, tblID int64, isUnsigned bool) *
spa.clientDiscover = clientDiscover{etcdCli: etcdCli}
} else {
spa.clientDiscover = clientDiscover{}
- spa.mu.AutoIDAllocClient = autoid.MockForTest(store)
+ spa.mu.AutoIDAllocClient = MockForTest(store)
}
// mockAutoIDChange failpoint is not implemented in this allocator, so fallback to use the default one.
@@ -593,10 +621,17 @@ func NewAllocator(store kv.Storage, dbID, tbID int64, isUnsigned bool,
}
// Use the MySQL compatible AUTO_INCREMENT mode.
- if allocType == RowIDAllocType && alloc.customStep && alloc.step == 1 {
- alloc1 := newSinglePointAlloc(store, dbID, tbID, isUnsigned)
- if alloc1 != nil {
- return alloc1
+ if alloc.customStep && alloc.step == 1 && alloc.tbVersion >= model.TableInfoVersion5 {
+ if allocType == AutoIncrementType {
+ alloc1 := newSinglePointAlloc(store, dbID, tbID, isUnsigned)
+ if alloc1 != nil {
+ return alloc1
+ }
+ } else if allocType == RowIDAllocType {
+ // Now that the autoid and rowid allocator are separated, the AUTO_ID_CACHE 1 setting should not make
+ // the rowid allocator do not use cache.
+ alloc.customStep = false
+ alloc.step = step
}
}
@@ -630,6 +665,10 @@ func NewAllocatorsFromTblInfo(store kv.Storage, schemaID int64, tblInfo *model.T
alloc := NewAllocator(store, dbID, tblInfo.ID, tblInfo.IsAutoIncColUnsigned(), RowIDAllocType, idCacheOpt, tblVer)
allocs = append(allocs, alloc)
}
+ if hasAutoIncID {
+ alloc := NewAllocator(store, dbID, tblInfo.ID, tblInfo.IsAutoIncColUnsigned(), AutoIncrementType, idCacheOpt, tblVer)
+ allocs = append(allocs, alloc)
+ }
hasAutoRandID := tblInfo.ContainsAutoRandomBits()
if hasAutoRandID {
alloc := NewAllocator(store, dbID, tblInfo.ID, tblInfo.IsAutoRandomBitColUnsigned(), AutoRandomType, idCacheOpt, tblVer)
@@ -638,7 +677,7 @@ func NewAllocatorsFromTblInfo(store kv.Storage, schemaID int64, tblInfo *model.T
if tblInfo.IsSequence() {
allocs = append(allocs, NewSequenceAllocator(store, dbID, tblInfo.ID, tblInfo.Sequence))
}
- return NewAllocators(allocs...)
+ return NewAllocators(tblInfo.SepAutoInc(), allocs...)
}
// Alloc implements autoid.Allocator Alloc interface.
@@ -839,7 +878,7 @@ func (alloc *allocator) alloc4Signed(ctx context.Context, n uint64, increment, o
var newBase, newEnd int64
startTime := time.Now()
nextStep := alloc.step
- if !alloc.customStep {
+ if !alloc.customStep && alloc.end > 0 {
// Although it may skip a segment here, we still think it is consumed.
consumeDur := startTime.Sub(alloc.lastAllocTime)
nextStep = NextStep(alloc.step, consumeDur)
@@ -945,6 +984,11 @@ func (alloc *allocator) alloc4Unsigned(ctx context.Context, n uint64, increment,
}()
}
+ if codeRun := ctx.Value("testIssue39528"); codeRun != nil {
+ *(codeRun.(*bool)) = true
+ return 0, 0, errors.New("mock error for test")
+ }
+
ctx = kv.WithInternalSourceType(ctx, kv.InternalTxnMeta)
err := kv.RunInNewTxn(ctx, alloc.store, true, func(ctx context.Context, txn kv.Transaction) error {
if span := opentracing.SpanFromContext(ctx); span != nil && span.Tracer() != nil {
diff --git a/meta/autoid/autoid_service.go b/meta/autoid/autoid_service.go
index 6133dfdfc3cb2..0b0f4946b3d0c 100644
--- a/meta/autoid/autoid_service.go
+++ b/meta/autoid/autoid_service.go
@@ -23,12 +23,13 @@ import (
"github.com/opentracing/opentracing-go"
"github.com/pingcap/errors"
"github.com/pingcap/kvproto/pkg/autoid"
+ "github.com/pingcap/tidb/config"
"github.com/pingcap/tidb/metrics"
"github.com/pingcap/tidb/util/logutil"
clientv3 "go.etcd.io/etcd/client/v3"
"go.uber.org/zap"
"google.golang.org/grpc"
- "google.golang.org/grpc/credentials/insecure"
+ "google.golang.org/grpc/credentials"
)
var _ Allocator = &singlePointAlloc{}
@@ -77,13 +78,23 @@ func (d *clientDiscover) GetClient(ctx context.Context) (autoid.AutoIDAllocClien
if err != nil {
return nil, errors.Trace(err)
}
-
if len(resp.Kvs) == 0 {
return nil, errors.New("autoid service leader not found")
}
addr := string(resp.Kvs[0].Value)
- grpcConn, err := grpc.Dial(addr, grpc.WithTransportCredentials(insecure.NewCredentials()))
+ opt := grpc.WithInsecure()
+ security := config.GetGlobalConfig().Security
+ if len(security.ClusterSSLCA) != 0 {
+ clusterSecurity := security.ClusterSecurity()
+ tlsConfig, err := clusterSecurity.ToTLSConfig()
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ opt = grpc.WithTransportCredentials(credentials.NewTLS(tlsConfig))
+ }
+ logutil.BgLogger().Info("[autoid client] connect to leader", zap.String("addr", addr))
+ grpcConn, err := grpc.Dial(addr, opt)
if err != nil {
return nil, errors.Trace(err)
}
@@ -128,11 +139,14 @@ retry:
if err != nil {
if strings.Contains(err.Error(), "rpc error") {
time.Sleep(backoffDuration)
- sp.resetConn()
+ sp.resetConn(err)
goto retry
}
return 0, 0, errors.Trace(err)
}
+ if len(resp.Errmsg) != 0 {
+ return 0, 0, errors.Trace(errors.New(string(resp.Errmsg)))
+ }
du := time.Since(start)
metrics.AutoIDReqDuration.Observe(du.Seconds())
@@ -142,7 +156,9 @@ retry:
const backoffDuration = 200 * time.Millisecond
-func (sp *singlePointAlloc) resetConn() {
+func (sp *singlePointAlloc) resetConn(reason error) {
+ logutil.BgLogger().Info("[autoid client] reset grpc connection",
+ zap.String("reason", reason.Error()))
var grpcConn *grpc.ClientConn
sp.mu.Lock()
grpcConn = sp.mu.ClientConn
@@ -152,7 +168,9 @@ func (sp *singlePointAlloc) resetConn() {
// Close grpc.ClientConn to release resource.
if grpcConn != nil {
err := grpcConn.Close()
- logutil.BgLogger().Info("[autoid client] AllocAutoID grpc error, reconnect", zap.Error(err))
+ if err != nil {
+ logutil.BgLogger().Warn("[autoid client] close grpc connection error", zap.Error(err))
+ }
}
}
@@ -182,7 +200,8 @@ retry:
if err != nil {
return errors.Trace(err)
}
- _, err = cli.Rebase(ctx, &autoid.RebaseRequest{
+ var resp *autoid.RebaseResponse
+ resp, err = cli.Rebase(ctx, &autoid.RebaseRequest{
DbID: sp.dbID,
TblID: sp.tblID,
Base: newBase,
@@ -192,13 +211,16 @@ retry:
if err != nil {
if strings.Contains(err.Error(), "rpc error") {
time.Sleep(backoffDuration)
- sp.resetConn()
+ sp.resetConn(err)
goto retry
}
return errors.Trace(err)
}
+ if len(resp.Errmsg) != 0 {
+ return errors.Trace(errors.New(string(resp.Errmsg)))
+ }
sp.lastAllocated = newBase
- return err
+ return nil
}
// ForceRebase set the next global auto ID to newBase.
@@ -232,5 +254,5 @@ func (sp *singlePointAlloc) NextGlobalAutoID() (int64, error) {
}
func (*singlePointAlloc) GetType() AllocatorType {
- return RowIDAllocType
+ return AutoIncrementType
}
diff --git a/meta/meta.go b/meta/meta.go
index ad2f5d02e0d05..41a8231130be0 100644
--- a/meta/meta.go
+++ b/meta/meta.go
@@ -19,7 +19,6 @@ import (
"encoding/binary"
"encoding/json"
"fmt"
- "math"
"strconv"
"strings"
"sync"
@@ -34,8 +33,6 @@ import (
"github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/structure"
"github.com/pingcap/tidb/util/dbterror"
- "github.com/pingcap/tidb/util/logutil"
- "go.uber.org/zap"
)
var (
@@ -59,25 +56,27 @@ var (
//
var (
- mMetaPrefix = []byte("m")
- mNextGlobalIDKey = []byte("NextGlobalID")
- mSchemaVersionKey = []byte("SchemaVersionKey")
- mDBs = []byte("DBs")
- mDBPrefix = "DB"
- mTablePrefix = "Table"
- mSequencePrefix = "SID"
- mSeqCyclePrefix = "SequenceCycle"
- mTableIDPrefix = "TID"
- mIncIDPrefix = "IID"
- mRandomIDPrefix = "TARID"
- mBootstrapKey = []byte("BootstrapKey")
- mSchemaDiffPrefix = "Diff"
- mPolicies = []byte("Policies")
- mPolicyPrefix = "Policy"
- mPolicyGlobalID = []byte("PolicyGlobalID")
- mPolicyMagicByte = CurrentMagicByteVer
- mDDLTableVersion = []byte("DDLTableVersion")
- mConcurrentDDL = []byte("concurrentDDL")
+ mMetaPrefix = []byte("m")
+ mNextGlobalIDKey = []byte("NextGlobalID")
+ mSchemaVersionKey = []byte("SchemaVersionKey")
+ mDBs = []byte("DBs")
+ mDBPrefix = "DB"
+ mTablePrefix = "Table"
+ mSequencePrefix = "SID"
+ mSeqCyclePrefix = "SequenceCycle"
+ mTableIDPrefix = "TID"
+ mIncIDPrefix = "IID"
+ mRandomIDPrefix = "TARID"
+ mBootstrapKey = []byte("BootstrapKey")
+ mSchemaDiffPrefix = "Diff"
+ mPolicies = []byte("Policies")
+ mPolicyPrefix = "Policy"
+ mResourceGroups = []byte("ResourceGroups")
+ mResourceGroupPrefix = "RG"
+ mPolicyGlobalID = []byte("PolicyGlobalID")
+ mPolicyMagicByte = CurrentMagicByteVer
+ mDDLTableVersion = []byte("DDLTableVersion")
+ mMetaDataLock = []byte("metadataLock")
)
const (
@@ -109,6 +108,10 @@ var (
ErrPolicyExists = dbterror.ClassMeta.NewStd(errno.ErrPlacementPolicyExists)
// ErrPolicyNotExists is the error for policy not exists.
ErrPolicyNotExists = dbterror.ClassMeta.NewStd(errno.ErrPlacementPolicyNotExists)
+ // ErrResourceGroupExists is the error for resource group exists.
+ ErrResourceGroupExists = dbterror.ClassMeta.NewStd(errno.ErrResourceGroupExists)
+ // ErrResourceGroupNotExists is the error for resource group not exists.
+ ErrResourceGroupNotExists = dbterror.ClassMeta.NewStd(errno.ErrResourceGroupNotExists)
// ErrTableExists is the error for table exists.
ErrTableExists = dbterror.ClassMeta.NewStd(mysql.ErrTableExists)
// ErrTableNotExists is the error for table not exists.
@@ -128,17 +131,13 @@ type Meta struct {
// NewMeta creates a Meta in transaction txn.
// If the current Meta needs to handle a job, jobListKey is the type of the job's list.
-func NewMeta(txn kv.Transaction, jobListKeys ...JobListKeyType) *Meta {
+func NewMeta(txn kv.Transaction) *Meta {
txn.SetOption(kv.Priority, kv.PriorityHigh)
txn.SetDiskFullOpt(kvrpcpb.DiskFullOpt_AllowedOnAlmostFull)
t := structure.NewStructure(txn, txn, mMetaPrefix)
- listKey := DefaultJobListKey
- if len(jobListKeys) != 0 {
- listKey = jobListKeys[0]
- }
return &Meta{txn: t,
StartTS: txn.StartTS(),
- jobListKey: listKey,
+ jobListKey: DefaultJobListKey,
}
}
@@ -224,6 +223,10 @@ func (*Meta) policyKey(policyID int64) []byte {
return []byte(fmt.Sprintf("%s:%d", mPolicyPrefix, policyID))
}
+func (*Meta) resourceGroupKey(groupID int64) []byte {
+ return []byte(fmt.Sprintf("%s:%d", mResourceGroupPrefix, groupID))
+}
+
func (*Meta) dbKey(dbID int64) []byte {
return DBkey(dbID)
}
@@ -436,6 +439,22 @@ func (m *Meta) checkPolicyNotExists(policyKey []byte) error {
return errors.Trace(err)
}
+func (m *Meta) checkResourceGroupNotExists(groupKey []byte) error {
+ v, err := m.txn.HGet(mResourceGroups, groupKey)
+ if err == nil && v != nil {
+ err = ErrResourceGroupExists.GenWithStack("group already exists")
+ }
+ return errors.Trace(err)
+}
+
+func (m *Meta) checkResourceGroupExists(groupKey []byte) error {
+ v, err := m.txn.HGet(mResourceGroups, groupKey)
+ if err == nil && v == nil {
+ err = ErrResourceGroupNotExists.GenWithStack("group doesn't exist")
+ }
+ return errors.Trace(err)
+}
+
func (m *Meta) checkDBExists(dbKey []byte) error {
v, err := m.txn.HGet(mDBs, dbKey)
if err == nil && v == nil {
@@ -501,6 +520,50 @@ func (m *Meta) UpdatePolicy(policy *model.PolicyInfo) error {
return m.txn.HSet(mPolicies, policyKey, attachMagicByte(data))
}
+// CreateResourceGroup creates a resource group.
+func (m *Meta) CreateResourceGroup(group *model.ResourceGroupInfo) error {
+ if group.ID == 0 {
+ return errors.New("group.ID is invalid")
+ }
+ groupKey := m.resourceGroupKey(group.ID)
+ if err := m.checkResourceGroupNotExists(groupKey); err != nil {
+ return errors.Trace(err)
+ }
+
+ data, err := json.Marshal(group)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ return m.txn.HSet(mResourceGroups, groupKey, attachMagicByte(data))
+}
+
+// UpdateResourceGroup updates a resource group.
+func (m *Meta) UpdateResourceGroup(group *model.ResourceGroupInfo) error {
+ groupKey := m.resourceGroupKey(group.ID)
+ if err := m.checkResourceGroupExists(groupKey); err != nil {
+ return errors.Trace(err)
+ }
+
+ data, err := json.Marshal(group)
+ if err != nil {
+ return errors.Trace(err)
+ }
+ return m.txn.HSet(mResourceGroups, groupKey, attachMagicByte(data))
+}
+
+// DropResourceGroup drops a resource group.
+func (m *Meta) DropResourceGroup(groupID int64) error {
+ // Check if group exists.
+ groupKey := m.resourceGroupKey(groupID)
+ if err := m.txn.HClear(groupKey); err != nil {
+ return errors.Trace(err)
+ }
+ if err := m.txn.HDel(mPolicies, groupKey); err != nil {
+ return errors.Trace(err)
+ }
+ return nil
+}
+
// CreateDatabase creates a database with db info.
func (m *Meta) CreateDatabase(dbInfo *model.DBInfo) error {
dbKey := m.dbKey(dbInfo.ID)
@@ -621,25 +684,27 @@ func (m *Meta) CheckMDLTableExists() (bool, error) {
return bytes.Equal(v, []byte("2")), nil
}
-// SetConcurrentDDL set the concurrent DDL flag.
-func (m *Meta) SetConcurrentDDL(b bool) error {
+// SetMetadataLock sets the metadata lock.
+func (m *Meta) SetMetadataLock(b bool) error {
var data []byte
if b {
data = []byte("1")
} else {
data = []byte("0")
}
- return errors.Trace(m.txn.Set(mConcurrentDDL, data))
+ return errors.Trace(m.txn.Set(mMetaDataLock, data))
}
-// IsConcurrentDDL returns true if the concurrent DDL flag is set.
-func (m *Meta) IsConcurrentDDL() (bool, error) {
- val, err := m.txn.Get(mConcurrentDDL)
+// GetMetadataLock gets the metadata lock.
+func (m *Meta) GetMetadataLock() (enable bool, isNull bool, err error) {
+ val, err := m.txn.Get(mMetaDataLock)
if err != nil {
- return false, errors.Trace(err)
+ return false, false, errors.Trace(err)
}
-
- return len(val) == 0 || bytes.Equal(val, []byte("1")), nil
+ if len(val) == 0 {
+ return false, true, nil
+ }
+ return bytes.Equal(val, []byte("1")), false, nil
}
// CreateTableAndSetAutoID creates a table with tableInfo in database,
@@ -884,6 +949,50 @@ func (m *Meta) GetPolicy(policyID int64) (*model.PolicyInfo, error) {
return policy, errors.Trace(err)
}
+// ListResourceGroups shows all resource groups.
+func (m *Meta) ListResourceGroups() ([]*model.ResourceGroupInfo, error) {
+ res, err := m.txn.HGetAll(mResourceGroups)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+
+ groups := make([]*model.ResourceGroupInfo, 0, len(res))
+ for _, r := range res {
+ value, err := detachMagicByte(r.Value)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ group := &model.ResourceGroupInfo{}
+ err = json.Unmarshal(value, group)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ groups = append(groups, group)
+ }
+ return groups, nil
+}
+
+// GetResourceGroup gets the database value with ID.
+func (m *Meta) GetResourceGroup(groupID int64) (*model.ResourceGroupInfo, error) {
+ groupKey := m.resourceGroupKey(groupID)
+ value, err := m.txn.HGet(mResourceGroups, groupKey)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+ if value == nil {
+ return nil, ErrResourceGroupNotExists.GenWithStack("resource group id : %d doesn't exist", groupID)
+ }
+
+ value, err = detachMagicByte(value)
+ if err != nil {
+ return nil, errors.Trace(err)
+ }
+
+ group := &model.ResourceGroupInfo{}
+ err = json.Unmarshal(value, group)
+ return group, errors.Trace(err)
+}
+
func attachMagicByte(data []byte) []byte {
data = append(data, 0)
copy(data[1:], data)
@@ -930,6 +1039,27 @@ func (m *Meta) GetTable(dbID int64, tableID int64) (*model.TableInfo, error) {
return tableInfo, errors.Trace(err)
}
+// CheckTableExists checks if the table is existed with dbID and tableID.
+func (m *Meta) CheckTableExists(dbID int64, tableID int64) (bool, error) {
+ // Check if db exists.
+ dbKey := m.dbKey(dbID)
+ if err := m.checkDBExists(dbKey); err != nil {
+ return false, errors.Trace(err)
+ }
+
+ // Check if table exists.
+ tableKey := m.tableKey(tableID)
+ v, err := m.txn.HGet(dbKey, tableKey)
+ if err != nil {
+ return false, errors.Trace(err)
+ }
+ if v != nil {
+ return true, nil
+ }
+
+ return false, nil
+}
+
// DDL job structure
// DDLJobList: list jobs
// DDLJobHistory: hash
@@ -942,12 +1072,8 @@ var (
mDDLJobListKey = []byte("DDLJobList")
mDDLJobAddIdxList = []byte("DDLJobAddIdxList")
mDDLJobHistoryKey = []byte("DDLJobHistory")
- mDDLJobReorgKey = []byte("DDLJobReorg")
)
-// JobListKeyType is a key type of the DDL job queue.
-type JobListKeyType []byte
-
var (
// DefaultJobListKey keeps all actions of DDL jobs except "add index".
DefaultJobListKey JobListKeyType = mDDLJobListKey
@@ -973,31 +1099,8 @@ func (m *Meta) EnQueueDDLJob(job *model.Job, jobListKeys ...JobListKeyType) erro
return m.enQueueDDLJob(listKey, job, true)
}
-// EnQueueDDLJobNoUpdate adds a DDL job to the list without update raw args.
-func (m *Meta) EnQueueDDLJobNoUpdate(job *model.Job, jobListKeys ...JobListKeyType) error {
- listKey := m.jobListKey
- if len(jobListKeys) != 0 {
- listKey = jobListKeys[0]
- }
-
- return m.enQueueDDLJob(listKey, job, false)
-}
-
-func (m *Meta) deQueueDDLJob(key []byte) (*model.Job, error) {
- value, err := m.txn.LPop(key)
- if err != nil || value == nil {
- return nil, errors.Trace(err)
- }
-
- job := &model.Job{}
- err = job.Decode(value)
- return job, errors.Trace(err)
-}
-
-// DeQueueDDLJob pops a DDL job from the list.
-func (m *Meta) DeQueueDDLJob() (*model.Job, error) {
- return m.deQueueDDLJob(m.jobListKey)
-}
+// JobListKeyType is a key type of the DDL job queue.
+type JobListKeyType []byte
func (m *Meta) getDDLJob(key []byte, index int64) (*model.Job, error) {
value, err := m.txn.LIndex(key, index)
@@ -1018,61 +1121,6 @@ func (m *Meta) getDDLJob(key []byte, index int64) (*model.Job, error) {
return job, errors.Trace(err)
}
-// GetDDLJobByIdx returns the corresponding DDL job by the index.
-// The length of jobListKeys can only be 1 or 0.
-// If its length is 1, we need to replace m.jobListKey with jobListKeys[0].
-// Otherwise, we use m.jobListKey directly.
-func (m *Meta) GetDDLJobByIdx(index int64, jobListKeys ...JobListKeyType) (*model.Job, error) {
- listKey := m.jobListKey
- if len(jobListKeys) != 0 {
- listKey = jobListKeys[0]
- }
-
- startTime := time.Now()
- job, err := m.getDDLJob(listKey, index)
- metrics.MetaHistogram.WithLabelValues(metrics.GetDDLJobByIdx, metrics.RetLabel(err)).Observe(time.Since(startTime).Seconds())
- return job, errors.Trace(err)
-}
-
-// updateDDLJob updates the DDL job with index and key.
-// updateRawArgs is used to determine whether to update the raw args when encode the job.
-func (m *Meta) updateDDLJob(index int64, job *model.Job, key []byte, updateRawArgs bool) error {
- b, err := job.Encode(updateRawArgs)
- if err == nil {
- err = m.txn.LSet(key, index, b)
- }
- return errors.Trace(err)
-}
-
-// UpdateDDLJob updates the DDL job with index.
-// updateRawArgs is used to determine whether to update the raw args when encode the job.
-// The length of jobListKeys can only be 1 or 0.
-// If its length is 1, we need to replace m.jobListKey with jobListKeys[0].
-// Otherwise, we use m.jobListKey directly.
-func (m *Meta) UpdateDDLJob(index int64, job *model.Job, updateRawArgs bool, jobListKeys ...JobListKeyType) error {
- listKey := m.jobListKey
- if len(jobListKeys) != 0 {
- listKey = jobListKeys[0]
- }
-
- startTime := time.Now()
- err := m.updateDDLJob(index, job, listKey, updateRawArgs)
- metrics.MetaHistogram.WithLabelValues(metrics.UpdateDDLJob, metrics.RetLabel(err)).Observe(time.Since(startTime).Seconds())
- return errors.Trace(err)
-}
-
-// DDLJobQueueLen returns the DDL job queue length.
-// The length of jobListKeys can only be 1 or 0.
-// If its length is 1, we need to replace m.jobListKey with jobListKeys[0].
-// Otherwise, we use m.jobListKey directly.
-func (m *Meta) DDLJobQueueLen(jobListKeys ...JobListKeyType) (int64, error) {
- listKey := m.jobListKey
- if len(jobListKeys) != 0 {
- listKey = jobListKeys[0]
- }
- return m.txn.LLen(listKey)
-}
-
// GetAllDDLJobsInQueue gets all DDL Jobs in the current queue.
// The length of jobListKeys can only be 1 or 0.
// If its length is 1, we need to replace m.jobListKey with jobListKeys[0].
@@ -1107,45 +1155,6 @@ func (*Meta) jobIDKey(id int64) []byte {
return b
}
-func (m *Meta) reorgJobCurrentElement(id int64) []byte {
- b := make([]byte, 0, 12)
- b = append(b, m.jobIDKey(id)...)
- b = append(b, "_ele"...)
- return b
-}
-
-func (m *Meta) reorgJobStartHandle(id int64, element *Element) []byte {
- b := make([]byte, 0, 16+len(element.TypeKey))
- b = append(b, m.jobIDKey(id)...)
- b = append(b, element.TypeKey...)
- eID := make([]byte, 8)
- binary.BigEndian.PutUint64(eID, uint64(element.ID))
- b = append(b, eID...)
- return b
-}
-
-func (*Meta) reorgJobEndHandle(id int64, element *Element) []byte {
- b := make([]byte, 8, 25)
- binary.BigEndian.PutUint64(b, uint64(id))
- b = append(b, element.TypeKey...)
- eID := make([]byte, 8)
- binary.BigEndian.PutUint64(eID, uint64(element.ID))
- b = append(b, eID...)
- b = append(b, "_end"...)
- return b
-}
-
-func (*Meta) reorgJobPhysicalTableID(id int64, element *Element) []byte {
- b := make([]byte, 8, 25)
- binary.BigEndian.PutUint64(b, uint64(id))
- b = append(b, element.TypeKey...)
- eID := make([]byte, 8)
- binary.BigEndian.PutUint64(eID, uint64(element.ID))
- b = append(b, eID...)
- b = append(b, "_pid"...)
- return b
-}
-
func (m *Meta) addHistoryDDLJob(key []byte, job *model.Job, updateRawArgs bool) error {
b, err := job.Encode(updateRawArgs)
if err == nil {
@@ -1307,160 +1316,6 @@ func DecodeElement(b []byte) (*Element, error) {
return &Element{ID: int64(id), TypeKey: tp}, nil
}
-// UpdateDDLReorgStartHandle saves the job reorganization latest processed element and start handle for later resuming.
-func (m *Meta) UpdateDDLReorgStartHandle(job *model.Job, element *Element, startKey kv.Key) error {
- err := m.txn.HSet(mDDLJobReorgKey, m.reorgJobCurrentElement(job.ID), element.EncodeElement())
- if err != nil {
- return errors.Trace(err)
- }
- if startKey != nil {
- err = m.txn.HSet(mDDLJobReorgKey, m.reorgJobStartHandle(job.ID, element), startKey)
- if err != nil {
- return errors.Trace(err)
- }
- }
- return nil
-}
-
-// UpdateDDLReorgHandle saves the job reorganization latest processed information for later resuming.
-func (m *Meta) UpdateDDLReorgHandle(jobID int64, startKey, endKey kv.Key, physicalTableID int64, element *Element) error {
- err := m.txn.HSet(mDDLJobReorgKey, m.reorgJobCurrentElement(jobID), element.EncodeElement())
- if err != nil {
- return errors.Trace(err)
- }
- if startKey != nil {
- err = m.txn.HSet(mDDLJobReorgKey, m.reorgJobStartHandle(jobID, element), startKey)
- if err != nil {
- return errors.Trace(err)
- }
- }
- if endKey != nil {
- err = m.txn.HSet(mDDLJobReorgKey, m.reorgJobEndHandle(jobID, element), endKey)
- if err != nil {
- return errors.Trace(err)
- }
- }
- err = m.txn.HSet(mDDLJobReorgKey, m.reorgJobPhysicalTableID(jobID, element), []byte(strconv.FormatInt(physicalTableID, 10)))
- return errors.Trace(err)
-}
-
-// ClearAllDDLReorgHandle clears all reorganization related handles.
-func (m *Meta) ClearAllDDLReorgHandle() error {
- return m.txn.HClear(mDDLJobReorgKey)
-}
-
-// ClearALLDDLJob clears all DDL jobs.
-func (m *Meta) ClearALLDDLJob() error {
- if err := m.txn.LClear(mDDLJobAddIdxList); err != nil {
- return errors.Trace(err)
- }
- if err := m.txn.LClear(mDDLJobListKey); err != nil {
- return errors.Trace(err)
- }
- return nil
-}
-
-// ClearAllHistoryJob clears all history jobs. **IT IS VERY DANGEROUS**
-func (m *Meta) ClearAllHistoryJob() error {
- if err := m.txn.HClear(mDDLJobHistoryKey); err != nil {
- return errors.Trace(err)
- }
- return nil
-}
-
-// RemoveReorgElement removes the element of the reorganization information.
-func (m *Meta) RemoveReorgElement(job *model.Job) error {
- err := m.txn.HDel(mDDLJobReorgKey, m.reorgJobCurrentElement(job.ID))
- if err != nil {
- return errors.Trace(err)
- }
- return nil
-}
-
-// RemoveDDLReorgHandle removes the job reorganization related handles.
-func (m *Meta) RemoveDDLReorgHandle(job *model.Job, elements []*Element) error {
- if len(elements) == 0 {
- return nil
- }
-
- err := m.txn.HDel(mDDLJobReorgKey, m.reorgJobCurrentElement(job.ID))
- if err != nil {
- return errors.Trace(err)
- }
-
- for _, element := range elements {
- err = m.txn.HDel(mDDLJobReorgKey, m.reorgJobStartHandle(job.ID, element))
- if err != nil {
- return errors.Trace(err)
- }
- if err = m.txn.HDel(mDDLJobReorgKey, m.reorgJobEndHandle(job.ID, element)); err != nil {
- logutil.BgLogger().Warn("remove DDL reorg end handle", zap.Error(err))
- }
- if err = m.txn.HDel(mDDLJobReorgKey, m.reorgJobPhysicalTableID(job.ID, element)); err != nil {
- logutil.BgLogger().Warn("remove DDL reorg physical ID", zap.Error(err))
- }
- }
- return nil
-}
-
-// GetDDLReorgHandle gets the latest processed DDL reorganize position.
-func (m *Meta) GetDDLReorgHandle(job *model.Job) (element *Element, startKey, endKey kv.Key, physicalTableID int64, err error) {
- elementBytes, err := m.txn.HGet(mDDLJobReorgKey, m.reorgJobCurrentElement(job.ID))
- if err != nil {
- return nil, nil, nil, 0, errors.Trace(err)
- }
- if elementBytes == nil {
- return nil, nil, nil, 0, ErrDDLReorgElementNotExist
- }
- element, err = DecodeElement(elementBytes)
- if err != nil {
- return nil, nil, nil, 0, errors.Trace(err)
- }
-
- startKey, err = getReorgJobFieldHandle(m.txn, m.reorgJobStartHandle(job.ID, element))
- if err != nil {
- return nil, nil, nil, 0, errors.Trace(err)
- }
- endKey, err = getReorgJobFieldHandle(m.txn, m.reorgJobEndHandle(job.ID, element))
- if err != nil {
- return nil, nil, nil, 0, errors.Trace(err)
- }
-
- physicalTableID, err = m.txn.HGetInt64(mDDLJobReorgKey, m.reorgJobPhysicalTableID(job.ID, element))
- if err != nil {
- err = errors.Trace(err)
- return
- }
-
- // physicalTableID may be 0, because older version TiDB (without table partition) doesn't store them.
- // update them to table's in this case.
- if physicalTableID == 0 {
- if job.ReorgMeta != nil {
- endKey = kv.IntHandle(job.ReorgMeta.EndHandle).Encoded()
- } else {
- endKey = kv.IntHandle(math.MaxInt64).Encoded()
- }
- physicalTableID = job.TableID
- logutil.BgLogger().Warn("new TiDB binary running on old TiDB DDL reorg data",
- zap.Int64("partition ID", physicalTableID),
- zap.Stringer("startHandle", startKey),
- zap.Stringer("endHandle", endKey))
- }
- return
-}
-
-func getReorgJobFieldHandle(t *structure.TxStructure, reorgJobField []byte) (kv.Key, error) {
- bs, err := t.HGet(mDDLJobReorgKey, reorgJobField)
- if err != nil {
- return nil, errors.Trace(err)
- }
- keyNotFound := bs == nil
- if keyNotFound {
- return nil, nil
- }
- return bs, nil
-}
-
func (*Meta) schemaDiffKey(schemaVersion int64) []byte {
return []byte(fmt.Sprintf("%s:%d", mSchemaDiffPrefix, schemaVersion))
}
diff --git a/meta/meta_autoid.go b/meta/meta_autoid.go
index 18d384b2b25a7..5763aa268051a 100644
--- a/meta/meta_autoid.go
+++ b/meta/meta_autoid.go
@@ -102,7 +102,7 @@ type autoIDAccessors struct {
access autoIDAccessor
}
-const sepAutoIncVer = model.TableInfoVersion4 + 1
+const sepAutoIncVer = model.TableInfoVersion5
// Get implements the interface AutoIDAccessors.
func (a *autoIDAccessors) Get() (autoIDs AutoIDGroup, err error) {
diff --git a/meta/meta_test.go b/meta/meta_test.go
index 0529fdbcc5eda..d1d932821bce3 100644
--- a/meta/meta_test.go
+++ b/meta/meta_test.go
@@ -17,18 +17,15 @@ package meta_test
import (
"context"
"fmt"
- "math"
"strconv"
"testing"
"time"
"github.com/pingcap/errors"
- "github.com/pingcap/tidb/ddl"
"github.com/pingcap/tidb/kv"
"github.com/pingcap/tidb/meta"
"github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/store/mockstore"
- "github.com/pingcap/tidb/testkit/testutil"
"github.com/pingcap/tidb/util"
"github.com/stretchr/testify/require"
)
@@ -252,10 +249,16 @@ func TestMeta(t *testing.T) {
table, err := m.GetTable(1, 1)
require.NoError(t, err)
require.Equal(t, tbInfo, table)
+ tblExist, err := m.CheckTableExists(1, 1)
+ require.NoError(t, err)
+ require.Equal(t, true, tblExist)
table, err = m.GetTable(1, 2)
require.NoError(t, err)
require.Nil(t, table)
+ tblExist, err = m.CheckTableExists(1, 2)
+ require.NoError(t, err)
+ require.Equal(t, false, tblExist)
tbInfo2 := &model.TableInfo{
ID: 2,
@@ -442,202 +445,6 @@ func TestElement(t *testing.T) {
require.EqualError(t, err, `invalid encoded element "_col_" length 5`)
}
-func TestDDL(t *testing.T) {
- testCases := []struct {
- desc string
- startHandle kv.Handle
- endHandle kv.Handle
- }{
- {
- "kv.IntHandle",
- kv.IntHandle(1),
- kv.IntHandle(2),
- },
- {
- "kv.CommonHandle",
- testutil.MustNewCommonHandle(t, "abc", 1222, "string"),
- testutil.MustNewCommonHandle(t, "dddd", 1222, "string"),
- },
- }
-
- for _, tc := range testCases {
- // copy iterator variable into a new variable, see issue #27779
- tc := tc
- t.Run(tc.desc, func(t *testing.T) {
- store, err := mockstore.NewMockStore()
- require.NoError(t, err)
- defer func() {
- err := store.Close()
- require.NoError(t, err)
- }()
-
- txn, err := store.Begin()
- require.NoError(t, err)
-
- m := meta.NewMeta(txn)
-
- job := &model.Job{ID: 1}
- err = m.EnQueueDDLJob(job)
- require.NoError(t, err)
- n, err := m.DDLJobQueueLen()
- require.NoError(t, err)
- require.Equal(t, int64(1), n)
-
- v, err := m.GetDDLJobByIdx(0)
- require.NoError(t, err)
- require.Equal(t, job, v)
- v, err = m.GetDDLJobByIdx(1)
- require.NoError(t, err)
- require.Nil(t, v)
-
- job.ID = 2
- err = m.UpdateDDLJob(0, job, true)
- require.NoError(t, err)
-
- element := &meta.Element{ID: 123, TypeKey: meta.IndexElementKey}
- // There are 3 meta key relate to index reorganization:
- // start_handle, end_handle and physical_table_id.
- // Only start_handle is initialized.
- err = m.UpdateDDLReorgStartHandle(job, element, kv.IntHandle(1).Encoded())
- require.NoError(t, err)
-
- // Since physical_table_id is uninitialized, we simulate older TiDB version that doesn't store them.
- // In this case GetDDLReorgHandle always return maxInt64 as end_handle.
- e, i, j, k, err := m.GetDDLReorgHandle(job)
- require.NoError(t, err)
- require.Equal(t, element, e)
- require.Equal(t, kv.Key(kv.IntHandle(1).Encoded()), i)
- require.Equal(t, kv.Key(kv.IntHandle(math.MaxInt64).Encoded()), j)
- require.Equal(t, int64(0), k)
-
- element = &meta.Element{ID: 222, TypeKey: meta.ColumnElementKey}
- err = m.UpdateDDLReorgHandle(job.ID, tc.startHandle.Encoded(), tc.endHandle.Encoded(), 3, element)
- require.NoError(t, err)
- element1 := &meta.Element{ID: 223, TypeKey: meta.IndexElementKey}
- err = m.UpdateDDLReorgHandle(job.ID, tc.startHandle.Encoded(), tc.endHandle.Encoded(), 3, element1)
- require.NoError(t, err)
-
- e, i, j, k, err = m.GetDDLReorgHandle(job)
- require.NoError(t, err)
- require.Equal(t, element1, e)
- require.Equal(t, kv.Key(tc.startHandle.Encoded()), i)
- require.Equal(t, kv.Key(tc.endHandle.Encoded()), j)
- require.Equal(t, int64(3), k)
-
- err = m.RemoveDDLReorgHandle(job, []*meta.Element{element, element1})
- require.NoError(t, err)
- e, i, j, k, err = m.GetDDLReorgHandle(job)
- require.True(t, meta.ErrDDLReorgElementNotExist.Equal(err))
- require.Nil(t, e)
- require.Nil(t, i)
- require.Nil(t, j)
- require.Equal(t, k, int64(0))
-
- // new TiDB binary running on old TiDB DDL reorg data.
- e, i, j, k, err = m.GetDDLReorgHandle(job)
- require.True(t, meta.ErrDDLReorgElementNotExist.Equal(err))
- require.Nil(t, e)
- require.Nil(t, i)
- require.Nil(t, j)
- require.Equal(t, k, int64(0))
-
- // Test GetDDLReorgHandle failed.
- _, _, _, _, err = m.GetDDLReorgHandle(job)
- require.True(t, meta.ErrDDLReorgElementNotExist.Equal(err))
-
- v, err = m.DeQueueDDLJob()
- require.NoError(t, err)
- require.Equal(t, job, v)
-
- err = m.AddHistoryDDLJob(job, true)
- require.NoError(t, err)
- v, err = m.GetHistoryDDLJob(2)
- require.NoError(t, err)
- require.Equal(t, job, v)
-
- // Add multiple history jobs.
- arg := "test arg"
- historyJob1 := &model.Job{ID: 1234}
- historyJob1.Args = append(job.Args, arg)
- err = m.AddHistoryDDLJob(historyJob1, true)
- require.NoError(t, err)
- historyJob2 := &model.Job{ID: 123}
- historyJob2.Args = append(job.Args, arg)
- err = m.AddHistoryDDLJob(historyJob2, false)
- require.NoError(t, err)
- all, err := ddl.GetAllHistoryDDLJobs(m)
- require.NoError(t, err)
- var lastID int64
- for _, job := range all {
- require.Greater(t, job.ID, lastID)
- lastID = job.ID
- arg1 := ""
- err := job.DecodeArgs(&arg1)
- require.NoError(t, err)
- if job.ID == historyJob1.ID {
- require.Equal(t, historyJob1.Args[0], *(job.Args[0].(*string)))
- } else {
- require.Len(t, job.Args, 0)
- }
- }
-
- // Test for get last N history ddl jobs.
- historyJobs, err := ddl.GetLastNHistoryDDLJobs(m, 2)
- require.NoError(t, err)
- require.Len(t, historyJobs, 2)
- require.Equal(t, int64(1234), historyJobs[0].ID)
- require.Equal(t, int64(123), historyJobs[1].ID)
-
- // Test GetAllDDLJobsInQueue.
- err = m.EnQueueDDLJob(job)
- require.NoError(t, err)
- job1 := &model.Job{ID: 2}
- err = m.EnQueueDDLJob(job1)
- require.NoError(t, err)
- jobs, err := m.GetAllDDLJobsInQueue()
- require.NoError(t, err)
- expectJobs := []*model.Job{job, job1}
- require.Equal(t, expectJobs, jobs)
-
- err = txn.Commit(context.Background())
- require.NoError(t, err)
- })
- }
-}
-
-func TestAddIndexJob(t *testing.T) {
- store, err := mockstore.NewMockStore()
- require.NoError(t, err)
- defer func() {
- err := store.Close()
- require.NoError(t, err)
- }()
-
- txn1, err := store.Begin()
- require.NoError(t, err)
-
- m := meta.NewMeta(txn1, meta.AddIndexJobListKey)
- job := &model.Job{ID: 1}
- err = m.EnQueueDDLJob(job)
- require.NoError(t, err)
- job.ID = 123
- err = m.UpdateDDLJob(0, job, true, meta.AddIndexJobListKey)
- require.NoError(t, err)
- v, err := m.GetDDLJobByIdx(0, meta.AddIndexJobListKey)
- require.NoError(t, err)
- require.Equal(t, job, v)
- l, err := m.DDLJobQueueLen(meta.AddIndexJobListKey)
- require.NoError(t, err)
- require.Equal(t, int64(1), l)
- jobs, err := m.GetAllDDLJobsInQueue(meta.AddIndexJobListKey)
- require.NoError(t, err)
- expectJobs := []*model.Job{job}
- require.Equal(t, expectJobs, jobs)
-
- err = txn1.Commit(context.Background())
- require.NoError(t, err)
-}
-
func BenchmarkGenGlobalIDs(b *testing.B) {
store, err := mockstore.NewMockStore()
require.NoError(b, err)
@@ -767,45 +574,6 @@ func TestSequenceKey(b *testing.T) {
require.Equal(b, tableID, id)
}
-func TestClearJob(t *testing.T) {
- store, err := mockstore.NewMockStore()
- require.NoError(t, err)
- defer func() {
- require.NoError(t, store.Close())
- }()
-
- txn, err := store.Begin()
- require.NoError(t, err)
-
- job1 := &model.Job{ID: 1, TableID: 1, Type: model.ActionAddColumn}
- job2 := &model.Job{ID: 2, TableID: 1, Type: model.ActionCreateTable}
- job3 := &model.Job{ID: 3, TableID: 2, Type: model.ActionDropColumn}
-
- m := meta.NewMeta(txn)
-
- require.NoError(t, m.EnQueueDDLJob(job1))
- require.NoError(t, m.EnQueueDDLJob(job2))
- require.NoError(t, m.EnQueueDDLJob(job3))
-
- require.NoError(t, m.AddHistoryDDLJob(job1, false))
- require.NoError(t, m.AddHistoryDDLJob(job2, false))
-
- jobs, err := m.GetAllDDLJobsInQueue()
- require.NoError(t, err)
- require.Len(t, jobs, 3)
- require.NoError(t, m.ClearALLDDLJob())
- jobs, err = m.GetAllDDLJobsInQueue()
- require.NoError(t, err)
- require.Len(t, jobs, 0)
-
- count, err := m.GetHistoryDDLCount()
- require.NoError(t, err)
- require.Equal(t, count, uint64(2))
-
- err = txn.Rollback()
- require.NoError(t, err)
-}
-
func TestCreateMySQLDatabase(t *testing.T) {
store, err := mockstore.NewMockStore()
require.NoError(t, err)
@@ -829,41 +597,3 @@ func TestCreateMySQLDatabase(t *testing.T) {
err = txn.Rollback()
require.NoError(t, err)
}
-
-func TestDDLTable(t *testing.T) {
- store, err := mockstore.NewMockStore()
- require.NoError(t, err)
- defer func() {
- require.NoError(t, store.Close())
- }()
-
- txn, err := store.Begin()
- require.NoError(t, err)
-
- m := meta.NewMeta(txn)
-
- exists, err := m.CheckDDLTableExists()
- require.NoError(t, err)
- require.False(t, exists)
-
- err = m.SetDDLTables()
- require.NoError(t, err)
-
- exists, err = m.CheckDDLTableExists()
- require.NoError(t, err)
- require.True(t, exists)
-
- err = m.SetConcurrentDDL(true)
- require.NoError(t, err)
- b, err := m.IsConcurrentDDL()
- require.NoError(t, err)
- require.True(t, b)
- err = m.SetConcurrentDDL(false)
- require.NoError(t, err)
- b, err = m.IsConcurrentDDL()
- require.NoError(t, err)
- require.False(t, b)
-
- err = txn.Rollback()
- require.NoError(t, err)
-}
diff --git a/metrics/BUILD.bazel b/metrics/BUILD.bazel
index ff37513801ede..c414e04d9c907 100644
--- a/metrics/BUILD.bazel
+++ b/metrics/BUILD.bazel
@@ -13,12 +13,14 @@ go_library(
"meta.go",
"metrics.go",
"owner.go",
+ "resourcemanager.go",
"server.go",
"session.go",
"sli.go",
"stats.go",
"telemetry.go",
"topsql.go",
+ "ttl.go",
],
importpath = "github.com/pingcap/tidb/metrics",
visibility = ["//visibility:public"],
diff --git a/metrics/grafana/performance_overview.json b/metrics/grafana/performance_overview.json
index 19f526e562280..5ee670584f99e 100644
--- a/metrics/grafana/performance_overview.json
+++ b/metrics/grafana/performance_overview.json
@@ -57,8 +57,8 @@
"editable": true,
"gnetId": null,
"graphTooltip": 1,
- "id": null,
- "iteration": 1577357354898,
+ "id": 31,
+ "iteration": 1669018858346,
"links": [],
"panels": [
{
@@ -479,6 +479,11 @@
"lines": true,
"linewidth": 2,
"stack": false
+ },
+ {
+ "$$hashKey": "object:321",
+ "alias": "tiflash_mpp",
+ "color": "#8F3BB8"
}
],
"spaceLength": 10,
@@ -508,6 +513,14 @@
"interval": "",
"legendFormat": "execute time",
"refId": "F"
+ },
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tiflash_coprocessor_request_duration_seconds_sum{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\"}[1m])) ",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "tiflash_mpp",
+ "refId": "A"
}
],
"thresholds": [],
@@ -1048,12 +1061,12 @@
},
{
"aliasColors": {},
- "bars": false,
+ "bars": true,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_TEST-CLUSTER}",
"decimals": null,
- "description": "TiDB current connection counts",
+ "description": "kv request time by command source",
"editable": true,
"error": false,
"fill": 1,
@@ -1066,7 +1079,7 @@
"y": 15
},
"hiddenSeries": false,
- "id": 188,
+ "id": 23763571995,
"legend": {
"alignAsTable": true,
"avg": true,
@@ -1082,7 +1095,7 @@
"total": false,
"values": true
},
- "lines": true,
+ "lines": false,
"linewidth": 1,
"links": [],
"nullPointMode": "null as zero",
@@ -1094,57 +1107,49 @@
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "$$hashKey": "object:243",
+ "alias": "kv request total time",
+ "bars": false,
+ "color": "#FADE2A",
+ "lines": true,
+ "stack": false
+ }
+ ],
"spaceLength": 10,
- "stack": false,
+ "stack": true,
"steppedLine": false,
"targets": [
{
"exemplar": true,
- "expr": "tidb_server_connections{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\"}",
+ "expr": "sum(rate(tidb_tikvclient_request_time_counter{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (type, source)",
"format": "time_series",
"interval": "",
"intervalFactor": 2,
- "legendFormat": "{{instance}}",
+ "legendFormat": "{{type}}-{{source}}",
"refId": "A",
"step": 30
},
{
"exemplar": true,
- "expr": "sum(tidb_server_connections{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\"})",
+ "expr": "sum(rate(tidb_tikvclient_request_time_counter{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m]))",
"hide": false,
"interval": "",
- "intervalFactor": 2,
- "legendFormat": "total",
+ "legendFormat": "kv request total time",
"refId": "B"
- },
- {
- "exemplar": true,
- "expr": "sum(tidb_server_tokens{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\"})",
- "hide": false,
- "interval": "",
- "legendFormat": "active connections",
- "refId": "D"
- },
- {
- "exemplar": true,
- "expr": "sum(tidb_server_tokens{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\"}) by (instance)",
- "hide": true,
- "interval": "",
- "legendFormat": "ac-{{instance}}",
- "refId": "E"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
- "title": "Connection Count",
+ "title": "KV Request Time By Source",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
- "value_type": "individual"
+ "value_type": "cumulative"
},
"type": "graph",
"xaxis": {
@@ -1156,9 +1161,9 @@
},
"yaxes": [
{
- "$$hashKey": "object:3472",
+ "$$hashKey": "object:178",
"decimals": 0,
- "format": "short",
+ "format": "s",
"label": null,
"logBase": 1,
"max": null,
@@ -1166,7 +1171,7 @@
"show": true
},
{
- "$$hashKey": "object:3473",
+ "$$hashKey": "object:179",
"format": "short",
"label": null,
"logBase": 1,
@@ -1480,8 +1485,8 @@
"fill": 1,
"fillGradient": 0,
"gridPos": {
- "h": 7,
- "w": 12,
+ "h": 6,
+ "w": 8,
"x": 0,
"y": 29
},
@@ -1601,9 +1606,9 @@
"fillGradient": 0,
"grid": {},
"gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
+ "h": 6,
+ "w": 8,
+ "x": 8,
"y": 29
},
"hiddenSeries": false,
@@ -1720,6 +1725,148 @@
"alignLevel": null
}
},
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "decimals": null,
+ "description": "TiDB current connection counts",
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 29
+ },
+ "hiddenSeries": false,
+ "id": 188,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "$$hashKey": "object:113",
+ "alias": "disconnection/s",
+ "color": "#C4162A",
+ "linewidth": 2,
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "tidb_server_connections{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}",
+ "refId": "A",
+ "step": 30
+ },
+ {
+ "exemplar": true,
+ "expr": "sum(tidb_server_connections{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\"})",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "total",
+ "refId": "B"
+ },
+ {
+ "exemplar": true,
+ "expr": "sum(tidb_server_tokens{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\"})",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "active connections",
+ "refId": "D"
+ },
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tidb_server_disconnection_total{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", result=\"ok\"}[1m]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "disconnection/s",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Connection Count",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:3472",
+ "decimals": 0,
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "$$hashKey": "object:3473",
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
{
"aliasColors": {},
"bars": false,
@@ -1737,7 +1884,7 @@
"h": 8,
"w": 8,
"x": 0,
- "y": 36
+ "y": 35
},
"hiddenSeries": false,
"id": 156,
@@ -1861,7 +2008,7 @@
"h": 8,
"w": 8,
"x": 8,
- "y": 36
+ "y": 35
},
"hiddenSeries": false,
"id": 170,
@@ -1972,7 +2119,7 @@
"h": 8,
"w": 8,
"x": 16,
- "y": 36
+ "y": 35
},
"hiddenSeries": false,
"id": 169,
@@ -2097,7 +2244,7 @@
"h": 8,
"w": 8,
"x": 0,
- "y": 44
+ "y": 43
},
"hiddenSeries": false,
"id": 172,
@@ -2205,7 +2352,7 @@
"h": 8,
"w": 8,
"x": 8,
- "y": 44
+ "y": 43
},
"hiddenSeries": false,
"id": 173,
@@ -2312,7 +2459,7 @@
"h": 8,
"w": 8,
"x": 16,
- "y": 44
+ "y": 43
},
"hiddenSeries": false,
"id": 77,
@@ -2459,7 +2606,7 @@
"h": 8,
"w": 8,
"x": 0,
- "y": 52
+ "y": 51
},
"hiddenSeries": false,
"id": 185,
@@ -2573,7 +2720,7 @@
"h": 8,
"w": 8,
"x": 8,
- "y": 52
+ "y": 51
},
"hiddenSeries": false,
"id": 183,
@@ -2689,7 +2836,7 @@
"h": 8,
"w": 8,
"x": 16,
- "y": 52
+ "y": 51
},
"hiddenSeries": false,
"id": 174,
@@ -2805,7 +2952,7 @@
"h": 9,
"w": 8,
"x": 0,
- "y": 60
+ "y": 59
},
"hiddenSeries": false,
"id": 176,
@@ -2921,7 +3068,7 @@
"h": 9,
"w": 8,
"x": 8,
- "y": 60
+ "y": 59
},
"hiddenSeries": false,
"id": 177,
@@ -3037,7 +3184,7 @@
"h": 9,
"w": 8,
"x": 16,
- "y": 60
+ "y": 59
},
"hiddenSeries": false,
"id": 186,
@@ -3135,27 +3282,3153 @@
"align": false,
"alignLevel": null
}
+ },
+ {
+ "collapsed": true,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 68
+ },
+ "id": 159,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "decimals": 1,
+ "description": "The CPU usage of each TiFlash instance",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 0,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 2
+ },
+ "hiddenSeries": false,
+ "id": 161,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sideWidth": null,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "rate(tiflash_proxy_process_cpu_seconds_total{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", job=\"tiflash\"}[1m])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "percentunit",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "decimals": 1,
+ "description": "The memory usage per TiFlash instance",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 0,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 2
+ },
+ "hiddenSeries": false,
+ "id": 1709,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sideWidth": null,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "avg(tiflash_proxy_process_resident_memory_bytes{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}) by (instance)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Memory",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "decimals": 1,
+ "description": "The I/O utilization per TiFlash instance",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 0,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 2
+ },
+ "hiddenSeries": false,
+ "id": 165,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sideWidth": null,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "rate(node_disk_io_time_seconds_total{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", instance=~\"tiflash.*\"}[1m])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{device}}",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "IO utilization",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "percentunit",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The MPP query count in TiFlash",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 9
+ },
+ "hiddenSeries": false,
+ "id": 157,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "max(tiflash_mpp_task_manager{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}) by (instance, type)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}-{{type}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MPP Query count",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "none",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The number of coprocessor requests received by all TiFlash instances. batch is the number of batch requests. batch_cop is the number of coprocessor requests in the batch requests. cop is the number of coprocessor requests that are sent directly via the coprocessor interface. cop_dag is the number of dag requests in all coprocessor requests. super_batch is the number of requests to enable the Super Batch feature.",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 9
+ },
+ "hiddenSeries": false,
+ "id": 9,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(tiflash_coprocessor_request_count{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (type)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{type}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Request QPS",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": null,
+ "format": "none",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "none",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The number of each type of dag executors in the requests received by all TiFlash instances. table_scan is the table scan executor. selection is the selection executor. aggregation is the aggregation executor. top_n is the TopN executor. limit is the limit executor.",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 9
+ },
+ "hiddenSeries": false,
+ "id": 2,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tiflash_coprocessor_executor_count{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (type)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{type}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Executor QPS",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "none",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "none",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The overview of the total duration of all TiFlash instances processing coprocessor requests.",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 16
+ },
+ "hiddenSeries": false,
+ "id": 166,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tiflash_coprocessor_request_duration_seconds_sum[1m])) by (type)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{type}}",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Request Duration Overview",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": " The total duration of all TiFlash instances processing coprocessor requests.",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 16
+ },
+ "hiddenSeries": false,
+ "id": 11,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(0.999, sum(rate(tiflash_coprocessor_request_duration_seconds_bucket{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (le))",
+ "format": "time_series",
+ "hide": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "999",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(0.99, sum(rate(tiflash_coprocessor_request_duration_seconds_bucket{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (le,type))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "99-{{type}}",
+ "refId": "B"
+ },
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tiflash_coprocessor_request_duration_seconds_sum{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (type) /sum(rate(tiflash_coprocessor_request_duration_seconds_count{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (type)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "avg-{{type}}",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Request Duration",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The duration of all TiFlash instances processing coprocessor requests. The processing time is from starting to execute the coprocessor request to completing the execution.",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 16
+ },
+ "hiddenSeries": false,
+ "id": 13,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(0.999, sum(rate(tiflash_coprocessor_request_handle_seconds_bucket{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (le))",
+ "format": "time_series",
+ "hide": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "999",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(0.99, sum(rate(tiflash_coprocessor_request_handle_seconds_bucket{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (le,type))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "99-{{type}}",
+ "refId": "B"
+ },
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tiflash_coprocessor_request_handle_seconds_sum[1m])) by (type) /sum(rate(tiflash_coprocessor_request_handle_seconds_count[1m])) by (type)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "avg-{{type}}",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Request Handle Duration",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The time used by wait_index for all TiFlash instances, namely the time used to wait until local index >= read_index after the read_index request is received.",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 22
+ },
+ "hiddenSeries": false,
+ "id": 37,
+ "legend": {
+ "alignAsTable": true,
+ "avg": false,
+ "current": true,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "current",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "/timeout/",
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(1.00, sum(rate(tiflash_raft_wait_index_duration_seconds_bucket{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (le))",
+ "format": "time_series",
+ "hide": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "max",
+ "refId": "A"
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(rate(tiflash_raft_wait_index_duration_seconds_bucket{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "99",
+ "refId": "B"
+ },
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tiflash_raft_wait_index_duration_seconds_sum[1m]))/sum(rate(tiflash_raft_wait_index_duration_seconds_count[1m]))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "avg",
+ "refId": "D"
+ },
+ {
+ "expr": "sum(increase(tiflash_system_profile_event_RaftWaitIndexTimeout{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (instance)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}-timeout",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Raft Wait Index Duration",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "opm",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The number of times that each TiFlash instance triggers the read_index request per second, which equals to the number of Regions triggered.",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 22
+ },
+ "hiddenSeries": false,
+ "id": 23763571994,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "/timeout/",
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(1.00, sum(rate(tiflash_raft_wait_index_duration_seconds_bucket{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (le))",
+ "format": "time_series",
+ "hide": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "max",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(0.99, sum(rate(tiflash_raft_read_index_duration_seconds_bucket{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "99",
+ "refId": "B"
+ },
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tiflash_raft_read_index_duration_seconds_sum[1m]))/sum(rate(tiflash_raft_read_index_duration_seconds_count[1m]))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "avg",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Raft Batch Read Index Duration",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "opm",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "decimals": 1,
+ "description": "The throughput of write by instance",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "id": 89,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sideWidth": 250,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeatedByRow": true,
+ "seriesOverrides": [
+ {
+ "alias": "/total/",
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tiflash_storage_throughput_bytes{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", type=~\"write\"}[1m])) by (instance)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "write-{{instance}}",
+ "refId": "A",
+ "step": 10
+ },
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tiflash_storage_throughput_bytes{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", type=~\"ingest\"}[1m])) by (instance)",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "ingest-{{instance}}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Write Throughput By Instance",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "binBps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "decimals": 1,
+ "description": "The flow of different kinds of write operations",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 34
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "id": 60,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sideWidth": null,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeatedByRow": true,
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(tiflash_system_profile_event_WriteBufferFromFileDescriptorWriteBytes{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "File Descriptor",
+ "refId": "A",
+ "step": 10
+ },
+ {
+ "expr": "sum(rate(tiflash_system_profile_event_PSMWriteBytes{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Page",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(rate(tiflash_system_profile_event_PSMBackgroundWriteBytes{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "PageBackGround",
+ "refId": "C"
+ },
+ {
+ "expr": "sum(rate(tiflash_system_profile_event_WriteBufferAIOWriteBytes{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m]))",
+ "format": "time_series",
+ "hide": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "AIO",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Write flow",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "binBps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "decimals": 1,
+ "description": "The flow of different kinds of read operations",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 34
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "id": 59,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sideWidth": null,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeatedByRow": true,
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(tiflash_system_profile_event_ReadBufferFromFileDescriptorReadBytes{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "File Descriptor",
+ "refId": "A",
+ "step": 10
+ },
+ {
+ "expr": "sum(rate(tiflash_system_profile_event_PSMReadBytes{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Page",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(rate(tiflash_system_profile_event_PSMBackgroundReadBytes{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "PageBackGround",
+ "refId": "C"
+ },
+ {
+ "expr": "sum(rate(tiflash_system_profile_event_ReadBufferAIOReadBytes{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m]))",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 1,
+ "legendFormat": "AIO",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Read flow",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "binBps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "title": "TiFlash",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 69
+ },
+ "id": 515,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "CPU usage of TiCDC",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 71
+ },
+ "hiddenSeries": false,
+ "id": 24,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": true,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "current",
+ "sortDesc": false,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "$$hashKey": "object:284",
+ "alias": "/.*MaxProcs/",
+ "fill": 0,
+ "linewidth": 2,
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(process_cpu_seconds_total{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", job=\"ticdc\"}[1m])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ },
+ {
+ "expr": "ticdc_server_go_max_procs{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", job=\"ticdc\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}-MaxProcs",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU usage",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:295",
+ "format": "percentunit",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "$$hashKey": "object:296",
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "Memory usage of TiCDC",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 71
+ },
+ "hiddenSeries": false,
+ "id": 23,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "process_resident_memory_bytes{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", job=\"ticdc\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "process-{{instance}}",
+ "refId": "A"
+ },
+ {
+ "expr": "go_memstats_heap_alloc_bytes{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", job=\"ticdc\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "heap-{{instance}}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Memory usage",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "Goroutine count of TiCDC",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 71
+ },
+ "hiddenSeries": false,
+ "id": 26,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": " go_goroutines{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", job=\"ticdc\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ },
+ {
+ "expr": "go_threads{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", job=\"ticdc\"}",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 1,
+ "legendFormat": "threads-{{instance}}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Goroutine count",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The lag between changefeed checkpoint ts and the latest ts of upstream TiDB.",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 78
+ },
+ "hiddenSeries": false,
+ "id": 3,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "max(ticdc_owner_checkpoint_ts_lag{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}) by (changefeed)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{changefeed}}",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "max(ticdc_processor_checkpoint_ts_lag{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}) by (instance,changefeed)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}-{{changefeed}}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Changefeed checkpoint lag",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:79",
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "$$hashKey": "object:80",
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The lag between changefeed resolved ts and the latest ts of upstream TiDB.",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 78
+ },
+ "hiddenSeries": false,
+ "id": 513,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "max(ticdc_owner_resolved_ts_lag{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}) by (changefeed)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{changefeed}}",
+ "refId": "C"
+ },
+ {
+ "exemplar": true,
+ "expr": "max(ticdc_processor_resolved_ts_lag{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}) by (instance,changefeed)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}-{{chanefeed}}",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Changefeed resolved ts lag",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The status of each changefeed.\n\n0: Normal\n\n1: Error\n\n2: Failed\n\n3: Stopped\n\n4: Finished\n\n-1: Unknown",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 78
+ },
+ "hiddenSeries": false,
+ "id": 163,
+ "legend": {
+ "alignAsTable": true,
+ "avg": false,
+ "current": true,
+ "max": true,
+ "min": true,
+ "show": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "max(ticdc_owner_status{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}) by (changefeed)",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{changefeed}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "The status of changefeeds",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The number of events that puller outputs to sorter \n per second",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 85
+ },
+ "hiddenSeries": false,
+ "id": 218,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum (rate(ticdc_puller_txn_collect_event_count{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", type!=\"resolved\"}[1m])) by (changefeed, instance, type)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{changefeed}}-{{instance}}-{{type}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Puller output events/s",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "none",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The number of events that sorter outputs to puller \n per second",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 85
+ },
+ "hiddenSeries": false,
+ "id": 228,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(ticdc_sorter_output_event_count{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (changefeed, instance, type)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{changefeed}}-{{instance}}-{{type}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Sorter output events/s",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "none",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The number of events that mounter outputs to sink per second",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 92
+ },
+ "hiddenSeries": false,
+ "id": 219,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(ticdc_mounter_total_rows_count{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (instance,changefeed)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{changefeed}}-{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Mounter output events/s",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:196",
+ "format": "none",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "$$hashKey": "object:197",
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The number of events that table sorter outputs to sink per second",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 92
+ },
+ "hiddenSeries": false,
+ "id": 108,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(rate(ticdc_sink_table_sink_total_rows_count{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\"}[1m])) by (changefeed, instance)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{changefeed}}-{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Table sink output events/s",
+ "tooltip": {
+ "shared": true,
+ "sort": 2,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "none",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "none",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The number of rows that sink flushes to downstream per second.",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 99
+ },
+ "hiddenSeries": false,
+ "id": 654,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(rate(ticdc_sinkv2_batch_row_count_sum{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", changefeed!=\"\"}[1m])) by (changefeed, instance)",
+ "interval": "",
+ "legendFormat": "{{changefeed}}-{{instance}}",
+ "queryType": "randomWalk",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "SinkV2 - Sink flush rows/s",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:258",
+ "format": "none",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "$$hashKey": "object:259",
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "Full flush (backend flush + callback + conflict detector notify) duration",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 99
+ },
+ "hiddenSeries": false,
+ "id": 620,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(0.999, sum(rate(ticdc_sinkv2_txn_worker_flush_duration_bucket{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", changefeed!=\"\"}[1m])) by (le,changefeed,instance))",
+ "interval": "",
+ "legendFormat": "99.9-{{changefeed}}-{{instance}}",
+ "queryType": "randomWalk",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "sum(rate(ticdc_sinkv2_txn_worker_flush_duration_sum{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", changefeed!=\"\"}[1m])) by (changefeed,instance) / \nsum(rate(ticdc_sinkv2_txn_worker_flush_duration_count{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", changefeed!=\"\"}[1m])) by (changefeed,instance)",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "avg-{{changefeed}}-{{instance}}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Transaction Sink Full Flush Duration",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:332",
+ "format": "s",
+ "label": null,
+ "logBase": 2,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "$$hashKey": "object:333",
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "MQ worker send messages to Kafka, this metric record the time cost on send every message.",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 106
+ },
+ "hiddenSeries": false,
+ "id": 653,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(0.999, sum(rate(ticdc_sinkv2_mq_worker_send_message_duration_bucket{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", changefeed!=\"\"}[1m])) by (le,changefeed,instance))",
+ "interval": "",
+ "legendFormat": "{{changefeed}}-{{instance}}-P999",
+ "queryType": "randomWalk",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "sum(rate(ticdc_sinkv2_mq_worker_send_message_duration_sum{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", changefeed!=\"\"}[1m])) by (changefeed,instance) / \nsum(rate(ticdc_sinkv2_mq_worker_send_message_duration_count{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", changefeed!=\"\"}[1m])) by (changefeed,instance)",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{changefeed}}-{{instance}}-avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MQ Worker Send Message Duration Percentile",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:406",
+ "format": "s",
+ "label": null,
+ "logBase": 2,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "$$hashKey": "object:407",
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "Bytes/second written off all brokers.\nvalue = one-minute moving average rate of Bytes per second",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 106
+ },
+ "hiddenSeries": false,
+ "id": 628,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.0.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(ticdc_sinkv2_kafka_producer_outgoing_byte_rate{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", changefeed!=\"\"}) by (changefeed, instance, broker)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{changefeed}}-{{instance}}-{{broker}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Kafka Outgoing Bytes",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:480",
+ "format": "bytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "$$hashKey": "object:481",
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "title": "CDC",
+ "type": "row"
}
],
"refresh": "30s",
- "schemaVersion": 18,
+ "schemaVersion": 27,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"allValue": null,
- "current": {},
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
"datasource": "${DS_TEST-CLUSTER}",
+ "definition": "",
+ "description": null,
+ "error": null,
"hide": 2,
"includeAll": false,
"label": "K8s-cluster",
"multi": false,
"name": "k8s_cluster",
"options": [],
- "query": "label_values(pd_cluster_status, k8s_cluster)",
+ "query": {
+ "query": "label_values(pd_cluster_status, k8s_cluster)",
+ "refId": "${DS_TEST-CLUSTER}-k8s_cluster-Variable-Query"
+ },
"refresh": 2,
"regex": "",
+ "skipUrlSync": false,
"sort": 1,
"tagValuesQuery": "",
"tags": [],
@@ -3165,17 +6438,29 @@
},
{
"allValue": null,
- "current": {},
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
"datasource": "${DS_TEST-CLUSTER}",
+ "definition": "",
+ "description": null,
+ "error": null,
"hide": 2,
"includeAll": false,
"label": "tidb_cluster",
"multi": false,
"name": "tidb_cluster",
"options": [],
- "query": "label_values(pd_cluster_status{k8s_cluster=\"$k8s_cluster\"}, tidb_cluster)",
+ "query": {
+ "query": "label_values(pd_cluster_status{k8s_cluster=\"$k8s_cluster\"}, tidb_cluster)",
+ "refId": "${DS_TEST-CLUSTER}-tidb_cluster-Variable-Query"
+ },
"refresh": 2,
"regex": "",
+ "skipUrlSync": false,
"sort": 1,
"tagValuesQuery": "",
"tags": [],
diff --git a/metrics/grafana/tidb.json b/metrics/grafana/tidb.json
index bd686ffd05c92..25042b63a8bab 100644
--- a/metrics/grafana/tidb.json
+++ b/metrics/grafana/tidb.json
@@ -14337,6 +14337,235 @@
"align": false,
"alignLevel": null
}
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 184
+ },
+ "hiddenSeries": false,
+ "id": 236,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.5.11",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tidb_plan_replayer_task{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\", type=~\"dump\"}[1m])) by (result)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "dump-task-{{result}}",
+ "refId": "A",
+ "step": 30
+ },
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tidb_plan_replayer_task{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\", type=~\"capture\"}[1m])) by (result)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "capture-task-{{result}}",
+ "refId": "B",
+ "step": 30
+ },
+ {
+ "exemplar": true,
+ "expr": "avg(tidb_plan_replayer_register_task{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\"})",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "register-task",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Plan Replayer Task OPM",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 184
+ },
+ "hiddenSeries": false,
+ "id": 237,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.5.11",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tidb_statistics_historical_stats{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\", type=~\"generate\"}[1m])) by (result)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "generate-{{result}}",
+ "refId": "A",
+ "step": 30
+ },
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tidb_statistics_historical_stats{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\", type=~\"dump\"}[1m])) by (result)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "dump-{{result}}",
+ "refId": "B",
+ "step": 30
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Historical Stats OPM",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
}
],
"repeat": null,
@@ -16985,6 +17214,1051 @@
],
"title": "SourceSQL",
"type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 75
+ },
+ "id": 274,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The query count per second for each type of query in TTL jobs",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 76
+ },
+ "hiddenSeries": false,
+ "id": 279,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.5.10",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "delete ok",
+ "color": "#73BF69"
+ },
+ {
+ "alias": "select ok",
+ "color": "#5794F2"
+ },
+ {
+ "alias": "delete error",
+ "color": "#F2495C"
+ },
+ {
+ "alias": "select error",
+ "color": "#FF7383"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tidb_server_ttl_query_duration_count{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\"}[1m])) by (sql_type, result)",
+ "interval": "",
+ "legendFormat": "{{sql_type}} {{result}}",
+ "queryType": "randomWalk",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "TTL QPS By Type",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The processed rows per second by TTL jobs",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 76
+ },
+ "hiddenSeries": false,
+ "id": 287,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.5.10",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "delete error",
+ "color": "#F2495C"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tidb_server_ttl_processed_expired_rows{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\"}[1m])) by (sql_type, result)",
+ "interval": "",
+ "legendFormat": "{{sql_type}} {{result}}",
+ "queryType": "randomWalk",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "TTL Processed Rows Per Second",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The duration of the TTL scan queries",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 84
+ },
+ "hiddenSeries": false,
+ "id": 284,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.5.10",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(0.50, sum(rate(tidb_server_ttl_query_duration_bucket{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\", sql_type=\"select\", result=\"ok\"}[1m])) by (le))",
+ "interval": "",
+ "legendFormat": "50",
+ "queryType": "randomWalk",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(0.80, sum(rate(tidb_server_ttl_query_duration_bucket{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\", sql_type=\"select\", result=\"ok\"}[1m])) by (le))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "80",
+ "refId": "B"
+ },
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(0.90, sum(rate(tidb_server_ttl_query_duration_bucket{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\", sql_type=\"select\", result=\"ok\"}[1m])) by (le))\n",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "90",
+ "refId": "C"
+ },
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(0.99, sum(rate(tidb_server_ttl_query_duration_bucket{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\", sql_type=\"select\", result=\"ok\"}[1m])) by (le))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "99",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "TTL Scan Query Duration",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The duration of the TTL delete queries",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 84
+ },
+ "hiddenSeries": false,
+ "id": 285,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.5.10",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(0.50, sum(rate(tidb_server_ttl_query_duration_bucket{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\", sql_type=\"delete\", result=\"ok\"}[1m])) by (le))",
+ "interval": "",
+ "legendFormat": "50",
+ "queryType": "randomWalk",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(0.80, sum(rate(tidb_server_ttl_query_duration_bucket{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\", sql_type=\"delete\", result=\"ok\"}[1m])) by (le))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "80",
+ "refId": "B"
+ },
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(0.90, sum(rate(tidb_server_ttl_query_duration_bucket{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\", sql_type=\"delete\", result=\"ok\"}[1m])) by (le))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "90",
+ "refId": "C"
+ },
+ {
+ "exemplar": true,
+ "expr": "histogram_quantile(0.99, sum(rate(tidb_server_ttl_query_duration_bucket{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\", sql_type=\"delete\", result=\"ok\"}[1m])) by (le))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "99",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "TTL Delete Query Duration",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The time spent on each phase for scan workers",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 92
+ },
+ "hiddenSeries": false,
+ "id": 276,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": false,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.5.10",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "idle",
+ "color": "#73BF69"
+ },
+ {
+ "alias": "query",
+ "color": "#FADE2A"
+ },
+ {
+ "alias": "begin_txn",
+ "color": "#FFA6B0"
+ },
+ {
+ "alias": "commit_txn",
+ "color": "#FF7383"
+ },
+ {
+ "alias": "wait_retry",
+ "color": "#FF9830"
+ },
+ {
+ "alias": "check_ttl",
+ "color": "#C4162A"
+ },
+ {
+ "alias": "dispatch",
+ "color": "#8F3BB8"
+ },
+ {
+ "alias": "wait_token",
+ "color": "#8AB8FF"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tidb_server_ttl_phase_time{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\", type=\"scan_worker\"}[1m])) by (phase)",
+ "interval": "",
+ "legendFormat": "{{phase}}",
+ "queryType": "randomWalk",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Scan Worker Time By Phase",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The time spent on each phase for delete workers",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 92
+ },
+ "hiddenSeries": false,
+ "id": 282,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": false,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.5.10",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "idle",
+ "color": "#73BF69"
+ },
+ {
+ "alias": "query",
+ "color": "#FADE2A"
+ },
+ {
+ "alias": "begin_txn",
+ "color": "#FFA6B0"
+ },
+ {
+ "alias": "commit_txn",
+ "color": "#FF7383"
+ },
+ {
+ "alias": "wait_retry",
+ "color": "#FF9830"
+ },
+ {
+ "alias": "check_ttl",
+ "color": "#C4162A"
+ },
+ {
+ "alias": "dispatch",
+ "color": "#8F3BB8"
+ },
+ {
+ "alias": "wait_token",
+ "color": "#8AB8FF"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(rate(tidb_server_ttl_phase_time{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\", type=\"delete_worker\"}[1m])) by (phase)\n",
+ "interval": "",
+ "legendFormat": "{{phase}}",
+ "queryType": "randomWalk",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Delete Worker Time By Phase",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "The TTL job statuses in each worker",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 100
+ },
+ "hiddenSeries": false,
+ "id": 281,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.5.10",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "running",
+ "color": "#5794F2"
+ },
+ {
+ "alias": "cancelling",
+ "color": "#F2495C"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(tidb_server_ttl_job_status{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\"}) by (type, instance)",
+ "interval": "",
+ "legendFormat": "{{ instance }} {{ type }}",
+ "queryType": "randomWalk",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "TTL Job Count By Status",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "title": "TTL",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 19
+ },
+ "id": 291,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "hiddenSeries": false,
+ "id": 289,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.5.11",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "tidb_server_gogc{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "queryType": "randomWalk",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "GOGC",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${DS_TEST-CLUSTER}",
+ "description": "exponential moving average of CPU Usage",
+ "fieldConfig": {
+ "defaults": {},
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "hiddenSeries": false,
+ "id": 293,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.5.11",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "tidb_rm_ema_cpu_usage{k8s_cluster=\"$k8s_cluster\", tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "queryType": "randomWalk",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "EMA CPU Usage",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "title": "Resource Manager",
+ "type": "row"
}
],
"refresh": "30s",
diff --git a/metrics/log_backup.go b/metrics/log_backup.go
index 6c706b8027a79..767fe2e251d8a 100644
--- a/metrics/log_backup.go
+++ b/metrics/log_backup.go
@@ -60,4 +60,10 @@ var (
Name: "region_request_failure",
Help: "The failure reasons of requesting region checkpoints.",
}, []string{"reason"})
+ RegionCheckpointSubscriptionEvent = prometheus.NewCounterVec(prometheus.CounterOpts{
+ Namespace: "tidb",
+ Subsystem: "log_backup",
+ Name: "region_checkpoint_event",
+ Help: "The region flush event count.",
+ }, []string{"store"})
)
diff --git a/metrics/meta.go b/metrics/meta.go
index 519ba6a0924a1..af967fe48a3bb 100644
--- a/metrics/meta.go
+++ b/metrics/meta.go
@@ -34,8 +34,6 @@ var (
GetSchemaDiff = "get_schema_diff"
SetSchemaDiff = "set_schema_diff"
- GetDDLJobByIdx = "get_ddl_job"
- UpdateDDLJob = "update_ddl_job"
GetHistoryDDLJob = "get_history_ddl_job"
MetaHistogram = prometheus.NewHistogramVec(
diff --git a/metrics/metrics.go b/metrics/metrics.go
index a843e794cff1b..889f4c5996481 100644
--- a/metrics/metrics.go
+++ b/metrics/metrics.go
@@ -124,7 +124,6 @@ func RegisterMetrics() {
prometheus.MustRegister(SyncLoadHistogram)
prometheus.MustRegister(ReadStatsHistogram)
prometheus.MustRegister(JobsGauge)
- prometheus.MustRegister(KeepAliveCounter)
prometheus.MustRegister(LoadPrivilegeCounter)
prometheus.MustRegister(InfoCacheCounters)
prometheus.MustRegister(LoadSchemaCounter)
@@ -182,6 +181,7 @@ func RegisterMetrics() {
prometheus.MustRegister(TokenGauge)
prometheus.MustRegister(ConfigStatus)
prometheus.MustRegister(TiFlashQueryTotalCounter)
+ prometheus.MustRegister(TiFlashFailedMPPStoreState)
prometheus.MustRegister(SmallTxnWriteDuration)
prometheus.MustRegister(TxnWriteThroughput)
prometheus.MustRegister(LoadSysVarCacheCounter)
@@ -207,8 +207,20 @@ func RegisterMetrics() {
prometheus.MustRegister(RegionCheckpointRequest)
prometheus.MustRegister(RegionCheckpointFailure)
prometheus.MustRegister(AutoIDReqDuration)
+ prometheus.MustRegister(RegionCheckpointSubscriptionEvent)
prometheus.MustRegister(RCCheckTSWriteConfilictCounter)
+ prometheus.MustRegister(TTLQueryDuration)
+ prometheus.MustRegister(TTLProcessedExpiredRowsCounter)
+ prometheus.MustRegister(TTLJobStatus)
+ prometheus.MustRegister(TTLPhaseTime)
+
+ prometheus.MustRegister(EMACPUUsageGauge)
+
+ prometheus.MustRegister(HistoricalStatsCounter)
+ prometheus.MustRegister(PlanReplayerTaskCounter)
+ prometheus.MustRegister(PlanReplayerRegisterTaskGauge)
+
tikvmetrics.InitMetrics(TiDB, TiKVClient)
tikvmetrics.RegisterMetrics()
tikvmetrics.TiKVPanicCounter = PanicCounter // reset tidb metrics for tikv metrics
@@ -230,6 +242,7 @@ func ToggleSimplifiedMode(simplified bool) {
InfoCacheCounters,
ReadFromTableCacheCounter,
TiFlashQueryTotalCounter,
+ TiFlashFailedMPPStoreState,
CampaignOwnerCounter,
NonTransactionalDMLCount,
MemoryUsage,
diff --git a/metrics/resourcemanager.go b/metrics/resourcemanager.go
new file mode 100644
index 0000000000000..d45b8833e1225
--- /dev/null
+++ b/metrics/resourcemanager.go
@@ -0,0 +1,27 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package metrics
+
+import "github.com/prometheus/client_golang/prometheus"
+
+var (
+ // EMACPUUsageGauge means exponential moving average of CPU usage
+ EMACPUUsageGauge = prometheus.NewGauge(prometheus.GaugeOpts{
+ Namespace: "tidb",
+ Subsystem: "rm",
+ Name: "ema_cpu_usage",
+ Help: "exponential moving average of CPU usage",
+ })
+)
diff --git a/metrics/server.go b/metrics/server.go
index 116b02eb122b6..830e03b28e986 100644
--- a/metrics/server.go
+++ b/metrics/server.go
@@ -120,14 +120,6 @@ var (
Help: "Counter of system time jumps backward.",
})
- KeepAliveCounter = prometheus.NewCounter(
- prometheus.CounterOpts{
- Namespace: "tidb",
- Subsystem: "monitor",
- Name: "keep_alive_total",
- Help: "Counter of TiDB keep alive.",
- })
-
PlanCacheCounter = prometheus.NewCounterVec(
prometheus.CounterOpts{
Namespace: "tidb",
@@ -279,6 +271,14 @@ var (
Help: "Counter of TiFlash queries.",
}, []string{LblType, LblResult})
+ TiFlashFailedMPPStoreState = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Namespace: "tidb",
+ Subsystem: "server",
+ Name: "tiflash_failed_store",
+ Help: "Statues of failed tiflash mpp store,-1 means detector heartbeat,0 means reachable,1 means abnormal.",
+ }, []string{LblAddress})
+
PDAPIExecutionHistogram = prometheus.NewHistogramVec(
prometheus.HistogramOpts{
Namespace: "tidb",
diff --git a/metrics/stats.go b/metrics/stats.go
index 76bd1ec7a936b..5d73753f5669c 100644
--- a/metrics/stats.go
+++ b/metrics/stats.go
@@ -150,4 +150,25 @@ var (
Name: "stats_healthy",
Help: "Gauge of stats healthy",
}, []string{LblType})
+
+ HistoricalStatsCounter = prometheus.NewCounterVec(prometheus.CounterOpts{
+ Namespace: "tidb",
+ Subsystem: "statistics",
+ Name: "historical_stats",
+ Help: "counter of the historical stats operation",
+ }, []string{LblType, LblResult})
+
+ PlanReplayerTaskCounter = prometheus.NewCounterVec(prometheus.CounterOpts{
+ Namespace: "tidb",
+ Subsystem: "plan_replayer",
+ Name: "task",
+ Help: "counter of plan replayer captured task",
+ }, []string{LblType, LblResult})
+
+ PlanReplayerRegisterTaskGauge = prometheus.NewGauge(prometheus.GaugeOpts{
+ Namespace: "tidb",
+ Subsystem: "plan_replayer",
+ Name: "register_task",
+ Help: "gauge of plan replayer registered task",
+ })
)
diff --git a/metrics/telemetry.go b/metrics/telemetry.go
index e7629bcd76f6a..591823f9952d9 100644
--- a/metrics/telemetry.go
+++ b/metrics/telemetry.go
@@ -155,6 +155,20 @@ var (
Name: "flashback_cluster_usage",
Help: "Counter of usage of flashback cluster",
})
+ TelemetryIndexMergeUsage = prometheus.NewCounter(
+ prometheus.CounterOpts{
+ Namespace: "tidb",
+ Subsystem: "telemetry",
+ Name: "index_merge_usage",
+ Help: "Counter of usage of index merge",
+ })
+ TelemetryCompactPartitionCnt = prometheus.NewCounter(
+ prometheus.CounterOpts{
+ Namespace: "tidb",
+ Subsystem: "telemetry",
+ Name: "compact_partition_usage",
+ Help: "Counter of compact table partition",
+ })
)
// readCounter reads the value of a prometheus.Counter.
@@ -254,6 +268,7 @@ type TablePartitionUsageCounter struct {
TablePartitionCreateIntervalPartitionsCnt int64 `json:"table_partition_create_interval_partitions_cnt"`
TablePartitionAddIntervalPartitionsCnt int64 `json:"table_partition_add_interval_partitions_cnt"`
TablePartitionDropIntervalPartitionsCnt int64 `json:"table_partition_drop_interval_partitions_cnt"`
+ TablePartitionComactCnt int64 `json:"table_TablePartitionComactCnt"`
}
// ExchangePartitionUsageCounter records the usages of exchange partition.
@@ -291,6 +306,7 @@ func (c TablePartitionUsageCounter) Cal(rhs TablePartitionUsageCounter) TablePar
TablePartitionCreateIntervalPartitionsCnt: c.TablePartitionCreateIntervalPartitionsCnt - rhs.TablePartitionCreateIntervalPartitionsCnt,
TablePartitionAddIntervalPartitionsCnt: c.TablePartitionAddIntervalPartitionsCnt - rhs.TablePartitionAddIntervalPartitionsCnt,
TablePartitionDropIntervalPartitionsCnt: c.TablePartitionDropIntervalPartitionsCnt - rhs.TablePartitionDropIntervalPartitionsCnt,
+ TablePartitionComactCnt: c.TablePartitionComactCnt - rhs.TablePartitionComactCnt,
}
}
@@ -326,12 +342,14 @@ func GetTablePartitionCounter() TablePartitionUsageCounter {
TablePartitionCreateIntervalPartitionsCnt: readCounter(TelemetryTablePartitionCreateIntervalPartitionsCnt),
TablePartitionAddIntervalPartitionsCnt: readCounter(TelemetryTablePartitionAddIntervalPartitionsCnt),
TablePartitionDropIntervalPartitionsCnt: readCounter(TelemetryTablePartitionDropIntervalPartitionsCnt),
+ TablePartitionComactCnt: readCounter(TelemetryCompactPartitionCnt),
}
}
// NonTransactionalStmtCounter records the usages of non-transactional statements.
type NonTransactionalStmtCounter struct {
DeleteCount int64 `json:"delete"`
+ UpdateCount int64 `json:"update"`
InsertCount int64 `json:"insert"`
}
@@ -339,6 +357,7 @@ type NonTransactionalStmtCounter struct {
func (n NonTransactionalStmtCounter) Sub(rhs NonTransactionalStmtCounter) NonTransactionalStmtCounter {
return NonTransactionalStmtCounter{
DeleteCount: n.DeleteCount - rhs.DeleteCount,
+ UpdateCount: n.UpdateCount - rhs.UpdateCount,
InsertCount: n.InsertCount - rhs.InsertCount,
}
}
@@ -347,6 +366,7 @@ func (n NonTransactionalStmtCounter) Sub(rhs NonTransactionalStmtCounter) NonTra
func GetNonTransactionalStmtCounter() NonTransactionalStmtCounter {
return NonTransactionalStmtCounter{
DeleteCount: readCounter(NonTransactionalDMLCount.With(prometheus.Labels{LblType: "delete"})),
+ UpdateCount: readCounter(NonTransactionalDMLCount.With(prometheus.Labels{LblType: "update"})),
InsertCount: readCounter(NonTransactionalDMLCount.With(prometheus.Labels{LblType: "insert"})),
}
}
@@ -383,3 +403,22 @@ func GetDDLUsageCounter() DDLUsageCounter {
FlashbackClusterUsed: readCounter(TelemetryFlashbackClusterCnt),
}
}
+
+// IndexMergeUsageCounter records the usages of IndexMerge feature.
+type IndexMergeUsageCounter struct {
+ IndexMergeUsed int64 `json:"index_merge_used"`
+}
+
+// Sub returns the difference of two counters.
+func (i IndexMergeUsageCounter) Sub(rhs IndexMergeUsageCounter) IndexMergeUsageCounter {
+ return IndexMergeUsageCounter{
+ IndexMergeUsed: i.IndexMergeUsed - rhs.IndexMergeUsed,
+ }
+}
+
+// GetIndexMergeCounter gets the IndexMerge usage counter.
+func GetIndexMergeCounter() IndexMergeUsageCounter {
+ return IndexMergeUsageCounter{
+ IndexMergeUsed: readCounter(TelemetryIndexMergeUsage),
+ }
+}
diff --git a/metrics/ttl.go b/metrics/ttl.go
new file mode 100644
index 0000000000000..ab7e47e615e28
--- /dev/null
+++ b/metrics/ttl.go
@@ -0,0 +1,53 @@
+// Copyright 2022 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package metrics
+
+import "github.com/prometheus/client_golang/prometheus"
+
+// TTL metrics
+var (
+ TTLQueryDuration = prometheus.NewHistogramVec(
+ prometheus.HistogramOpts{
+ Namespace: "tidb",
+ Subsystem: "server",
+ Name: "ttl_query_duration",
+ Help: "Bucketed histogram of processing time (s) of handled TTL queries.",
+ Buckets: prometheus.ExponentialBuckets(0.01, 2, 20), // 10ms ~ 1.45hour
+ }, []string{LblSQLType, LblResult})
+
+ TTLProcessedExpiredRowsCounter = prometheus.NewCounterVec(
+ prometheus.CounterOpts{
+ Namespace: "tidb",
+ Subsystem: "server",
+ Name: "ttl_processed_expired_rows",
+ Help: "The count of expired rows processed in TTL jobs",
+ }, []string{LblSQLType, LblResult})
+
+ TTLJobStatus = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Namespace: "tidb",
+ Subsystem: "server",
+ Name: "ttl_job_status",
+ Help: "The jobs count in the specified status",
+ }, []string{LblType})
+
+ TTLPhaseTime = prometheus.NewCounterVec(
+ prometheus.CounterOpts{
+ Namespace: "tidb",
+ Subsystem: "server",
+ Name: "ttl_phase_time",
+ Help: "The time spent in each phase",
+ }, []string{LblType, LblPhase})
+)
diff --git a/parser/BUILD.bazel b/parser/BUILD.bazel
index f52b1fc9ac4f3..ec67a5c141849 100644
--- a/parser/BUILD.bazel
+++ b/parser/BUILD.bazel
@@ -17,6 +17,7 @@ go_library(
"//parser/ast",
"//parser/auth",
"//parser/charset",
+ "//parser/duration",
"//parser/model",
"//parser/mysql",
"//parser/opcode",
diff --git a/parser/ast/ddl.go b/parser/ast/ddl.go
index 9b7042e573cc1..c2649b8f3fb6f 100644
--- a/parser/ast/ddl.go
+++ b/parser/ast/ddl.go
@@ -28,18 +28,21 @@ var (
_ DDLNode = &AlterTableStmt{}
_ DDLNode = &AlterSequenceStmt{}
_ DDLNode = &AlterPlacementPolicyStmt{}
+ _ DDLNode = &AlterResourceGroupStmt{}
_ DDLNode = &CreateDatabaseStmt{}
_ DDLNode = &CreateIndexStmt{}
_ DDLNode = &CreateTableStmt{}
_ DDLNode = &CreateViewStmt{}
_ DDLNode = &CreateSequenceStmt{}
_ DDLNode = &CreatePlacementPolicyStmt{}
+ _ DDLNode = &CreateResourceGroupStmt{}
_ DDLNode = &DropDatabaseStmt{}
_ DDLNode = &FlashBackDatabaseStmt{}
_ DDLNode = &DropIndexStmt{}
_ DDLNode = &DropTableStmt{}
_ DDLNode = &DropSequenceStmt{}
_ DDLNode = &DropPlacementPolicyStmt{}
+ _ DDLNode = &DropResourceGroupStmt{}
_ DDLNode = &RenameTableStmt{}
_ DDLNode = &TruncateTableStmt{}
_ DDLNode = &RepairTableStmt{}
@@ -1093,7 +1096,8 @@ func (n *CreateTableStmt) Restore(ctx *format.RestoreCtx) error {
ctx.WritePlain(")")
}
- for i, option := range n.Options {
+ options := tableOptionsWithRestoreTTLFlag(ctx.Flags, n.Options)
+ for i, option := range options {
ctx.WritePlain(" ")
if err := option.Restore(ctx); err != nil {
return errors.Annotatef(err, "An error occurred while splicing CreateTableStmt TableOption: [%v]", i)
@@ -1180,6 +1184,13 @@ func (n *CreateTableStmt) Accept(v Visitor) (Node, bool) {
}
n.Partition = node.(*PartitionOptions)
}
+ for i, option := range n.Options {
+ node, ok = option.Accept(v)
+ if !ok {
+ return n, false
+ }
+ n.Options[i] = node.(*TableOption)
+ }
return v.Leave(n)
}
@@ -1273,6 +1284,32 @@ func (n *DropPlacementPolicyStmt) Accept(v Visitor) (Node, bool) {
return v.Leave(n)
}
+type DropResourceGroupStmt struct {
+ ddlNode
+
+ IfExists bool
+ ResourceGroupName model.CIStr
+}
+
+// Restore implements Restore interface.
+func (n *DropResourceGroupStmt) Restore(ctx *format.RestoreCtx) error {
+ ctx.WriteKeyWord("DROP RESOURCE GROUP ")
+ if n.IfExists {
+ ctx.WriteKeyWord("IF EXISTS ")
+ }
+ ctx.WriteName(n.ResourceGroupName.O)
+ return nil
+}
+
+func (n *DropResourceGroupStmt) Accept(v Visitor) (Node, bool) {
+ newNode, skipChildren := v.Enter(n)
+ if skipChildren {
+ return v.Leave(newNode)
+ }
+ n = newNode.(*DropResourceGroupStmt)
+ return v.Leave(n)
+}
+
// DropSequenceStmt is a statement to drop a Sequence.
type DropSequenceStmt struct {
ddlNode
@@ -1533,6 +1570,43 @@ func (n *CreatePlacementPolicyStmt) Accept(v Visitor) (Node, bool) {
return v.Leave(n)
}
+// CreateResourceGroupStmt is a statement to create a policy.
+type CreateResourceGroupStmt struct {
+ ddlNode
+
+ IfNotExists bool
+ ResourceGroupName model.CIStr
+ ResourceGroupOptionList []*ResourceGroupOption
+}
+
+// Restore implements Node interface.
+func (n *CreateResourceGroupStmt) Restore(ctx *format.RestoreCtx) error {
+ ctx.WriteKeyWord("CREATE ")
+
+ ctx.WriteKeyWord("RESOURCE GROUP ")
+ if n.IfNotExists {
+ ctx.WriteKeyWord("IF NOT EXISTS ")
+ }
+ ctx.WriteName(n.ResourceGroupName.O)
+ for i, option := range n.ResourceGroupOptionList {
+ ctx.WritePlain(" ")
+ if err := option.Restore(ctx); err != nil {
+ return errors.Annotatef(err, "An error occurred while splicing CreatePlacementPolicy TableOption: [%v]", i)
+ }
+ }
+ return nil
+}
+
+// Accept implements Node Accept interface.
+func (n *CreateResourceGroupStmt) Accept(v Visitor) (Node, bool) {
+ newNode, skipChildren := v.Enter(n)
+ if skipChildren {
+ return v.Leave(newNode)
+ }
+ n = newNode.(*CreateResourceGroupStmt)
+ return v.Leave(n)
+}
+
// CreateSequenceStmt is a statement to create a Sequence.
type CreateSequenceStmt struct {
ddlNode
@@ -2024,6 +2098,59 @@ func (n *PlacementOption) Restore(ctx *format.RestoreCtx) error {
return ctx.WriteWithSpecialComments(tidb.FeatureIDPlacement, fn)
}
+// ResourceGroupOption is used for parsing resource group option.
+type ResourceGroupOption struct {
+ Tp ResourceUnitType
+ StrValue string
+ UintValue uint64
+}
+
+type ResourceUnitType int
+
+const (
+ ResourceRRURate ResourceUnitType = iota
+ ResourceWRURate
+ // Native mode
+ ResourceUnitCPU
+ ResourceUnitIOReadBandwidth
+ ResourceUnitIOWriteBandwidth
+)
+
+func (n *ResourceGroupOption) Restore(ctx *format.RestoreCtx) error {
+ if ctx.Flags.HasSkipPlacementRuleForRestoreFlag() {
+ return nil
+ }
+ fn := func() error {
+ switch n.Tp {
+ case ResourceRRURate:
+ ctx.WriteKeyWord("RRU_PER_SEC ")
+ ctx.WritePlain("= ")
+ ctx.WritePlainf("%d", n.UintValue)
+ case ResourceWRURate:
+ ctx.WriteKeyWord("WRU_PER_SEC ")
+ ctx.WritePlain("= ")
+ ctx.WritePlainf("%d", n.UintValue)
+ case ResourceUnitCPU:
+ ctx.WriteKeyWord("CPU ")
+ ctx.WritePlain("= ")
+ ctx.WriteString(n.StrValue)
+ case ResourceUnitIOReadBandwidth:
+ ctx.WriteKeyWord("IO_READ_BANDWIDTH ")
+ ctx.WritePlain("= ")
+ ctx.WriteString(n.StrValue)
+ case ResourceUnitIOWriteBandwidth:
+ ctx.WriteKeyWord("IO_WRITE_BANDWIDTH ")
+ ctx.WritePlain("= ")
+ ctx.WriteString(n.StrValue)
+ default:
+ return errors.Errorf("invalid PlacementOption: %d", n.Tp)
+ }
+ return nil
+ }
+ // WriteSpecialComment
+ return ctx.WriteWithSpecialComments(tidb.FeatureIDResourceGroup, fn)
+}
+
type StatsOptionType int
const (
@@ -2074,6 +2201,9 @@ const (
TableOptionTableCheckSum
TableOptionUnion
TableOptionEncryption
+ TableOptionTTL
+ TableOptionTTLEnable
+ TableOptionTTLJobInterval
TableOptionPlacementPolicy = TableOptionType(PlacementOptionPolicy)
TableOptionStatsBuckets = TableOptionType(StatsOptionBuckets)
TableOptionStatsTopN = TableOptionType(StatsOptionTopN)
@@ -2120,13 +2250,16 @@ const (
// TableOption is used for parsing table option from SQL.
type TableOption struct {
- Tp TableOptionType
- Default bool
- StrValue string
- UintValue uint64
- BoolValue bool
- Value ValueExpr
- TableNames []*TableName
+ node
+ Tp TableOptionType
+ Default bool
+ StrValue string
+ UintValue uint64
+ BoolValue bool
+ TimeUnitValue *TimeUnitExpr
+ Value ValueExpr
+ TableNames []*TableName
+ ColumnName *ColumnName
}
func (n *TableOption) Restore(ctx *format.RestoreCtx) error {
@@ -2405,12 +2538,67 @@ func (n *TableOption) Restore(ctx *format.RestoreCtx) error {
} else {
ctx.WriteString(n.StrValue)
}
+ case TableOptionTTL:
+ _ = ctx.WriteWithSpecialComments(tidb.FeatureIDTTL, func() error {
+ ctx.WriteKeyWord("TTL ")
+ ctx.WritePlain("= ")
+ ctx.WriteName(n.ColumnName.Name.String())
+ ctx.WritePlain(" + INTERVAL ")
+ err := n.Value.Restore(ctx)
+ ctx.WritePlain(" ")
+ if err != nil {
+ return err
+ }
+ return n.TimeUnitValue.Restore(ctx)
+ })
+ case TableOptionTTLEnable:
+ _ = ctx.WriteWithSpecialComments(tidb.FeatureIDTTL, func() error {
+ ctx.WriteKeyWord("TTL_ENABLE ")
+ ctx.WritePlain("= ")
+ if n.BoolValue {
+ ctx.WriteString("ON")
+ } else {
+ ctx.WriteString("OFF")
+ }
+ return nil
+ })
+ case TableOptionTTLJobInterval:
+ _ = ctx.WriteWithSpecialComments(tidb.FeatureIDTTL, func() error {
+ ctx.WriteKeyWord("TTL_JOB_INTERVAL ")
+ ctx.WritePlain("= ")
+ ctx.WriteString(n.StrValue)
+ return nil
+ })
default:
return errors.Errorf("invalid TableOption: %d", n.Tp)
}
return nil
}
+// Accept implements Node Accept interface.
+func (n *TableOption) Accept(v Visitor) (Node, bool) {
+ newNode, skipChildren := v.Enter(n)
+ if skipChildren {
+ return v.Leave(newNode)
+ }
+ n = newNode.(*TableOption)
+ if n.Value != nil {
+ node, ok := n.Value.Accept(v)
+ if !ok {
+ return n, false
+ }
+ n.Value = node.(ValueExpr)
+ }
+ if n.TimeUnitValue != nil {
+ node, ok := n.TimeUnitValue.Accept(v)
+ if !ok {
+ return n, false
+ }
+ n.TimeUnitValue = node.(*TimeUnitExpr)
+ }
+ return v.Leave(n)
+}
+
// SequenceOptionType is the type for SequenceOption
type SequenceOptionType int
@@ -2599,6 +2787,7 @@ const (
AlterTableAddLastPartition
AlterTableReorganizeLastPartition
AlterTableReorganizeFirstPartition
+ AlterTableRemoveTTL
)
// LockType is the type for AlterTableSpec.
@@ -3280,7 +3469,11 @@ func (n *AlterTableSpec) Restore(ctx *format.RestoreCtx) error {
if err := spec.Restore(ctx); err != nil {
return errors.Annotatef(err, "An error occurred while restore AlterTableSpec.StatsOptionsSpec")
}
-
+ case AlterTableRemoveTTL:
+ _ = ctx.WriteWithSpecialComments(tidb.FeatureIDTTL, func() error {
+ ctx.WriteKeyWord("REMOVE TTL")
+ return nil
+ })
default:
// TODO: not support
ctx.WritePlainf(" /* AlterTableType(%d) is not supported */ ", n.Tp)
@@ -3344,6 +3537,13 @@ func (n *AlterTableSpec) Accept(v Visitor) (Node, bool) {
}
n.Partition = node.(*PartitionOptions)
}
+ for i, option := range n.Options {
+ node, ok := option.Accept(v)
+ if !ok {
+ return n, false
+ }
+ n.Options[i] = node.(*TableOption)
+ }
for _, def := range n.PartDefinitions {
if !def.acceptInPlace(v) {
return n, false
@@ -3382,11 +3582,21 @@ func (n *AlterTableStmt) Restore(ctx *format.RestoreCtx) error {
if err := n.Table.Restore(ctx); err != nil {
return errors.Annotate(err, "An error occurred while restore AlterTableStmt.Table")
}
- var specs []*AlterTableSpec
+ specs := make([]*AlterTableSpec, 0, len(n.Specs))
for _, spec := range n.Specs {
- if !(spec.IsAllPlacementRule() && ctx.Flags.HasSkipPlacementRuleForRestoreFlag()) {
- specs = append(specs, spec)
+ if spec.IsAllPlacementRule() && ctx.Flags.HasSkipPlacementRuleForRestoreFlag() {
+ continue
+ }
+ if spec.Tp == AlterTableOption {
+ newOptions := tableOptionsWithRestoreTTLFlag(ctx.Flags, spec.Options)
+ if len(newOptions) == 0 {
+ continue
+ }
+ newSpec := *spec
+ newSpec.Options = newOptions
+ spec = &newSpec
}
+ specs = append(specs, spec)
}
for i, spec := range specs {
if i == 0 || spec.Tp == AlterTablePartition || spec.Tp == AlterTableRemovePartitioning || spec.Tp == AlterTableImportTablespace || spec.Tp == AlterTableDiscardTablespace {
@@ -4232,6 +4442,39 @@ func (n *AlterPlacementPolicyStmt) Accept(v Visitor) (Node, bool) {
return v.Leave(n)
}
+// AlterResourceGroupStmt is a statement to alter placement policy option.
+type AlterResourceGroupStmt struct {
+ ddlNode
+
+ ResourceGroupName model.CIStr
+ IfExists bool
+ ResourceGroupOptionList []*ResourceGroupOption
+}
+
+func (n *AlterResourceGroupStmt) Restore(ctx *format.RestoreCtx) error {
+ ctx.WriteKeyWord("ALTER RESOURCE GROUP ")
+ if n.IfExists {
+ ctx.WriteKeyWord("IF EXISTS ")
+ }
+ ctx.WriteName(n.ResourceGroupName.O)
+ for i, option := range n.ResourceGroupOptionList {
+ ctx.WritePlain(" ")
+ if err := option.Restore(ctx); err != nil {
+ return errors.Annotatef(err, "An error occurred while splicing AlterResourceStmt Options: [%v]", i)
+ }
+ }
+ return nil
+}
+
+func (n *AlterResourceGroupStmt) Accept(v Visitor) (Node, bool) {
+ newNode, skipChildren := v.Enter(n)
+ if skipChildren {
+ return v.Leave(newNode)
+ }
+ n = newNode.(*AlterResourceGroupStmt)
+ return v.Leave(n)
+}
+
// AlterSequenceStmt is a statement to alter sequence option.
type AlterSequenceStmt struct {
ddlNode
@@ -4286,3 +4529,25 @@ func restorePlacementStmtInSpecialComment(ctx *format.RestoreCtx, n DDLNode) err
return n.Restore(ctx)
})
}
+
+func tableOptionsWithRestoreTTLFlag(flags format.RestoreFlags, options []*TableOption) []*TableOption {
+ if !flags.HasRestoreWithTTLEnableOff() {
+ return options
+ }
+
+ newOptions := make([]*TableOption, 0, len(options))
+ for _, opt := range options {
+ if opt.Tp == TableOptionTTLEnable {
+ continue
+ }
+
+ newOptions = append(newOptions, opt)
+ if opt.Tp == TableOptionTTL {
+ newOptions = append(newOptions, &TableOption{
+ Tp: TableOptionTTLEnable,
+ BoolValue: false,
+ })
+ }
+ }
+ return newOptions
+}
diff --git a/parser/ast/ddl_test.go b/parser/ast/ddl_test.go
index 3a5b1087d0bd2..dbbb212037db8 100644
--- a/parser/ast/ddl_test.go
+++ b/parser/ast/ddl_test.go
@@ -248,6 +248,21 @@ func TestDDLColumnOptionRestore(t *testing.T) {
runNodeRestoreTest(t, testCases, "CREATE TABLE child (id INT %s)", extractNodeFunc)
}
+func TestGeneratedRestore(t *testing.T) {
+ testCases := []NodeRestoreTestCase{
+ {"generated always as(id + 1)", "GENERATED ALWAYS AS(`id`+1) VIRTUAL"},
+ {"generated always as(id + 1) virtual", "GENERATED ALWAYS AS(`id`+1) VIRTUAL"},
+ {"generated always as(id + 1) stored", "GENERATED ALWAYS AS(`id`+1) STORED"},
+ {"generated always as(lower(id)) stored", "GENERATED ALWAYS AS(LOWER(`id`)) STORED"},
+ {"generated always as(lower(child.id)) stored", "GENERATED ALWAYS AS(LOWER(`id`)) STORED"},
+ }
+ extractNodeFunc := func(node Node) Node {
+ return node.(*CreateTableStmt).Cols[0].Options[0]
+ }
+ runNodeRestoreTestWithFlagsStmtChange(t, testCases, "CREATE TABLE child (id INT %s)", extractNodeFunc,
+ format.DefaultRestoreFlags|format.RestoreWithoutSchemaName|format.RestoreWithoutTableName)
+}
+
func TestDDLColumnDefRestore(t *testing.T) {
testCases := []NodeRestoreTestCase{
// for type
@@ -840,3 +855,66 @@ func TestFlashBackDatabaseRestore(t *testing.T) {
}
runNodeRestoreTest(t, testCases, "%s", extractNodeFunc)
}
+
+func TestTableOptionTTLRestore(t *testing.T) {
+ sourceSQL1 := "create table t (created_at datetime) ttl = created_at + INTERVAL 1 YEAR"
+ sourceSQL2 := "alter table t ttl_enable = 'OFF'"
+ sourceSQL3 := "alter table t remove ttl"
+ cases := []struct {
+ sourceSQL string
+ flags format.RestoreFlags
+ expectSQL string
+ }{
+ {sourceSQL1, format.DefaultRestoreFlags, "CREATE TABLE `t` (`created_at` DATETIME) TTL = `created_at` + INTERVAL 1 YEAR"},
+ {sourceSQL1, format.DefaultRestoreFlags | format.RestoreTiDBSpecialComment, "CREATE TABLE `t` (`created_at` DATETIME) /*T![ttl] TTL = `created_at` + INTERVAL 1 YEAR */"},
+ {sourceSQL2, format.DefaultRestoreFlags, "ALTER TABLE `t` TTL_ENABLE = 'OFF'"},
+ {sourceSQL2, format.DefaultRestoreFlags | format.RestoreTiDBSpecialComment, "ALTER TABLE `t` /*T![ttl] TTL_ENABLE = 'OFF' */"},
+ {sourceSQL3, format.DefaultRestoreFlags, "ALTER TABLE `t` REMOVE TTL"},
+ {sourceSQL3, format.DefaultRestoreFlags | format.RestoreTiDBSpecialComment, "ALTER TABLE `t` /*T![ttl] REMOVE TTL */"},
+ }
+
+ extractNodeFunc := func(node Node) Node {
+ return node
+ }
+
+ for _, ca := range cases {
+ testCases := []NodeRestoreTestCase{
+ {ca.sourceSQL, ca.expectSQL},
+ }
+ runNodeRestoreTestWithFlags(t, testCases, "%s", extractNodeFunc, ca.flags)
+ }
+}
+
+func TestTableOptionTTLRestoreWithTTLEnableOffFlag(t *testing.T) {
+ sourceSQL1 := "create table t (created_at datetime) ttl = created_at + INTERVAL 1 YEAR"
+ sourceSQL2 := "alter table t ttl_enable = 'ON'"
+ sourceSQL3 := "alter table t remove ttl"
+ sourceSQL4 := "create table t (created_at datetime) ttl = created_at + INTERVAL 1 YEAR ttl_enable = 'ON'"
+ sourceSQL5 := "alter table t ttl_enable = 'ON' placement policy p1"
+ cases := []struct {
+ sourceSQL string
+ flags format.RestoreFlags
+ expectSQL string
+ }{
+ {sourceSQL1, format.DefaultRestoreFlags | format.RestoreWithTTLEnableOff, "CREATE TABLE `t` (`created_at` DATETIME) TTL = `created_at` + INTERVAL 1 YEAR TTL_ENABLE = 'OFF'"},
+ {sourceSQL1, format.DefaultRestoreFlags | format.RestoreTiDBSpecialComment | format.RestoreWithTTLEnableOff, "CREATE TABLE `t` (`created_at` DATETIME) /*T![ttl] TTL = `created_at` + INTERVAL 1 YEAR */ /*T![ttl] TTL_ENABLE = 'OFF' */"},
+ {sourceSQL2, format.DefaultRestoreFlags | format.RestoreWithTTLEnableOff, "ALTER TABLE `t`"},
+ {sourceSQL2, format.DefaultRestoreFlags | format.RestoreTiDBSpecialComment | format.RestoreWithTTLEnableOff, "ALTER TABLE `t`"},
+ {sourceSQL3, format.DefaultRestoreFlags | format.RestoreWithTTLEnableOff, "ALTER TABLE `t` REMOVE TTL"},
+ {sourceSQL3, format.DefaultRestoreFlags | format.RestoreTiDBSpecialComment | format.RestoreWithTTLEnableOff, "ALTER TABLE `t` /*T![ttl] REMOVE TTL */"},
+ {sourceSQL4, format.DefaultRestoreFlags | format.RestoreWithTTLEnableOff, "CREATE TABLE `t` (`created_at` DATETIME) TTL = `created_at` + INTERVAL 1 YEAR TTL_ENABLE = 'OFF'"},
+ {sourceSQL4, format.DefaultRestoreFlags | format.RestoreTiDBSpecialComment | format.RestoreWithTTLEnableOff, "CREATE TABLE `t` (`created_at` DATETIME) /*T![ttl] TTL = `created_at` + INTERVAL 1 YEAR */ /*T![ttl] TTL_ENABLE = 'OFF' */"},
+ {sourceSQL5, format.DefaultRestoreFlags | format.RestoreTiDBSpecialComment | format.RestoreWithTTLEnableOff, "ALTER TABLE `t` /*T![placement] PLACEMENT POLICY = `p1` */"},
+ }
+
+ extractNodeFunc := func(node Node) Node {
+ return node
+ }
+
+ for _, ca := range cases {
+ testCases := []NodeRestoreTestCase{
+ {ca.sourceSQL, ca.expectSQL},
+ }
+ runNodeRestoreTestWithFlagsStmtChange(t, testCases, "%s", extractNodeFunc, ca.flags)
+ }
+}
diff --git a/parser/ast/dml.go b/parser/ast/dml.go
index 2712a8f7eba51..106480c67edfa 100644
--- a/parser/ast/dml.go
+++ b/parser/ast/dml.go
@@ -288,15 +288,17 @@ func (*TableName) resultSet() {}
// Restore implements Node interface.
func (n *TableName) restoreName(ctx *format.RestoreCtx) {
- // restore db name
- if n.Schema.String() != "" {
- ctx.WriteName(n.Schema.String())
- ctx.WritePlain(".")
- } else if ctx.DefaultDB != "" {
- // Try CTE, for a CTE table name, we shouldn't write the database name.
- if !ctx.IsCTETableName(n.Name.L) {
- ctx.WriteName(ctx.DefaultDB)
+ if !ctx.Flags.HasWithoutSchemaNameFlag() {
+ // restore db name
+ if n.Schema.String() != "" {
+ ctx.WriteName(n.Schema.String())
ctx.WritePlain(".")
+ } else if ctx.DefaultDB != "" {
+ // Try CTE, for a CTE table name, we shouldn't write the database name.
+ if !ctx.IsCTETableName(n.Name.L) {
+ ctx.WriteName(ctx.DefaultDB)
+ ctx.WritePlain(".")
+ }
}
}
// restore table name
@@ -356,6 +358,8 @@ const (
HintUse IndexHintType = iota + 1
HintIgnore
HintForce
+ HintKeepOrder
+ HintNoKeepOrder
)
// IndexHintScope is the type for index hint for join, order by or group by.
@@ -386,6 +390,10 @@ func (n *IndexHint) Restore(ctx *format.RestoreCtx) error {
indexHintType = "IGNORE INDEX"
case HintForce:
indexHintType = "FORCE INDEX"
+ case HintKeepOrder:
+ indexHintType = "KEEP ORDER"
+ case HintNoKeepOrder:
+ indexHintType = "NO KEEP ORDER"
default: // Prevent accidents
return errors.New("IndexHintType has an error while matching")
}
@@ -2221,8 +2229,8 @@ func (n *InsertStmt) SetWhereExpr(e ExprNode) {
s.Where = e
}
-// TableSource implements ShardableDMLStmt interface.
-func (n *InsertStmt) TableSource() (*TableSource, bool) {
+// TableRefsJoin implements ShardableDMLStmt interface.
+func (n *InsertStmt) TableRefsJoin() (*Join, bool) {
if n.Select == nil {
return nil, false
}
@@ -2230,8 +2238,7 @@ func (n *InsertStmt) TableSource() (*TableSource, bool) {
if !ok {
return nil, false
}
- table, ok := s.From.TableRefs.Left.(*TableSource)
- return table, ok
+ return s.From.TableRefs, true
}
// DeleteStmt is a statement to delete rows from table.
@@ -2410,10 +2417,9 @@ func (n *DeleteStmt) SetWhereExpr(e ExprNode) {
n.Where = e
}
-// TableSource implements ShardableDMLStmt interface.
-func (n *DeleteStmt) TableSource() (*TableSource, bool) {
- table, ok := n.TableRefs.TableRefs.Left.(*TableSource)
- return table, ok
+// TableRefsJoin implements ShardableDMLStmt interface.
+func (n *DeleteStmt) TableRefsJoin() (*Join, bool) {
+ return n.TableRefs.TableRefs, true
}
const (
@@ -2426,8 +2432,8 @@ type ShardableDMLStmt = interface {
StmtNode
WhereExpr() ExprNode
SetWhereExpr(ExprNode)
- // TableSource returns the *only* target table source in the statement.
- TableSource() (table *TableSource, ok bool)
+ // TableRefsJoin returns the table refs in the statement.
+ TableRefsJoin() (refs *Join, ok bool)
}
var _ ShardableDMLStmt = &DeleteStmt{}
@@ -2649,10 +2655,9 @@ func (n *UpdateStmt) SetWhereExpr(e ExprNode) {
n.Where = e
}
-// TableSource implements ShardableDMLStmt interface.
-func (n *UpdateStmt) TableSource() (*TableSource, bool) {
- table, ok := n.TableRefs.TableRefs.Left.(*TableSource)
- return table, ok
+// TableRefsJoin implements ShardableDMLStmt interface.
+func (n *UpdateStmt) TableRefsJoin() (*Join, bool) {
+ return n.TableRefs.TableRefs, true
}
// Limit is the limit clause.
diff --git a/parser/ast/expressions.go b/parser/ast/expressions.go
index 270c46218af61..6bca49f4d2a7d 100644
--- a/parser/ast/expressions.go
+++ b/parser/ast/expressions.go
@@ -512,11 +512,11 @@ type ColumnName struct {
// Restore implements Node interface.
func (n *ColumnName) Restore(ctx *format.RestoreCtx) error {
- if n.Schema.O != "" && !ctx.IsCTETableName(n.Table.L) {
+ if n.Schema.O != "" && !ctx.IsCTETableName(n.Table.L) && !ctx.Flags.HasWithoutSchemaNameFlag() {
ctx.WriteName(n.Schema.O)
ctx.WritePlain(".")
}
- if n.Table.O != "" {
+ if n.Table.O != "" && !ctx.Flags.HasWithoutTableNameFlag() {
ctx.WriteName(n.Table.O)
ctx.WritePlain(".")
}
diff --git a/parser/ast/functions.go b/parser/ast/functions.go
index af47b56515743..fdedf53b701cf 100644
--- a/parser/ast/functions.go
+++ b/parser/ast/functions.go
@@ -331,7 +331,9 @@ const (
JSONInsert = "json_insert"
JSONReplace = "json_replace"
JSONRemove = "json_remove"
+ JSONOverlaps = "json_overlaps"
JSONContains = "json_contains"
+ JSONMemberOf = "json_memberof"
JSONContainsPath = "json_contains_path"
JSONValid = "json_valid"
JSONArrayAppend = "json_array_append"
@@ -380,21 +382,9 @@ type FuncCallExpr struct {
// Restore implements Node interface.
func (n *FuncCallExpr) Restore(ctx *format.RestoreCtx) error {
- var specialLiteral string
- switch n.FnName.L {
- case DateLiteral:
- specialLiteral = "DATE "
- case TimeLiteral:
- specialLiteral = "TIME "
- case TimestampLiteral:
- specialLiteral = "TIMESTAMP "
- }
- if specialLiteral != "" {
- ctx.WritePlain(specialLiteral)
- if err := n.Args[0].Restore(ctx); err != nil {
- return errors.Annotatef(err, "An error occurred while restore FuncCastExpr.Expr")
- }
- return nil
+ done, err := n.customRestore(ctx)
+ if done {
+ return err
}
if len(n.Schema.String()) != 0 {
@@ -495,29 +485,70 @@ func (n *FuncCallExpr) Restore(ctx *format.RestoreCtx) error {
return nil
}
+func (n *FuncCallExpr) customRestore(ctx *format.RestoreCtx) (bool, error) {
+ var specialLiteral string
+ switch n.FnName.L {
+ case DateLiteral:
+ specialLiteral = "DATE "
+ case TimeLiteral:
+ specialLiteral = "TIME "
+ case TimestampLiteral:
+ specialLiteral = "TIMESTAMP "
+ }
+ if specialLiteral != "" {
+ ctx.WritePlain(specialLiteral)
+ if err := n.Args[0].Restore(ctx); err != nil {
+ return true, errors.Annotatef(err, "An error occurred while restore FuncCallExpr.Expr")
+ }
+ return true, nil
+ }
+ if n.FnName.L == JSONMemberOf {
+ if err := n.Args[0].Restore(ctx); err != nil {
+ return true, errors.Annotatef(err, "An error occurred while restore FuncCallExpr.(MEMBER OF).Args[0]")
+ }
+ ctx.WriteKeyWord(" MEMBER OF ")
+ ctx.WritePlain("(")
+ if err := n.Args[1].Restore(ctx); err != nil {
+ return true, errors.Annotatef(err, "An error occurred while restore FuncCallExpr.(MEMBER OF).Args[1]")
+ }
+ ctx.WritePlain(")")
+ return true, nil
+ }
+ return false, nil
+}
+
// Format the ExprNode into a Writer.
func (n *FuncCallExpr) Format(w io.Writer) {
- fmt.Fprintf(w, "%s(", n.FnName.L)
if !n.specialFormatArgs(w) {
+ fmt.Fprintf(w, "%s(", n.FnName.L)
for i, arg := range n.Args {
arg.Format(w)
if i != len(n.Args)-1 {
fmt.Fprint(w, ", ")
}
}
+ fmt.Fprint(w, ")")
}
- fmt.Fprint(w, ")")
}
// specialFormatArgs formats argument list for some special functions.
func (n *FuncCallExpr) specialFormatArgs(w io.Writer) bool {
switch n.FnName.L {
case DateAdd, DateSub, AddDate, SubDate:
+ fmt.Fprintf(w, "%s(", n.FnName.L)
n.Args[0].Format(w)
fmt.Fprint(w, ", INTERVAL ")
n.Args[1].Format(w)
fmt.Fprint(w, " ")
n.Args[2].Format(w)
+ fmt.Fprint(w, ")")
+ return true
+ case JSONMemberOf:
+ n.Args[0].Format(w)
+ fmt.Fprint(w, " MEMBER OF ")
+ fmt.Fprint(w, " (")
+ n.Args[1].Format(w)
+ fmt.Fprint(w, ")")
return true
}
return false
diff --git a/parser/ast/misc.go b/parser/ast/misc.go
index b0668c7a09a7e..bfa105365700d 100644
--- a/parser/ast/misc.go
+++ b/parser/ast/misc.go
@@ -98,6 +98,7 @@ type AuthOption struct {
// ByAuthString set as true, if AuthString is used for authorization. Otherwise, authorization is done by HashString.
ByAuthString bool
AuthString string
+ ByHashString bool
HashString string
AuthPlugin string
}
@@ -112,7 +113,7 @@ func (n *AuthOption) Restore(ctx *format.RestoreCtx) error {
if n.ByAuthString {
ctx.WriteKeyWord(" BY ")
ctx.WriteString(n.AuthString)
- } else if n.HashString != "" {
+ } else if n.ByHashString {
ctx.WriteKeyWord(" AS ")
ctx.WriteString(n.HashString)
}
@@ -265,6 +266,12 @@ type PlanReplayerStmt struct {
Stmt StmtNode
Analyze bool
Load bool
+
+ // Capture indicates 'plan replayer capture '
+ Capture bool
+ SQLDigest string
+ PlanDigest string
+
// File is used to store 2 cases:
// 1. plan replayer load 'file';
// 2. plan replayer dump explain 'file'
@@ -284,6 +291,13 @@ func (n *PlanReplayerStmt) Restore(ctx *format.RestoreCtx) error {
ctx.WriteString(n.File)
return nil
}
+ if n.Capture {
+ ctx.WriteKeyWord("PLAN REPLAYER CAPTURE ")
+ ctx.WriteString(n.SQLDigest)
+ ctx.WriteKeyWord(" ")
+ ctx.WriteString(n.PlanDigest)
+ return nil
+ }
ctx.WriteKeyWord("PLAN REPLAYER DUMP EXPLAIN ")
if n.Analyze {
ctx.WriteKeyWord("ANALYZE ")
@@ -506,7 +520,6 @@ type Prepared struct {
StmtType string
Params []ParamMarkerExpr
SchemaVersion int64
- UseCache bool
CachedPlan interface{}
CachedNames interface{}
}
@@ -1493,11 +1506,19 @@ const (
PasswordExpireDefault
PasswordExpireNever
PasswordExpireInterval
+ PasswordHistory
+ PasswordHistoryDefault
+ PasswordReuseInterval
+ PasswordReuseDefault
Lock
Unlock
-
+ FailedLoginAttempts
+ PasswordLockTime
+ PasswordLockTimeUnbounded
UserCommentType
UserAttributeType
+
+ UserResourceGroupName
)
type PasswordOrLockOption struct {
@@ -1521,6 +1542,25 @@ func (p *PasswordOrLockOption) Restore(ctx *format.RestoreCtx) error {
ctx.WriteKeyWord("ACCOUNT LOCK")
case Unlock:
ctx.WriteKeyWord("ACCOUNT UNLOCK")
+ case FailedLoginAttempts:
+ ctx.WriteKeyWord("FAILED_LOGIN_ATTEMPTS")
+ ctx.WritePlainf(" %d", p.Count)
+ case PasswordLockTime:
+ ctx.WriteKeyWord("PASSWORD_LOCK_TIME")
+ ctx.WritePlainf(" %d", p.Count)
+ case PasswordLockTimeUnbounded:
+ ctx.WriteKeyWord("PASSWORD_LOCK_TIME UNBOUNDED")
+ case PasswordHistory:
+ ctx.WriteKeyWord("PASSWORD HISTORY")
+ ctx.WritePlainf(" %d", p.Count)
+ case PasswordHistoryDefault:
+ ctx.WriteKeyWord("PASSWORD HISTORY DEFAULT")
+ case PasswordReuseInterval:
+ ctx.WriteKeyWord("PASSWORD REUSE INTERVAL")
+ ctx.WritePlainf(" %d", p.Count)
+ ctx.WriteKeyWord(" DAY")
+ case PasswordReuseDefault:
+ ctx.WriteKeyWord("PASSWORD REUSE INTERVAL DEFAULT")
default:
return errors.Errorf("Unsupported PasswordOrLockOption.Type %d", p.Type)
}
@@ -1543,6 +1583,19 @@ func (c *CommentOrAttributeOption) Restore(ctx *format.RestoreCtx) error {
return nil
}
+type ResourceGroupNameOption struct {
+ Type int
+ Value string
+}
+
+func (c *ResourceGroupNameOption) Restore(ctx *format.RestoreCtx) error {
+ if c.Type == UserResourceGroupName {
+ ctx.WriteKeyWord(" RESOURCE GROUP ")
+ ctx.WriteString(c.Value)
+ }
+ return nil
+}
+
// CreateUserStmt creates user account.
// See https://dev.mysql.com/doc/refman/8.0/en/create-user.html
type CreateUserStmt struct {
@@ -1555,6 +1608,7 @@ type CreateUserStmt struct {
ResourceOptions []*ResourceOption
PasswordOrLockOptions []*PasswordOrLockOption
CommentOrAttributeOption *CommentOrAttributeOption
+ ResourceGroupNameOption *ResourceGroupNameOption
}
// Restore implements Node interface.
@@ -1613,6 +1667,12 @@ func (n *CreateUserStmt) Restore(ctx *format.RestoreCtx) error {
}
}
+ if n.ResourceGroupNameOption != nil {
+ if err := n.ResourceGroupNameOption.Restore(ctx); err != nil {
+ return errors.Annotatef(err, "An error occurred while restore CreateUserStmt.ResourceGroupNameOption")
+ }
+ }
+
return nil
}
@@ -1649,6 +1709,7 @@ type AlterUserStmt struct {
ResourceOptions []*ResourceOption
PasswordOrLockOptions []*PasswordOrLockOption
CommentOrAttributeOption *CommentOrAttributeOption
+ ResourceGroupNameOption *ResourceGroupNameOption
}
// Restore implements Node interface.
@@ -1710,6 +1771,12 @@ func (n *AlterUserStmt) Restore(ctx *format.RestoreCtx) error {
}
}
+ if n.ResourceGroupNameOption != nil {
+ if err := n.ResourceGroupNameOption.Restore(ctx); err != nil {
+ return errors.Annotatef(err, "An error occurred while restore AlterUserStmt.ResourceGroupNameOption")
+ }
+ }
+
return nil
}
@@ -1813,6 +1880,7 @@ type CreateBindingStmt struct {
GlobalScope bool
OriginNode StmtNode
HintedNode StmtNode
+ PlanDigest string
}
func (n *CreateBindingStmt) Restore(ctx *format.RestoreCtx) error {
@@ -1822,13 +1890,18 @@ func (n *CreateBindingStmt) Restore(ctx *format.RestoreCtx) error {
} else {
ctx.WriteKeyWord("SESSION ")
}
- ctx.WriteKeyWord("BINDING FOR ")
- if err := n.OriginNode.Restore(ctx); err != nil {
- return errors.Trace(err)
- }
- ctx.WriteKeyWord(" USING ")
- if err := n.HintedNode.Restore(ctx); err != nil {
- return errors.Trace(err)
+ if n.OriginNode == nil {
+ ctx.WriteKeyWord("BINDING FROM HISTORY USING PLAN DIGEST ")
+ ctx.WriteString(n.PlanDigest)
+ } else {
+ ctx.WriteKeyWord("BINDING FOR ")
+ if err := n.OriginNode.Restore(ctx); err != nil {
+ return errors.Trace(err)
+ }
+ ctx.WriteKeyWord(" USING ")
+ if err := n.HintedNode.Restore(ctx); err != nil {
+ return errors.Trace(err)
+ }
}
return nil
}
@@ -1839,16 +1912,18 @@ func (n *CreateBindingStmt) Accept(v Visitor) (Node, bool) {
return v.Leave(newNode)
}
n = newNode.(*CreateBindingStmt)
- origNode, ok := n.OriginNode.Accept(v)
- if !ok {
- return n, false
- }
- n.OriginNode = origNode.(StmtNode)
- hintedNode, ok := n.HintedNode.Accept(v)
- if !ok {
- return n, false
+ if n.OriginNode != nil {
+ origNode, ok := n.OriginNode.Accept(v)
+ if !ok {
+ return n, false
+ }
+ n.OriginNode = origNode.(StmtNode)
+ hintedNode, ok := n.HintedNode.Accept(v)
+ if !ok {
+ return n, false
+ }
+ n.HintedNode = hintedNode.(StmtNode)
}
- n.HintedNode = hintedNode.(StmtNode)
return v.Leave(n)
}
@@ -1859,6 +1934,7 @@ type DropBindingStmt struct {
GlobalScope bool
OriginNode StmtNode
HintedNode StmtNode
+ SQLDigest string
}
func (n *DropBindingStmt) Restore(ctx *format.RestoreCtx) error {
@@ -1869,14 +1945,19 @@ func (n *DropBindingStmt) Restore(ctx *format.RestoreCtx) error {
ctx.WriteKeyWord("SESSION ")
}
ctx.WriteKeyWord("BINDING FOR ")
- if err := n.OriginNode.Restore(ctx); err != nil {
- return errors.Trace(err)
- }
- if n.HintedNode != nil {
- ctx.WriteKeyWord(" USING ")
- if err := n.HintedNode.Restore(ctx); err != nil {
+ if n.OriginNode == nil {
+ ctx.WriteKeyWord("SQL DIGEST ")
+ ctx.WriteString(n.SQLDigest)
+ } else {
+ if err := n.OriginNode.Restore(ctx); err != nil {
return errors.Trace(err)
}
+ if n.HintedNode != nil {
+ ctx.WriteKeyWord(" USING ")
+ if err := n.HintedNode.Restore(ctx); err != nil {
+ return errors.Trace(err)
+ }
+ }
}
return nil
}
@@ -1887,17 +1968,20 @@ func (n *DropBindingStmt) Accept(v Visitor) (Node, bool) {
return v.Leave(newNode)
}
n = newNode.(*DropBindingStmt)
- origNode, ok := n.OriginNode.Accept(v)
- if !ok {
- return n, false
- }
- n.OriginNode = origNode.(StmtNode)
- if n.HintedNode != nil {
- hintedNode, ok := n.HintedNode.Accept(v)
+ if n.OriginNode != nil {
+ // OriginNode is nil means we build drop binding by sql digest
+ origNode, ok := n.OriginNode.Accept(v)
if !ok {
return n, false
}
- n.HintedNode = hintedNode.(StmtNode)
+ n.OriginNode = origNode.(StmtNode)
+ if n.HintedNode != nil {
+ hintedNode, ok := n.HintedNode.Accept(v)
+ if !ok {
+ return n, false
+ }
+ n.HintedNode = hintedNode.(StmtNode)
+ }
}
return v.Leave(n)
}
@@ -1918,6 +2002,7 @@ type SetBindingStmt struct {
BindingStatusType BindingStatusType
OriginNode StmtNode
HintedNode StmtNode
+ SQLDigest string
}
func (n *SetBindingStmt) Restore(ctx *format.RestoreCtx) error {
@@ -1930,14 +2015,19 @@ func (n *SetBindingStmt) Restore(ctx *format.RestoreCtx) error {
ctx.WriteKeyWord("DISABLED ")
}
ctx.WriteKeyWord("FOR ")
- if err := n.OriginNode.Restore(ctx); err != nil {
- return errors.Trace(err)
- }
- if n.HintedNode != nil {
- ctx.WriteKeyWord(" USING ")
- if err := n.HintedNode.Restore(ctx); err != nil {
+ if n.OriginNode == nil {
+ ctx.WriteKeyWord("SQL DIGEST ")
+ ctx.WriteString(n.SQLDigest)
+ } else {
+ if err := n.OriginNode.Restore(ctx); err != nil {
return errors.Trace(err)
}
+ if n.HintedNode != nil {
+ ctx.WriteKeyWord(" USING ")
+ if err := n.HintedNode.Restore(ctx); err != nil {
+ return errors.Trace(err)
+ }
+ }
}
return nil
}
@@ -1948,17 +2038,20 @@ func (n *SetBindingStmt) Accept(v Visitor) (Node, bool) {
return v.Leave(newNode)
}
n = newNode.(*SetBindingStmt)
- origNode, ok := n.OriginNode.Accept(v)
- if !ok {
- return n, false
- }
- n.OriginNode = origNode.(StmtNode)
- if n.HintedNode != nil {
- hintedNode, ok := n.HintedNode.Accept(v)
+ if n.OriginNode != nil {
+ // OriginNode is nil means we set binding stmt by sql digest
+ origNode, ok := n.OriginNode.Accept(v)
if !ok {
return n, false
}
- n.HintedNode = hintedNode.(StmtNode)
+ n.OriginNode = origNode.(StmtNode)
+ if n.HintedNode != nil {
+ hintedNode, ok := n.HintedNode.Accept(v)
+ if !ok {
+ return n, false
+ }
+ n.HintedNode = hintedNode.(StmtNode)
+ }
}
return v.Leave(n)
}
@@ -3648,9 +3741,13 @@ func (n *TableOptimizerHint) Restore(ctx *format.RestoreCtx) error {
}
ctx.WriteName(n.QBName.String())
}
+ if n.HintName.L == "qb_name" && len(n.Tables) == 0 {
+ ctx.WritePlain(")")
+ return nil
+ }
// Hints without args except query block.
switch n.HintName.L {
- case "mpp_1phase_agg", "mpp_2phase_agg", "hash_agg", "stream_agg", "agg_to_cop", "read_consistent_replica", "no_index_merge", "qb_name", "ignore_plan_cache", "limit_to_cop", "straight_join", "merge", "no_decorrelate":
+ case "mpp_1phase_agg", "mpp_2phase_agg", "hash_agg", "stream_agg", "agg_to_cop", "read_consistent_replica", "no_index_merge", "ignore_plan_cache", "limit_to_cop", "straight_join", "merge", "no_decorrelate":
ctx.WritePlain(")")
return nil
}
@@ -3670,7 +3767,7 @@ func (n *TableOptimizerHint) Restore(ctx *format.RestoreCtx) error {
}
table.Restore(ctx)
}
- case "use_index", "ignore_index", "use_index_merge", "force_index":
+ case "use_index", "ignore_index", "use_index_merge", "force_index", "keep_order", "no_keep_order":
n.Tables[0].Restore(ctx)
ctx.WritePlain(" ")
for i, index := range n.Indexes {
@@ -3679,6 +3776,16 @@ func (n *TableOptimizerHint) Restore(ctx *format.RestoreCtx) error {
}
ctx.WriteName(index.String())
}
+ case "qb_name":
+ if len(n.Tables) > 0 {
+ ctx.WritePlain(", ")
+ for i, table := range n.Tables {
+ if i != 0 {
+ ctx.WritePlain(". ")
+ }
+ table.Restore(ctx)
+ }
+ }
case "use_toja", "use_cascades":
if n.HintData.(bool) {
ctx.WritePlain("TRUE")
diff --git a/parser/ast/misc_test.go b/parser/ast/misc_test.go
index 5355d81ae266b..36e8cb1ef002f 100644
--- a/parser/ast/misc_test.go
+++ b/parser/ast/misc_test.go
@@ -75,7 +75,11 @@ func TestMiscVisitorCover(t *testing.T) {
&ast.PrivElem{},
&ast.VariableAssignment{Value: valueExpr},
&ast.KillStmt{},
- &ast.DropStatsStmt{Table: &ast.TableName{}},
+ &ast.DropStatsStmt{
+ Tables: []*ast.TableName{
+ {},
+ },
+ },
&ast.ShutdownStmt{},
}
@@ -224,6 +228,18 @@ func TestTableOptimizerHintRestore(t *testing.T) {
{"IGNORE_INDEX(@sel_1 t1 c1)", "IGNORE_INDEX(@`sel_1` `t1` `c1`)"},
{"IGNORE_INDEX(t1@sel_1 c1)", "IGNORE_INDEX(`t1`@`sel_1` `c1`)"},
{"IGNORE_INDEX(t1@sel_1 partition(p0, p1) c1)", "IGNORE_INDEX(`t1`@`sel_1` PARTITION(`p0`, `p1`) `c1`)"},
+ {"KEEP_ORDER(t1 c1)", "KEEP_ORDER(`t1` `c1`)"},
+ {"KEEP_ORDER(test.t1 c1)", "KEEP_ORDER(`test`.`t1` `c1`)"},
+ {"KEEP_ORDER(@sel_1 t1 c1)", "KEEP_ORDER(@`sel_1` `t1` `c1`)"},
+ {"KEEP_ORDER(t1@sel_1 c1)", "KEEP_ORDER(`t1`@`sel_1` `c1`)"},
+ {"KEEP_ORDER(test.t1@sel_1 c1)", "KEEP_ORDER(`test`.`t1`@`sel_1` `c1`)"},
+ {"KEEP_ORDER(test.t1@sel_1 partition(p0) c1)", "KEEP_ORDER(`test`.`t1`@`sel_1` PARTITION(`p0`) `c1`)"},
+ {"NO_KEEP_ORDER(t1 c1)", "NO_KEEP_ORDER(`t1` `c1`)"},
+ {"NO_KEEP_ORDER(test.t1 c1)", "NO_KEEP_ORDER(`test`.`t1` `c1`)"},
+ {"NO_KEEP_ORDER(@sel_1 t1 c1)", "NO_KEEP_ORDER(@`sel_1` `t1` `c1`)"},
+ {"NO_KEEP_ORDER(t1@sel_1 c1)", "NO_KEEP_ORDER(`t1`@`sel_1` `c1`)"},
+ {"NO_KEEP_ORDER(test.t1@sel_1 c1)", "NO_KEEP_ORDER(`test`.`t1`@`sel_1` `c1`)"},
+ {"NO_KEEP_ORDER(test.t1@sel_1 partition(p0) c1)", "NO_KEEP_ORDER(`test`.`t1`@`sel_1` PARTITION(`p0`) `c1`)"},
{"TIDB_SMJ(`t1`)", "TIDB_SMJ(`t1`)"},
{"TIDB_SMJ(t1)", "TIDB_SMJ(`t1`)"},
{"TIDB_SMJ(t1,t2)", "TIDB_SMJ(`t1`, `t2`)"},
diff --git a/parser/ast/stats.go b/parser/ast/stats.go
index 782ae2e87615d..f7e23a404cf0c 100644
--- a/parser/ast/stats.go
+++ b/parser/ast/stats.go
@@ -189,10 +189,11 @@ func (n *AnalyzeTableStmt) Accept(v Visitor) (Node, bool) {
}
// DropStatsStmt is used to drop table statistics.
+// if the PartitionNames is not empty, or IsGlobalStats is true, it will contain exactly one table
type DropStatsStmt struct {
stmtNode
- Table *TableName
+ Tables []*TableName
PartitionNames []model.CIStr
IsGlobalStats bool
}
@@ -200,8 +201,14 @@ type DropStatsStmt struct {
// Restore implements Node interface.
func (n *DropStatsStmt) Restore(ctx *format.RestoreCtx) error {
ctx.WriteKeyWord("DROP STATS ")
- if err := n.Table.Restore(ctx); err != nil {
- return errors.Annotate(err, "An error occurred while add table")
+
+ for index, table := range n.Tables {
+ if index != 0 {
+ ctx.WritePlain(", ")
+ }
+ if err := table.Restore(ctx); err != nil {
+ return errors.Annotatef(err, "An error occurred while restore DropStatsStmt.Tables[%d]", index)
+ }
}
if n.IsGlobalStats {
@@ -228,11 +235,13 @@ func (n *DropStatsStmt) Accept(v Visitor) (Node, bool) {
return v.Leave(newNode)
}
n = newNode.(*DropStatsStmt)
- node, ok := n.Table.Accept(v)
- if !ok {
- return n, false
+ for i, val := range n.Tables {
+ node, ok := val.Accept(v)
+ if !ok {
+ return n, false
+ }
+ n.Tables[i] = node.(*TableName)
}
- n.Table = node.(*TableName)
return v.Leave(n)
}
diff --git a/parser/consistent_test.go b/parser/consistent_test.go
index e78b7f31ddddd..1acc1a58bc850 100644
--- a/parser/consistent_test.go
+++ b/parser/consistent_test.go
@@ -14,7 +14,7 @@
package parser
import (
- "io/ioutil"
+ gio "io"
"os"
"sort"
"strings"
@@ -27,7 +27,7 @@ func TestKeywordConsistent(t *testing.T) {
parserFilename := "parser.y"
parserFile, err := os.Open(parserFilename)
requires.NoError(t, err)
- data, err := ioutil.ReadAll(parserFile)
+ data, err := gio.ReadAll(parserFile)
requires.NoError(t, err)
content := string(data)
diff --git a/parser/duration/BUILD.bazel b/parser/duration/BUILD.bazel
new file mode 100644
index 0000000000000..0e676c8d58566
--- /dev/null
+++ b/parser/duration/BUILD.bazel
@@ -0,0 +1,16 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+
+go_library(
+ name = "duration",
+ srcs = ["duration.go"],
+ importpath = "github.com/pingcap/tidb/parser/duration",
+ visibility = ["//visibility:public"],
+ deps = ["@com_github_pingcap_errors//:errors"],
+)
+
+go_test(
+ name = "duration_test",
+ srcs = ["duration_test.go"],
+ embed = [":duration"],
+ deps = ["@com_github_stretchr_testify//require"],
+)
diff --git a/parser/duration/duration.go b/parser/duration/duration.go
new file mode 100644
index 0000000000000..7fa0afca4b485
--- /dev/null
+++ b/parser/duration/duration.go
@@ -0,0 +1,119 @@
+// Copyright 2023 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Package duration provides a customized duration, which supports unit 'd', 'h' and 'm'
+package duration
+
+import (
+ "strconv"
+ "time"
+ "unicode"
+
+ "github.com/pingcap/errors"
+)
+
+// Duration is a format which supports 'd', 'h' and 'm', but doesn't support other formats and floats
+type Duration struct {
+ Day int `json:"day"`
+ Hour int `json:"hour"`
+ Minute int `json:"minute"`
+}
+
+func readInt(s string) (int, string, error) {
+ numbers := ""
+ for pos, ch := range s {
+ if !unicode.IsDigit(ch) {
+ numbers = s[:pos]
+ break
+ }
+ }
+ if len(numbers) > 0 {
+ i, err := strconv.Atoi(numbers)
+ if err != nil {
+ return 0, s, err
+ }
+ return i, s[len(numbers):], nil
+ }
+ return 0, s, errors.New("fail to read an integer")
+}
+
+// ParseDuration parses the duration which contains 'd', 'h' and 'm'
+func ParseDuration(s string) (Duration, error) {
+ duration := Duration{}
+
+ if s == "0" {
+ return Duration{}, nil
+ }
+
+ var err error
+ i := 0
+ for len(s) > 0 {
+ i, s, err = readInt(s)
+ if err != nil {
+ return Duration{}, err
+ }
+ switch s[0] {
+ case 'd':
+ duration.Day += i
+ case 'h':
+ duration.Hour += i
+ case 'm':
+ duration.Minute += i
+ default:
+ return Duration{}, errors.Errorf("unknown unit %c", s[0])
+ }
+
+ s = s[1:]
+ }
+
+ return duration.reorg(), nil
+}
+
+func (d Duration) reorg() Duration {
+ if d.Minute >= 60 {
+ d.Hour += d.Minute / 60
+ d.Minute = d.Minute % 60
+ }
+ if d.Hour >= 24 {
+ d.Day += d.Hour / 24
+ d.Hour = d.Hour % 24
+ }
+
+ return d
+}
+
+// String formats the duration
+func (d Duration) String() string {
+ d = d.reorg()
+
+ str := ""
+ if d.Day > 0 {
+ str += strconv.Itoa(d.Day) + "d"
+ }
+ if d.Hour > 0 {
+ str += strconv.Itoa(d.Hour) + "h"
+ }
+ if d.Minute > 0 {
+ str += strconv.Itoa(d.Minute) + "m"
+ }
+
+ if len(str) == 0 {
+ return "0m"
+ }
+ return str
+}
+
+// GoDuration returns the equal time.Duration
+func (d Duration) GoDuration() time.Duration {
+ return time.Hour*time.Duration(d.Day*24+d.Hour) + time.Minute*time.Duration(d.Minute)
+}
diff --git a/parser/duration/duration_test.go b/parser/duration/duration_test.go
new file mode 100644
index 0000000000000..1081683208539
--- /dev/null
+++ b/parser/duration/duration_test.go
@@ -0,0 +1,87 @@
+// Copyright 2023 PingCAP, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package duration
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/require"
+)
+
+func TestParseDuration(t *testing.T) {
+ cases := []struct {
+ str string
+ duration Duration
+ }{
+ {
+ "1h",
+ Duration{Hour: 1},
+ },
+ {
+ "1h100m",
+ Duration{Hour: 2, Minute: 40},
+ },
+ {
+ "1d10000m",
+ Duration{Day: 7, Hour: 22, Minute: 40},
+ },
+ {
+ "1d100h",
+ Duration{Day: 5, Hour: 4},
+ },
+ }
+
+ for _, c := range cases {
+ t.Run(c.str, func(t *testing.T) {
+ d, err := ParseDuration(c.str)
+ require.NoError(t, err)
+ require.Equal(t, c.duration, d)
+ })
+ }
+}
+
+func TestFormatDuration(t *testing.T) {
+ cases := []struct {
+ str string
+ duration Duration
+ }{
+ {
+ "1h",
+ Duration{Hour: 1},
+ },
+ {
+ "1h30m",
+ Duration{Hour: 1, Minute: 30},
+ },
+ {
+ "1d12h",
+ Duration{Day: 1, Hour: 12},
+ },
+ {
+ "5d1h40m",
+ Duration{Day: 5, Minute: 100},
+ },
+ {
+ "0m",
+ Duration{Minute: 0},
+ },
+ }
+
+ for _, c := range cases {
+ t.Run(c.str, func(t *testing.T) {
+ str := c.duration.String()
+ require.Equal(t, c.str, str)
+ })
+ }
+}
diff --git a/parser/format/format.go b/parser/format/format.go
index adada122e255e..a60c8d7b6589d 100644
--- a/parser/format/format.go
+++ b/parser/format/format.go
@@ -235,6 +235,9 @@ const (
RestoreTiDBSpecialComment
SkipPlacementRuleForRestore
+ RestoreWithTTLEnableOff
+ RestoreWithoutSchemaName
+ RestoreWithoutTableName
)
const (
@@ -246,6 +249,16 @@ func (rf RestoreFlags) has(flag RestoreFlags) bool {
return rf&flag != 0
}
+// HasWithoutSchemaNameFlag returns a boolean indicating when `rf` has `RestoreWithoutSchemaName` flag.
+func (rf RestoreFlags) HasWithoutSchemaNameFlag() bool {
+ return rf.has(RestoreWithoutSchemaName)
+}
+
+// HasWithoutTableNameFlag returns a boolean indicating when `rf` has `RestoreWithoutTableName` flag.
+func (rf RestoreFlags) HasWithoutTableNameFlag() bool {
+ return rf.has(RestoreWithoutTableName)
+}
+
// HasStringSingleQuotesFlag returns a boolean indicating when `rf` has `RestoreStringSingleQuotes` flag.
func (rf RestoreFlags) HasStringSingleQuotesFlag() bool {
return rf.has(RestoreStringSingleQuotes)
@@ -321,6 +334,11 @@ func (rf RestoreFlags) HasSkipPlacementRuleForRestoreFlag() bool {
return rf.has(SkipPlacementRuleForRestore)
}
+// HasRestoreWithTTLEnableOff returns a boolean indicating whether to force set TTL_ENABLE='OFF' when restoring a TTL table
+func (rf RestoreFlags) HasRestoreWithTTLEnableOff() bool {
+ return rf.has(RestoreWithTTLEnableOff)
+}
+
// RestoreCtx is `Restore` context to hold flags and writer.
type RestoreCtx struct {
Flags RestoreFlags
diff --git a/parser/format/format_test.go b/parser/format/format_test.go
index 429c2c27c19d1..bc04033214cdd 100644
--- a/parser/format/format_test.go
+++ b/parser/format/format_test.go
@@ -15,7 +15,7 @@ package format
import (
"bytes"
- "io/ioutil"
+ "io"
"strings"
"testing"
@@ -26,7 +26,7 @@ import (
func checkFormat(t *testing.T, f Formatter, buf *bytes.Buffer, str, expect string) {
_, err := f.Format(str, 3)
require.NoError(t, err)
- b, err := ioutil.ReadAll(buf)
+ b, err := io.ReadAll(buf)
require.NoError(t, err)
require.Equal(t, expect, string(b))
}
diff --git a/parser/hintparser.go b/parser/hintparser.go
index 1b14e7d292e1e..a619d2a1c74f2 100644
--- a/parser/hintparser.go
+++ b/parser/hintparser.go
@@ -41,18 +41,18 @@ type yyhintXError struct {
}
const (
- yyhintDefault = 57424
+ yyhintDefault = 57426
yyhintEOFCode = 57344
yyhintErrCode = 57345
hintAggToCop = 57379
hintBCJoin = 57394
hintBKA = 57355
hintBNL = 57357
- hintDupsWeedOut = 57420
- hintFalse = 57416
- hintFirstMatch = 57421
- hintForceIndex = 57406
- hintGB = 57419
+ hintDupsWeedOut = 57422
+ hintFalse = 57418
+ hintFirstMatch = 57423
+ hintForceIndex = 57408
+ hintGB = 57421
hintHashAgg = 57381
hintHashJoin = 57359
hintHashJoinBuild = 57360
@@ -70,12 +70,13 @@ const (
hintJoinOrder = 57352
hintJoinPrefix = 57353
hintJoinSuffix = 57354
- hintLeading = 57408
- hintLimitToCop = 57405
- hintLooseScan = 57422
- hintMB = 57418
+ hintKeepOrder = 57400
+ hintLeading = 57410
+ hintLimitToCop = 57407
+ hintLooseScan = 57424
+ hintMB = 57420
hintMRR = 57367
- hintMaterialization = 57423
+ hintMaterialization = 57425
hintMaxExecutionTime = 57375
hintMemoryQuota = 57388
hintMerge = 57363
@@ -83,175 +84,178 @@ const (
hintMpp2PhaseAgg = 57383
hintNoBKA = 57356
hintNoBNL = 57358
- hintNoDecorrelate = 57410
+ hintNoDecorrelate = 57412
hintNoHashJoin = 57362
hintNoICP = 57369
hintNoIndexMerge = 57366
+ hintNoKeepOrder = 57401
hintNoMRR = 57368
hintNoMerge = 57364
hintNoRangeOptimization = 57370
hintNoSemijoin = 57374
hintNoSkipScan = 57372
hintNoSwapJoinInputs = 57389
- hintNthPlan = 57404
- hintOLAP = 57411
- hintOLTP = 57412
- hintPartition = 57413
+ hintNthPlan = 57406
+ hintOLAP = 57413
+ hintOLTP = 57414
+ hintPartition = 57415
hintQBName = 57378
hintQueryType = 57390
hintReadConsistentReplica = 57391
hintReadFromStorage = 57392
hintResourceGroup = 57377
hintSMJoin = 57393
- hintSemiJoinRewrite = 57409
+ hintSemiJoinRewrite = 57411
hintSemijoin = 57373
hintSetVar = 57376
hintShuffleJoin = 57395
hintSingleAtIdentifier = 57349
hintSkipScan = 57371
- hintStraightJoin = 57407
+ hintStraightJoin = 57409
hintStreamAgg = 57396
hintStringLit = 57350
hintSwapJoinInputs = 57397
- hintTiFlash = 57415
- hintTiKV = 57414
- hintTimeRange = 57402
- hintTrue = 57417
- hintUseCascades = 57403
+ hintTiFlash = 57417
+ hintTiKV = 57416
+ hintTimeRange = 57404
+ hintTrue = 57419
+ hintUseCascades = 57405
hintUseIndex = 57399
hintUseIndexMerge = 57398
- hintUsePlanCache = 57400
- hintUseToja = 57401
+ hintUsePlanCache = 57402
+ hintUseToja = 57403
yyhintMaxDepth = 200
- yyhintTabOfs = -193
+ yyhintTabOfs = -197
)
var (
yyhintXLAT = map[int]int{
- 41: 0, // ')' (146x)
- 57379: 1, // hintAggToCop (133x)
- 57394: 2, // hintBCJoin (133x)
- 57355: 3, // hintBKA (133x)
- 57357: 4, // hintBNL (133x)
- 57406: 5, // hintForceIndex (133x)
- 57381: 6, // hintHashAgg (133x)
- 57359: 7, // hintHashJoin (133x)
- 57360: 8, // hintHashJoinBuild (133x)
- 57361: 9, // hintHashJoinProbe (133x)
- 57384: 10, // hintIgnoreIndex (133x)
- 57380: 11, // hintIgnorePlanCache (133x)
- 57365: 12, // hintIndexMerge (133x)
- 57385: 13, // hintInlHashJoin (133x)
- 57386: 14, // hintInlJoin (133x)
- 57387: 15, // hintInlMergeJoin (133x)
- 57351: 16, // hintJoinFixedOrder (133x)
- 57352: 17, // hintJoinOrder (133x)
- 57353: 18, // hintJoinPrefix (133x)
- 57354: 19, // hintJoinSuffix (133x)
- 57408: 20, // hintLeading (133x)
- 57405: 21, // hintLimitToCop (133x)
- 57375: 22, // hintMaxExecutionTime (133x)
- 57388: 23, // hintMemoryQuota (133x)
- 57363: 24, // hintMerge (133x)
- 57382: 25, // hintMpp1PhaseAgg (133x)
- 57383: 26, // hintMpp2PhaseAgg (133x)
- 57367: 27, // hintMRR (133x)
- 57356: 28, // hintNoBKA (133x)
- 57358: 29, // hintNoBNL (133x)
- 57410: 30, // hintNoDecorrelate (133x)
- 57362: 31, // hintNoHashJoin (133x)
- 57369: 32, // hintNoICP (133x)
- 57366: 33, // hintNoIndexMerge (133x)
- 57364: 34, // hintNoMerge (133x)
- 57368: 35, // hintNoMRR (133x)
- 57370: 36, // hintNoRangeOptimization (133x)
- 57374: 37, // hintNoSemijoin (133x)
- 57372: 38, // hintNoSkipScan (133x)
- 57389: 39, // hintNoSwapJoinInputs (133x)
- 57404: 40, // hintNthPlan (133x)
- 57378: 41, // hintQBName (133x)
- 57390: 42, // hintQueryType (133x)
- 57391: 43, // hintReadConsistentReplica (133x)
- 57392: 44, // hintReadFromStorage (133x)
- 57377: 45, // hintResourceGroup (133x)
- 57373: 46, // hintSemijoin (133x)
- 57409: 47, // hintSemiJoinRewrite (133x)
- 57376: 48, // hintSetVar (133x)
- 57395: 49, // hintShuffleJoin (133x)
- 57371: 50, // hintSkipScan (133x)
- 57393: 51, // hintSMJoin (133x)
- 57407: 52, // hintStraightJoin (133x)
- 57396: 53, // hintStreamAgg (133x)
- 57397: 54, // hintSwapJoinInputs (133x)
- 57402: 55, // hintTimeRange (133x)
- 57403: 56, // hintUseCascades (133x)
- 57399: 57, // hintUseIndex (133x)
- 57398: 58, // hintUseIndexMerge (133x)
- 57400: 59, // hintUsePlanCache (133x)
- 57401: 60, // hintUseToja (133x)
- 44: 61, // ',' (130x)
- 57420: 62, // hintDupsWeedOut (110x)
- 57421: 63, // hintFirstMatch (110x)
- 57422: 64, // hintLooseScan (110x)
- 57423: 65, // hintMaterialization (110x)
- 57415: 66, // hintTiFlash (110x)
- 57414: 67, // hintTiKV (110x)
- 57416: 68, // hintFalse (109x)
- 57411: 69, // hintOLAP (109x)
- 57412: 70, // hintOLTP (109x)
- 57417: 71, // hintTrue (109x)
- 57419: 72, // hintGB (108x)
- 57418: 73, // hintMB (108x)
- 57347: 74, // hintIdentifier (107x)
- 57349: 75, // hintSingleAtIdentifier (93x)
- 93: 76, // ']' (84x)
- 46: 77, // '.' (83x)
- 57413: 78, // hintPartition (78x)
- 61: 79, // '=' (74x)
- 40: 80, // '(' (69x)
- 57344: 81, // $end (25x)
- 57444: 82, // QueryBlockOpt (20x)
- 57436: 83, // Identifier (15x)
- 57346: 84, // hintIntLit (8x)
- 57350: 85, // hintStringLit (5x)
- 57426: 86, // CommaOpt (4x)
- 57432: 87, // HintTable (4x)
- 57433: 88, // HintTableList (4x)
- 91: 89, // '[' (3x)
- 57425: 90, // BooleanHintName (2x)
- 57427: 91, // HintIndexList (2x)
- 57429: 92, // HintStorageType (2x)
- 57430: 93, // HintStorageTypeAndTable (2x)
- 57434: 94, // HintTableListOpt (2x)
- 57439: 95, // JoinOrderOptimizerHintName (2x)
- 57440: 96, // NullaryHintName (2x)
- 57443: 97, // PartitionListOpt (2x)
- 57446: 98, // StorageOptimizerHintOpt (2x)
- 57447: 99, // SubqueryOptimizerHintName (2x)
- 57450: 100, // SubqueryStrategy (2x)
- 57451: 101, // SupportedIndexLevelOptimizerHintName (2x)
- 57452: 102, // SupportedTableLevelOptimizerHintName (2x)
- 57453: 103, // TableOptimizerHintOpt (2x)
- 57455: 104, // UnsupportedIndexLevelOptimizerHintName (2x)
- 57456: 105, // UnsupportedTableLevelOptimizerHintName (2x)
- 57458: 106, // ViewName (2x)
- 57428: 107, // HintQueryType (1x)
- 57431: 108, // HintStorageTypeAndTableList (1x)
- 57435: 109, // HintTrueOrFalse (1x)
- 57437: 110, // IndexNameList (1x)
- 57438: 111, // IndexNameListOpt (1x)
- 57441: 112, // OptimizerHintList (1x)
- 57442: 113, // PartitionList (1x)
- 57445: 114, // Start (1x)
- 57448: 115, // SubqueryStrategies (1x)
- 57449: 116, // SubqueryStrategiesOpt (1x)
- 57454: 117, // UnitOfBytes (1x)
- 57457: 118, // Value (1x)
- 57459: 119, // ViewNameList (1x)
- 57424: 120, // $default (0x)
- 57345: 121, // error (0x)
- 57348: 122, // hintInvalid (0x)
+ 41: 0, // ')' (148x)
+ 57379: 1, // hintAggToCop (135x)
+ 57394: 2, // hintBCJoin (135x)
+ 57355: 3, // hintBKA (135x)
+ 57357: 4, // hintBNL (135x)
+ 57408: 5, // hintForceIndex (135x)
+ 57381: 6, // hintHashAgg (135x)
+ 57359: 7, // hintHashJoin (135x)
+ 57360: 8, // hintHashJoinBuild (135x)
+ 57361: 9, // hintHashJoinProbe (135x)
+ 57384: 10, // hintIgnoreIndex (135x)
+ 57380: 11, // hintIgnorePlanCache (135x)
+ 57365: 12, // hintIndexMerge (135x)
+ 57385: 13, // hintInlHashJoin (135x)
+ 57386: 14, // hintInlJoin (135x)
+ 57387: 15, // hintInlMergeJoin (135x)
+ 57351: 16, // hintJoinFixedOrder (135x)
+ 57352: 17, // hintJoinOrder (135x)
+ 57353: 18, // hintJoinPrefix (135x)
+ 57354: 19, // hintJoinSuffix (135x)
+ 57400: 20, // hintKeepOrder (135x)
+ 57410: 21, // hintLeading (135x)
+ 57407: 22, // hintLimitToCop (135x)
+ 57375: 23, // hintMaxExecutionTime (135x)
+ 57388: 24, // hintMemoryQuota (135x)
+ 57363: 25, // hintMerge (135x)
+ 57382: 26, // hintMpp1PhaseAgg (135x)
+ 57383: 27, // hintMpp2PhaseAgg (135x)
+ 57367: 28, // hintMRR (135x)
+ 57356: 29, // hintNoBKA (135x)
+ 57358: 30, // hintNoBNL (135x)
+ 57412: 31, // hintNoDecorrelate (135x)
+ 57362: 32, // hintNoHashJoin (135x)
+ 57369: 33, // hintNoICP (135x)
+ 57366: 34, // hintNoIndexMerge (135x)
+ 57401: 35, // hintNoKeepOrder (135x)
+ 57364: 36, // hintNoMerge (135x)
+ 57368: 37, // hintNoMRR (135x)
+ 57370: 38, // hintNoRangeOptimization (135x)
+ 57374: 39, // hintNoSemijoin (135x)
+ 57372: 40, // hintNoSkipScan (135x)
+ 57389: 41, // hintNoSwapJoinInputs (135x)
+ 57406: 42, // hintNthPlan (135x)
+ 57378: 43, // hintQBName (135x)
+ 57390: 44, // hintQueryType (135x)
+ 57391: 45, // hintReadConsistentReplica (135x)
+ 57392: 46, // hintReadFromStorage (135x)
+ 57377: 47, // hintResourceGroup (135x)
+ 57373: 48, // hintSemijoin (135x)
+ 57411: 49, // hintSemiJoinRewrite (135x)
+ 57376: 50, // hintSetVar (135x)
+ 57395: 51, // hintShuffleJoin (135x)
+ 57371: 52, // hintSkipScan (135x)
+ 57393: 53, // hintSMJoin (135x)
+ 57409: 54, // hintStraightJoin (135x)
+ 57396: 55, // hintStreamAgg (135x)
+ 57397: 56, // hintSwapJoinInputs (135x)
+ 57404: 57, // hintTimeRange (135x)
+ 57405: 58, // hintUseCascades (135x)
+ 57399: 59, // hintUseIndex (135x)
+ 57398: 60, // hintUseIndexMerge (135x)
+ 57402: 61, // hintUsePlanCache (135x)
+ 57403: 62, // hintUseToja (135x)
+ 44: 63, // ',' (132x)
+ 57422: 64, // hintDupsWeedOut (112x)
+ 57423: 65, // hintFirstMatch (112x)
+ 57424: 66, // hintLooseScan (112x)
+ 57425: 67, // hintMaterialization (112x)
+ 57417: 68, // hintTiFlash (112x)
+ 57416: 69, // hintTiKV (112x)
+ 57418: 70, // hintFalse (111x)
+ 57413: 71, // hintOLAP (111x)
+ 57414: 72, // hintOLTP (111x)
+ 57419: 73, // hintTrue (111x)
+ 57421: 74, // hintGB (110x)
+ 57420: 75, // hintMB (110x)
+ 57347: 76, // hintIdentifier (109x)
+ 57349: 77, // hintSingleAtIdentifier (95x)
+ 93: 78, // ']' (86x)
+ 46: 79, // '.' (85x)
+ 57415: 80, // hintPartition (80x)
+ 61: 81, // '=' (76x)
+ 40: 82, // '(' (71x)
+ 57344: 83, // $end (25x)
+ 57446: 84, // QueryBlockOpt (20x)
+ 57438: 85, // Identifier (15x)
+ 57346: 86, // hintIntLit (8x)
+ 57350: 87, // hintStringLit (5x)
+ 57428: 88, // CommaOpt (4x)
+ 57434: 89, // HintTable (4x)
+ 57435: 90, // HintTableList (4x)
+ 91: 91, // '[' (3x)
+ 57427: 92, // BooleanHintName (2x)
+ 57429: 93, // HintIndexList (2x)
+ 57431: 94, // HintStorageType (2x)
+ 57432: 95, // HintStorageTypeAndTable (2x)
+ 57436: 96, // HintTableListOpt (2x)
+ 57441: 97, // JoinOrderOptimizerHintName (2x)
+ 57442: 98, // NullaryHintName (2x)
+ 57445: 99, // PartitionListOpt (2x)
+ 57448: 100, // StorageOptimizerHintOpt (2x)
+ 57449: 101, // SubqueryOptimizerHintName (2x)
+ 57452: 102, // SubqueryStrategy (2x)
+ 57453: 103, // SupportedIndexLevelOptimizerHintName (2x)
+ 57454: 104, // SupportedTableLevelOptimizerHintName (2x)
+ 57455: 105, // TableOptimizerHintOpt (2x)
+ 57457: 106, // UnsupportedIndexLevelOptimizerHintName (2x)
+ 57458: 107, // UnsupportedTableLevelOptimizerHintName (2x)
+ 57460: 108, // ViewName (2x)
+ 57430: 109, // HintQueryType (1x)
+ 57433: 110, // HintStorageTypeAndTableList (1x)
+ 57437: 111, // HintTrueOrFalse (1x)
+ 57439: 112, // IndexNameList (1x)
+ 57440: 113, // IndexNameListOpt (1x)
+ 57443: 114, // OptimizerHintList (1x)
+ 57444: 115, // PartitionList (1x)
+ 57447: 116, // Start (1x)
+ 57450: 117, // SubqueryStrategies (1x)
+ 57451: 118, // SubqueryStrategiesOpt (1x)
+ 57456: 119, // UnitOfBytes (1x)
+ 57459: 120, // Value (1x)
+ 57461: 121, // ViewNameList (1x)
+ 57426: 122, // $default (0x)
+ 57345: 123, // error (0x)
+ 57348: 124, // hintInvalid (0x)
}
yyhintSymNames = []string{
@@ -275,6 +279,7 @@ var (
"hintJoinOrder",
"hintJoinPrefix",
"hintJoinSuffix",
+ "hintKeepOrder",
"hintLeading",
"hintLimitToCop",
"hintMaxExecutionTime",
@@ -289,6 +294,7 @@ var (
"hintNoHashJoin",
"hintNoICP",
"hintNoIndexMerge",
+ "hintNoKeepOrder",
"hintNoMerge",
"hintNoMRR",
"hintNoRangeOptimization",
@@ -382,89 +388,76 @@ var (
yyhintReductions = []struct{ xsym, components int }{
{0, 1},
+ {116, 1},
{114, 1},
- {112, 1},
- {112, 3},
- {112, 1},
- {112, 3},
- {103, 4},
- {103, 4},
- {103, 4},
- {103, 4},
- {103, 4},
- {103, 4},
- {103, 5},
- {103, 5},
- {103, 5},
- {103, 6},
- {103, 4},
- {103, 4},
- {103, 6},
- {103, 6},
- {103, 6},
- {103, 5},
- {103, 4},
- {103, 5},
- {98, 5},
- {108, 1},
- {108, 3},
- {93, 4},
- {82, 0},
- {82, 1},
- {86, 0},
- {86, 1},
- {97, 0},
- {97, 4},
- {113, 1},
- {113, 3},
- {94, 1},
- {94, 1},
- {88, 2},
- {88, 3},
- {87, 3},
- {87, 5},
- {119, 3},
- {119, 1},
- {106, 2},
- {106, 1},
- {91, 4},
- {111, 0},
- {111, 1},
+ {114, 3},
+ {114, 1},
+ {114, 3},
+ {105, 4},
+ {105, 4},
+ {105, 4},
+ {105, 4},
+ {105, 4},
+ {105, 4},
+ {105, 5},
+ {105, 5},
+ {105, 5},
+ {105, 6},
+ {105, 4},
+ {105, 4},
+ {105, 6},
+ {105, 6},
+ {105, 6},
+ {105, 5},
+ {105, 4},
+ {105, 5},
+ {100, 5},
{110, 1},
{110, 3},
- {116, 0},
- {116, 1},
+ {95, 4},
+ {84, 0},
+ {84, 1},
+ {88, 0},
+ {88, 1},
+ {99, 0},
+ {99, 4},
{115, 1},
{115, 3},
+ {96, 1},
+ {96, 1},
+ {90, 2},
+ {90, 3},
+ {89, 3},
+ {89, 5},
+ {121, 3},
+ {121, 1},
+ {108, 2},
+ {108, 1},
+ {93, 4},
+ {113, 0},
+ {113, 1},
+ {112, 1},
+ {112, 3},
+ {118, 0},
{118, 1},
- {118, 1},
- {118, 1},
- {117, 1},
{117, 1},
- {109, 1},
- {109, 1},
- {95, 1},
- {95, 1},
- {95, 1},
- {105, 1},
- {105, 1},
- {105, 1},
- {105, 1},
- {105, 1},
- {105, 1},
- {102, 1},
- {102, 1},
- {102, 1},
- {102, 1},
- {102, 1},
- {102, 1},
- {102, 1},
- {102, 1},
- {102, 1},
- {102, 1},
- {102, 1},
- {102, 1},
- {102, 1},
+ {117, 3},
+ {120, 1},
+ {120, 1},
+ {120, 1},
+ {119, 1},
+ {119, 1},
+ {111, 1},
+ {111, 1},
+ {97, 1},
+ {97, 1},
+ {97, 1},
+ {107, 1},
+ {107, 1},
+ {107, 1},
+ {107, 1},
+ {107, 1},
+ {107, 1},
{104, 1},
{104, 1},
{104, 1},
@@ -472,449 +465,471 @@ var (
{104, 1},
{104, 1},
{104, 1},
+ {104, 1},
+ {104, 1},
+ {104, 1},
+ {104, 1},
+ {104, 1},
+ {104, 1},
+ {106, 1},
+ {106, 1},
+ {106, 1},
+ {106, 1},
+ {106, 1},
+ {106, 1},
+ {106, 1},
+ {103, 1},
+ {103, 1},
+ {103, 1},
+ {103, 1},
+ {103, 1},
+ {103, 1},
{101, 1},
{101, 1},
- {101, 1},
- {101, 1},
- {99, 1},
- {99, 1},
- {100, 1},
- {100, 1},
- {100, 1},
- {100, 1},
- {90, 1},
- {90, 1},
- {96, 1},
- {96, 1},
- {96, 1},
- {96, 1},
- {96, 1},
- {96, 1},
- {96, 1},
- {96, 1},
- {96, 1},
- {96, 1},
- {96, 1},
- {96, 1},
- {96, 1},
- {107, 1},
- {107, 1},
+ {102, 1},
+ {102, 1},
+ {102, 1},
+ {102, 1},
{92, 1},
{92, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
- {83, 1},
+ {98, 1},
+ {98, 1},
+ {98, 1},
+ {98, 1},
+ {98, 1},
+ {98, 1},
+ {98, 1},
+ {98, 1},
+ {98, 1},
+ {98, 1},
+ {98, 1},
+ {98, 1},
+ {98, 1},
+ {109, 1},
+ {109, 1},
+ {94, 1},
+ {94, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
+ {85, 1},
}
yyhintXErrors = map[yyhintXError]string{}
- yyhintParseTab = [280][]uint16{
+ yyhintParseTab = [284][]uint16{
// 0
- {1: 258, 226, 219, 221, 248, 254, 234, 235, 236, 246, 262, 238, 230, 228, 233, 198, 216, 217, 218, 237, 259, 205, 210, 229, 255, 256, 239, 220, 222, 265, 223, 241, 260, 224, 240, 242, 250, 244, 232, 206, 209, 214, 261, 215, 208, 249, 264, 207, 227, 243, 225, 263, 257, 231, 211, 252, 245, 247, 253, 251, 90: 212, 95: 199, 213, 98: 197, 204, 101: 203, 201, 196, 202, 200, 112: 195, 114: 194},
- {81: 193},
- {1: 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 361, 81: 192, 86: 470},
- {1: 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 81: 191},
- {1: 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 81: 189},
+ {1: 264, 230, 223, 225, 252, 260, 238, 239, 240, 250, 268, 242, 234, 232, 237, 202, 220, 221, 222, 253, 241, 265, 209, 214, 233, 261, 262, 243, 224, 226, 271, 227, 245, 266, 254, 228, 244, 246, 256, 248, 236, 210, 213, 218, 267, 219, 212, 255, 270, 211, 231, 247, 229, 269, 263, 235, 215, 258, 249, 251, 259, 257, 92: 216, 97: 203, 217, 100: 201, 208, 103: 207, 205, 200, 206, 204, 114: 199, 116: 198},
+ {83: 197},
+ {1: 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 369, 83: 196, 88: 478},
+ {1: 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 83: 195},
+ {1: 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 83: 193},
// 5
- {80: 467},
- {80: 464},
- {80: 461},
- {80: 456},
- {80: 453},
+ {82: 475},
+ {82: 472},
+ {82: 469},
+ {82: 464},
+ {82: 461},
// 10
- {80: 442},
- {80: 430},
- {80: 426},
- {80: 422},
- {80: 414},
+ {82: 450},
+ {82: 438},
+ {82: 434},
+ {82: 430},
+ {82: 422},
// 15
- {80: 411},
- {80: 399},
- {80: 392},
- {80: 387},
- {80: 381},
+ {82: 419},
+ {82: 407},
+ {82: 400},
+ {82: 395},
+ {82: 389},
// 20
- {80: 378},
- {80: 372},
- {80: 266},
- {80: 131},
- {80: 130},
+ {82: 386},
+ {82: 380},
+ {82: 272},
+ {82: 135},
+ {82: 134},
// 25
- {80: 129},
- {80: 128},
- {80: 127},
- {80: 126},
- {80: 125},
+ {82: 133},
+ {82: 132},
+ {82: 131},
+ {82: 130},
+ {82: 129},
// 30
- {80: 124},
- {80: 123},
- {80: 122},
- {80: 121},
- {80: 120},
+ {82: 128},
+ {82: 127},
+ {82: 126},
+ {82: 125},
+ {82: 124},
// 35
- {80: 119},
- {80: 118},
- {80: 117},
- {80: 116},
- {80: 115},
+ {82: 123},
+ {82: 122},
+ {82: 121},
+ {82: 120},
+ {82: 119},
// 40
- {80: 114},
- {80: 113},
- {80: 112},
- {80: 111},
- {80: 110},
+ {82: 118},
+ {82: 117},
+ {82: 116},
+ {82: 115},
+ {82: 114},
// 45
- {80: 109},
- {80: 108},
- {80: 107},
- {80: 106},
- {80: 105},
+ {82: 113},
+ {82: 112},
+ {82: 111},
+ {82: 110},
+ {82: 109},
// 50
- {80: 104},
- {80: 103},
- {80: 102},
- {80: 101},
- {80: 100},
+ {82: 108},
+ {82: 107},
+ {82: 106},
+ {82: 105},
+ {82: 104},
// 55
- {80: 99},
- {80: 98},
- {80: 97},
- {80: 92},
- {80: 91},
+ {82: 103},
+ {82: 102},
+ {82: 101},
+ {82: 100},
+ {82: 99},
// 60
- {80: 90},
- {80: 89},
- {80: 88},
- {80: 87},
- {80: 86},
+ {82: 94},
+ {82: 93},
+ {82: 92},
+ {82: 91},
+ {82: 90},
// 65
- {80: 85},
- {80: 84},
- {80: 83},
- {80: 82},
- {80: 81},
+ {82: 89},
+ {82: 88},
+ {82: 87},
+ {82: 86},
+ {82: 85},
// 70
- {80: 80},
- {80: 79},
- {80: 78},
- {66: 165, 165, 75: 268, 82: 267},
- {66: 273, 272, 92: 271, 270, 108: 269},
+ {82: 84},
+ {82: 83},
+ {82: 82},
+ {82: 81},
+ {82: 80},
// 75
- {164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 76: 164, 164, 164, 84: 164},
- {369, 61: 370},
- {168, 61: 168},
- {89: 274},
- {89: 75},
+ {68: 169, 169, 77: 274, 84: 273},
+ {68: 279, 278, 94: 277, 276, 110: 275},
+ {168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 78: 168, 168, 168, 86: 168},
+ {377, 63: 378},
+ {172, 63: 172},
// 80
- {89: 74},
- {1: 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 62: 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 268, 82: 276, 88: 275},
- {61: 367, 76: 366},
- {1: 308, 324, 284, 286, 335, 311, 288, 289, 290, 314, 310, 294, 315, 316, 317, 280, 281, 282, 283, 337, 309, 304, 318, 292, 312, 313, 296, 285, 287, 339, 291, 298, 295, 293, 297, 299, 303, 301, 319, 334, 307, 320, 321, 322, 306, 302, 338, 305, 325, 300, 323, 336, 326, 327, 332, 333, 329, 328, 330, 331, 62: 348, 349, 350, 351, 343, 342, 344, 340, 341, 345, 347, 346, 279, 83: 278, 87: 277},
- {155, 61: 155, 76: 155},
+ {91: 280},
+ {91: 77},
+ {91: 76},
+ {1: 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 64: 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 274, 84: 282, 90: 281},
+ {63: 375, 78: 374},
// 85
- {165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 268, 165, 353, 165, 82: 352},
- {73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73},
- {72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72},
- {71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71},
- {70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70},
+ {1: 314, 330, 290, 292, 343, 317, 294, 295, 296, 320, 316, 300, 321, 322, 323, 286, 287, 288, 289, 336, 345, 315, 310, 324, 298, 318, 319, 302, 291, 293, 347, 297, 304, 301, 337, 299, 303, 305, 309, 307, 325, 342, 313, 326, 327, 328, 312, 308, 346, 311, 331, 306, 329, 344, 332, 333, 340, 341, 335, 334, 338, 339, 64: 356, 357, 358, 359, 351, 350, 352, 348, 349, 353, 355, 354, 285, 85: 284, 89: 283},
+ {159, 63: 159, 78: 159},
+ {169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 274, 169, 361, 169, 84: 360},
+ {75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75},
+ {74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74},
// 90
- {69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69},
- {68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68},
- {67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67},
- {66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66},
- {65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65},
+ {73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73},
+ {72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72},
+ {71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71},
+ {70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70},
+ {69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69},
// 95
- {64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64},
- {63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63},
- {62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62},
- {61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61},
- {60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60},
+ {68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68},
+ {67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67},
+ {66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66},
+ {65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65},
+ {64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64},
// 100
- {59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59},
- {58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58},
- {57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57},
- {56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56},
- {55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55},
+ {63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63},
+ {62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62},
+ {61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61},
+ {60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60},
+ {59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59},
// 105
- {54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54},
- {53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53},
- {52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52},
- {51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51},
- {50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50},
+ {58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58},
+ {57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57},
+ {56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56},
+ {55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55},
+ {54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54},
// 110
- {49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49},
- {48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48},
- {47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47},
- {46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46},
- {45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45},
+ {53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53},
+ {52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52},
+ {51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51},
+ {50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50},
+ {49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49},
// 115
- {44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44},
- {43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43},
- {42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42},
- {41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41},
- {40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40},
+ {48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48},
+ {47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47},
+ {46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46},
+ {45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45},
+ {44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44},
// 120
- {39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39},
- {38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38},
- {37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37},
- {36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36},
- {35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35},
+ {43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43},
+ {42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42},
+ {41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41},
+ {40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40},
+ {39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39},
// 125
- {34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34},
- {33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33},
- {32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32},
- {31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31},
- {30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30},
+ {38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38},
+ {37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37},
+ {36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36},
+ {35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35},
+ {34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34},
// 130
- {29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29},
- {28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28},
- {27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27},
- {26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
- {25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25},
+ {33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33},
+ {32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32},
+ {31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31},
+ {30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30},
+ {29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29},
// 135
- {24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24},
- {23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23},
- {22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22},
- {21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21},
- {20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20},
+ {28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28},
+ {27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27},
+ {26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
+ {25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25},
+ {24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24},
// 140
- {19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19},
- {18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18},
- {17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17},
- {16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16},
- {15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
+ {23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23},
+ {22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22},
+ {21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21},
+ {20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20},
+ {19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19},
// 145
- {14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
- {13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13},
- {12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
- {11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11},
- {10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
+ {18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18},
+ {17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17},
+ {16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16},
+ {15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
+ {14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
// 150
- {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9},
- {8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
- {7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7},
- {6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
- {5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5},
+ {13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13},
+ {12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
+ {11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11},
+ {10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
+ {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9},
// 155
- {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
- {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
- {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},
- {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
- {161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 76: 161, 78: 356, 97: 365},
+ {8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
+ {7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7},
+ {6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
+ {5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5},
+ {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
// 160
- {1: 308, 324, 284, 286, 335, 311, 288, 289, 290, 314, 310, 294, 315, 316, 317, 280, 281, 282, 283, 337, 309, 304, 318, 292, 312, 313, 296, 285, 287, 339, 291, 298, 295, 293, 297, 299, 303, 301, 319, 334, 307, 320, 321, 322, 306, 302, 338, 305, 325, 300, 323, 336, 326, 327, 332, 333, 329, 328, 330, 331, 62: 348, 349, 350, 351, 343, 342, 344, 340, 341, 345, 347, 346, 279, 83: 354},
- {165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 268, 165, 78: 165, 82: 355},
- {161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 76: 161, 78: 356, 97: 357},
- {80: 358},
- {152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 76: 152},
+ {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
+ {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},
+ {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+ {165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 78: 165, 80: 364, 99: 373},
+ {1: 314, 330, 290, 292, 343, 317, 294, 295, 296, 320, 316, 300, 321, 322, 323, 286, 287, 288, 289, 336, 345, 315, 310, 324, 298, 318, 319, 302, 291, 293, 347, 297, 304, 301, 337, 299, 303, 305, 309, 307, 325, 342, 313, 326, 327, 328, 312, 308, 346, 311, 331, 306, 329, 344, 332, 333, 340, 341, 335, 334, 338, 339, 64: 356, 357, 358, 359, 351, 350, 352, 348, 349, 353, 355, 354, 285, 85: 362},
// 165
- {1: 308, 324, 284, 286, 335, 311, 288, 289, 290, 314, 310, 294, 315, 316, 317, 280, 281, 282, 283, 337, 309, 304, 318, 292, 312, 313, 296, 285, 287, 339, 291, 298, 295, 293, 297, 299, 303, 301, 319, 334, 307, 320, 321, 322, 306, 302, 338, 305, 325, 300, 323, 336, 326, 327, 332, 333, 329, 328, 330, 331, 62: 348, 349, 350, 351, 343, 342, 344, 340, 341, 345, 347, 346, 279, 83: 360, 113: 359},
- {362, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 361, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 86: 363},
- {159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159},
- {162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 62: 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 85: 162},
- {160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 76: 160},
+ {169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 274, 169, 80: 169, 84: 363},
+ {165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 78: 165, 80: 364, 99: 365},
+ {82: 366},
+ {156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 78: 156},
+ {1: 314, 330, 290, 292, 343, 317, 294, 295, 296, 320, 316, 300, 321, 322, 323, 286, 287, 288, 289, 336, 345, 315, 310, 324, 298, 318, 319, 302, 291, 293, 347, 297, 304, 301, 337, 299, 303, 305, 309, 307, 325, 342, 313, 326, 327, 328, 312, 308, 346, 311, 331, 306, 329, 344, 332, 333, 340, 341, 335, 334, 338, 339, 64: 356, 357, 358, 359, 351, 350, 352, 348, 349, 353, 355, 354, 285, 85: 368, 115: 367},
// 170
- {1: 308, 324, 284, 286, 335, 311, 288, 289, 290, 314, 310, 294, 315, 316, 317, 280, 281, 282, 283, 337, 309, 304, 318, 292, 312, 313, 296, 285, 287, 339, 291, 298, 295, 293, 297, 299, 303, 301, 319, 334, 307, 320, 321, 322, 306, 302, 338, 305, 325, 300, 323, 336, 326, 327, 332, 333, 329, 328, 330, 331, 62: 348, 349, 350, 351, 343, 342, 344, 340, 341, 345, 347, 346, 279, 83: 364},
- {158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158},
- {153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 76: 153},
- {166, 61: 166},
- {1: 308, 324, 284, 286, 335, 311, 288, 289, 290, 314, 310, 294, 315, 316, 317, 280, 281, 282, 283, 337, 309, 304, 318, 292, 312, 313, 296, 285, 287, 339, 291, 298, 295, 293, 297, 299, 303, 301, 319, 334, 307, 320, 321, 322, 306, 302, 338, 305, 325, 300, 323, 336, 326, 327, 332, 333, 329, 328, 330, 331, 62: 348, 349, 350, 351, 343, 342, 344, 340, 341, 345, 347, 346, 279, 83: 278, 87: 368},
+ {370, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 369, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 88: 371},
+ {163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163},
+ {166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 64: 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 87: 166},
+ {164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 78: 164},
+ {1: 314, 330, 290, 292, 343, 317, 294, 295, 296, 320, 316, 300, 321, 322, 323, 286, 287, 288, 289, 336, 345, 315, 310, 324, 298, 318, 319, 302, 291, 293, 347, 297, 304, 301, 337, 299, 303, 305, 309, 307, 325, 342, 313, 326, 327, 328, 312, 308, 346, 311, 331, 306, 329, 344, 332, 333, 340, 341, 335, 334, 338, 339, 64: 356, 357, 358, 359, 351, 350, 352, 348, 349, 353, 355, 354, 285, 85: 372},
// 175
- {154, 61: 154, 76: 154},
- {1: 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 81: 169},
- {66: 273, 272, 92: 271, 371},
- {167, 61: 167},
- {69: 165, 165, 75: 268, 82: 373},
+ {162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162},
+ {157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 78: 157},
+ {170, 63: 170},
+ {1: 314, 330, 290, 292, 343, 317, 294, 295, 296, 320, 316, 300, 321, 322, 323, 286, 287, 288, 289, 336, 345, 315, 310, 324, 298, 318, 319, 302, 291, 293, 347, 297, 304, 301, 337, 299, 303, 305, 309, 307, 325, 342, 313, 326, 327, 328, 312, 308, 346, 311, 331, 306, 329, 344, 332, 333, 340, 341, 335, 334, 338, 339, 64: 356, 357, 358, 359, 351, 350, 352, 348, 349, 353, 355, 354, 285, 85: 284, 89: 376},
+ {158, 63: 158, 78: 158},
// 180
- {69: 375, 376, 107: 374},
- {377},
- {77},
- {76},
- {1: 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 81: 170},
+ {1: 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 83: 173},
+ {68: 279, 278, 94: 277, 379},
+ {171, 63: 171},
+ {71: 169, 169, 77: 274, 84: 381},
+ {71: 383, 384, 109: 382},
// 185
- {165, 75: 268, 82: 379},
- {380},
- {1: 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 81: 171},
- {68: 165, 71: 165, 75: 268, 82: 382},
- {68: 385, 71: 384, 109: 383},
+ {385},
+ {79},
+ {78},
+ {1: 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 83: 174},
+ {169, 77: 274, 84: 387},
// 190
- {386},
- {133},
- {132},
- {1: 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 81: 172},
- {85: 388},
+ {388},
+ {1: 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 83: 175},
+ {70: 169, 73: 169, 77: 274, 84: 390},
+ {70: 393, 73: 392, 111: 391},
+ {394},
// 195
- {61: 361, 85: 163, 389},
- {85: 390},
- {391},
- {1: 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 81: 173},
- {75: 268, 82: 393, 84: 165},
+ {137},
+ {136},
+ {1: 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 83: 176},
+ {87: 396},
+ {63: 369, 87: 167, 397},
// 200
- {84: 394},
- {72: 397, 396, 117: 395},
- {398},
- {135},
- {134},
+ {87: 398},
+ {399},
+ {1: 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 83: 177},
+ {77: 274, 84: 401, 86: 169},
+ {86: 402},
// 205
- {1: 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 81: 174},
- {1: 308, 324, 284, 286, 335, 311, 288, 289, 290, 314, 310, 294, 315, 316, 317, 280, 281, 282, 283, 337, 309, 304, 318, 292, 312, 313, 296, 285, 287, 339, 291, 298, 295, 293, 297, 299, 303, 301, 319, 334, 307, 320, 321, 322, 306, 302, 338, 305, 325, 300, 323, 336, 326, 327, 332, 333, 329, 328, 330, 331, 62: 348, 349, 350, 351, 343, 342, 344, 340, 341, 345, 347, 346, 279, 83: 400},
- {401, 61: 402},
- {1: 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 81: 176},
- {165, 308, 324, 284, 286, 335, 311, 288, 289, 290, 314, 310, 294, 315, 316, 317, 280, 281, 282, 283, 337, 309, 304, 318, 292, 312, 313, 296, 285, 287, 339, 291, 298, 295, 293, 297, 299, 303, 301, 319, 334, 307, 320, 321, 322, 306, 302, 338, 305, 325, 300, 323, 336, 326, 327, 332, 333, 329, 328, 330, 331, 62: 348, 349, 350, 351, 343, 342, 344, 340, 341, 345, 347, 346, 279, 268, 77: 165, 82: 406, 405, 106: 404, 119: 403},
+ {74: 405, 404, 119: 403},
+ {406},
+ {139},
+ {138},
+ {1: 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 83: 178},
// 210
- {408, 77: 409},
- {150, 77: 150},
- {165, 75: 268, 77: 165, 82: 407},
- {148, 77: 148},
- {149, 77: 149},
+ {1: 314, 330, 290, 292, 343, 317, 294, 295, 296, 320, 316, 300, 321, 322, 323, 286, 287, 288, 289, 336, 345, 315, 310, 324, 298, 318, 319, 302, 291, 293, 347, 297, 304, 301, 337, 299, 303, 305, 309, 307, 325, 342, 313, 326, 327, 328, 312, 308, 346, 311, 331, 306, 329, 344, 332, 333, 340, 341, 335, 334, 338, 339, 64: 356, 357, 358, 359, 351, 350, 352, 348, 349, 353, 355, 354, 285, 85: 408},
+ {409, 63: 410},
+ {1: 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 83: 180},
+ {169, 314, 330, 290, 292, 343, 317, 294, 295, 296, 320, 316, 300, 321, 322, 323, 286, 287, 288, 289, 336, 345, 315, 310, 324, 298, 318, 319, 302, 291, 293, 347, 297, 304, 301, 337, 299, 303, 305, 309, 307, 325, 342, 313, 326, 327, 328, 312, 308, 346, 311, 331, 306, 329, 344, 332, 333, 340, 341, 335, 334, 338, 339, 64: 356, 357, 358, 359, 351, 350, 352, 348, 349, 353, 355, 354, 285, 274, 79: 169, 84: 414, 413, 108: 412, 121: 411},
+ {416, 79: 417},
// 215
- {1: 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 81: 175},
- {165, 308, 324, 284, 286, 335, 311, 288, 289, 290, 314, 310, 294, 315, 316, 317, 280, 281, 282, 283, 337, 309, 304, 318, 292, 312, 313, 296, 285, 287, 339, 291, 298, 295, 293, 297, 299, 303, 301, 319, 334, 307, 320, 321, 322, 306, 302, 338, 305, 325, 300, 323, 336, 326, 327, 332, 333, 329, 328, 330, 331, 62: 348, 349, 350, 351, 343, 342, 344, 340, 341, 345, 347, 346, 279, 268, 77: 165, 82: 406, 405, 106: 410},
- {151, 77: 151},
- {1: 308, 324, 284, 286, 335, 311, 288, 289, 290, 314, 310, 294, 315, 316, 317, 280, 281, 282, 283, 337, 309, 304, 318, 292, 312, 313, 296, 285, 287, 339, 291, 298, 295, 293, 297, 299, 303, 301, 319, 334, 307, 320, 321, 322, 306, 302, 338, 305, 325, 300, 323, 336, 326, 327, 332, 333, 329, 328, 330, 331, 62: 348, 349, 350, 351, 343, 342, 344, 340, 341, 345, 347, 346, 279, 83: 412},
- {413},
+ {154, 79: 154},
+ {169, 77: 274, 79: 169, 84: 415},
+ {152, 79: 152},
+ {153, 79: 153},
+ {1: 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 83: 179},
// 220
- {1: 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 81: 177},
- {1: 308, 324, 284, 286, 335, 311, 288, 289, 290, 314, 310, 294, 315, 316, 317, 280, 281, 282, 283, 337, 309, 304, 318, 292, 312, 313, 296, 285, 287, 339, 291, 298, 295, 293, 297, 299, 303, 301, 319, 334, 307, 320, 321, 322, 306, 302, 338, 305, 325, 300, 323, 336, 326, 327, 332, 333, 329, 328, 330, 331, 62: 348, 349, 350, 351, 343, 342, 344, 340, 341, 345, 347, 346, 279, 83: 415},
- {79: 416},
- {1: 308, 324, 284, 286, 335, 311, 288, 289, 290, 314, 310, 294, 315, 316, 317, 280, 281, 282, 283, 337, 309, 304, 318, 292, 312, 313, 296, 285, 287, 339, 291, 298, 295, 293, 297, 299, 303, 301, 319, 334, 307, 320, 321, 322, 306, 302, 338, 305, 325, 300, 323, 336, 326, 327, 332, 333, 329, 328, 330, 331, 62: 348, 349, 350, 351, 343, 342, 344, 340, 341, 345, 347, 346, 279, 83: 419, 420, 418, 118: 417},
+ {169, 314, 330, 290, 292, 343, 317, 294, 295, 296, 320, 316, 300, 321, 322, 323, 286, 287, 288, 289, 336, 345, 315, 310, 324, 298, 318, 319, 302, 291, 293, 347, 297, 304, 301, 337, 299, 303, 305, 309, 307, 325, 342, 313, 326, 327, 328, 312, 308, 346, 311, 331, 306, 329, 344, 332, 333, 340, 341, 335, 334, 338, 339, 64: 356, 357, 358, 359, 351, 350, 352, 348, 349, 353, 355, 354, 285, 274, 79: 169, 84: 414, 413, 108: 418},
+ {155, 79: 155},
+ {1: 314, 330, 290, 292, 343, 317, 294, 295, 296, 320, 316, 300, 321, 322, 323, 286, 287, 288, 289, 336, 345, 315, 310, 324, 298, 318, 319, 302, 291, 293, 347, 297, 304, 301, 337, 299, 303, 305, 309, 307, 325, 342, 313, 326, 327, 328, 312, 308, 346, 311, 331, 306, 329, 344, 332, 333, 340, 341, 335, 334, 338, 339, 64: 356, 357, 358, 359, 351, 350, 352, 348, 349, 353, 355, 354, 285, 85: 420},
{421},
+ {1: 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 83: 181},
// 225
- {138},
- {137},
- {136},
- {1: 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 81: 178},
- {75: 268, 82: 423, 84: 165},
+ {1: 314, 330, 290, 292, 343, 317, 294, 295, 296, 320, 316, 300, 321, 322, 323, 286, 287, 288, 289, 336, 345, 315, 310, 324, 298, 318, 319, 302, 291, 293, 347, 297, 304, 301, 337, 299, 303, 305, 309, 307, 325, 342, 313, 326, 327, 328, 312, 308, 346, 311, 331, 306, 329, 344, 332, 333, 340, 341, 335, 334, 338, 339, 64: 356, 357, 358, 359, 351, 350, 352, 348, 349, 353, 355, 354, 285, 85: 423},
+ {81: 424},
+ {1: 314, 330, 290, 292, 343, 317, 294, 295, 296, 320, 316, 300, 321, 322, 323, 286, 287, 288, 289, 336, 345, 315, 310, 324, 298, 318, 319, 302, 291, 293, 347, 297, 304, 301, 337, 299, 303, 305, 309, 307, 325, 342, 313, 326, 327, 328, 312, 308, 346, 311, 331, 306, 329, 344, 332, 333, 340, 341, 335, 334, 338, 339, 64: 356, 357, 358, 359, 351, 350, 352, 348, 349, 353, 355, 354, 285, 85: 427, 428, 426, 120: 425},
+ {429},
+ {142},
// 230
- {84: 424},
- {425},
- {1: 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 81: 179},
- {75: 268, 82: 427, 84: 165},
- {84: 428},
+ {141},
+ {140},
+ {1: 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 83: 182},
+ {77: 274, 84: 431, 86: 169},
+ {86: 432},
// 235
- {429},
- {1: 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 81: 180},
- {165, 62: 165, 165, 165, 165, 75: 268, 82: 431},
- {142, 62: 435, 436, 437, 438, 100: 434, 115: 433, 432},
- {441},
+ {433},
+ {1: 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 83: 183},
+ {77: 274, 84: 435, 86: 169},
+ {86: 436},
+ {437},
// 240
- {141, 61: 439},
- {140, 61: 140},
- {96, 61: 96},
- {95, 61: 95},
- {94, 61: 94},
+ {1: 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 83: 184},
+ {169, 64: 169, 169, 169, 169, 77: 274, 84: 439},
+ {146, 64: 443, 444, 445, 446, 102: 442, 117: 441, 440},
+ {449},
+ {145, 63: 447},
// 245
- {93, 61: 93},
- {62: 435, 436, 437, 438, 100: 440},
- {139, 61: 139},
- {1: 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 81: 181},
- {1: 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 62: 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 268, 82: 444, 91: 443},
+ {144, 63: 144},
+ {98, 63: 98},
+ {97, 63: 97},
+ {96, 63: 96},
+ {95, 63: 95},
// 250
- {452},
- {1: 308, 324, 284, 286, 335, 311, 288, 289, 290, 314, 310, 294, 315, 316, 317, 280, 281, 282, 283, 337, 309, 304, 318, 292, 312, 313, 296, 285, 287, 339, 291, 298, 295, 293, 297, 299, 303, 301, 319, 334, 307, 320, 321, 322, 306, 302, 338, 305, 325, 300, 323, 336, 326, 327, 332, 333, 329, 328, 330, 331, 62: 348, 349, 350, 351, 343, 342, 344, 340, 341, 345, 347, 346, 279, 83: 278, 87: 445},
- {163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 361, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 86: 446},
- {146, 308, 324, 284, 286, 335, 311, 288, 289, 290, 314, 310, 294, 315, 316, 317, 280, 281, 282, 283, 337, 309, 304, 318, 292, 312, 313, 296, 285, 287, 339, 291, 298, 295, 293, 297, 299, 303, 301, 319, 334, 307, 320, 321, 322, 306, 302, 338, 305, 325, 300, 323, 336, 326, 327, 332, 333, 329, 328, 330, 331, 62: 348, 349, 350, 351, 343, 342, 344, 340, 341, 345, 347, 346, 279, 83: 449, 110: 448, 447},
- {147},
+ {64: 443, 444, 445, 446, 102: 448},
+ {143, 63: 143},
+ {1: 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 83: 185},
+ {1: 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 64: 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 274, 84: 452, 93: 451},
+ {460},
// 255
- {145, 61: 450},
- {144, 61: 144},
- {1: 308, 324, 284, 286, 335, 311, 288, 289, 290, 314, 310, 294, 315, 316, 317, 280, 281, 282, 283, 337, 309, 304, 318, 292, 312, 313, 296, 285, 287, 339, 291, 298, 295, 293, 297, 299, 303, 301, 319, 334, 307, 320, 321, 322, 306, 302, 338, 305, 325, 300, 323, 336, 326, 327, 332, 333, 329, 328, 330, 331, 62: 348, 349, 350, 351, 343, 342, 344, 340, 341, 345, 347, 346, 279, 83: 451},
- {143, 61: 143},
- {1: 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 81: 182},
+ {1: 314, 330, 290, 292, 343, 317, 294, 295, 296, 320, 316, 300, 321, 322, 323, 286, 287, 288, 289, 336, 345, 315, 310, 324, 298, 318, 319, 302, 291, 293, 347, 297, 304, 301, 337, 299, 303, 305, 309, 307, 325, 342, 313, 326, 327, 328, 312, 308, 346, 311, 331, 306, 329, 344, 332, 333, 340, 341, 335, 334, 338, 339, 64: 356, 357, 358, 359, 351, 350, 352, 348, 349, 353, 355, 354, 285, 85: 284, 89: 453},
+ {167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 369, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 88: 454},
+ {150, 314, 330, 290, 292, 343, 317, 294, 295, 296, 320, 316, 300, 321, 322, 323, 286, 287, 288, 289, 336, 345, 315, 310, 324, 298, 318, 319, 302, 291, 293, 347, 297, 304, 301, 337, 299, 303, 305, 309, 307, 325, 342, 313, 326, 327, 328, 312, 308, 346, 311, 331, 306, 329, 344, 332, 333, 340, 341, 335, 334, 338, 339, 64: 356, 357, 358, 359, 351, 350, 352, 348, 349, 353, 355, 354, 285, 85: 457, 112: 456, 455},
+ {151},
+ {149, 63: 458},
// 260
- {1: 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 62: 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 268, 82: 444, 91: 454},
- {455},
- {1: 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 81: 183},
- {165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 62: 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 268, 82: 459, 88: 458, 94: 457},
- {460},
+ {148, 63: 148},
+ {1: 314, 330, 290, 292, 343, 317, 294, 295, 296, 320, 316, 300, 321, 322, 323, 286, 287, 288, 289, 336, 345, 315, 310, 324, 298, 318, 319, 302, 291, 293, 347, 297, 304, 301, 337, 299, 303, 305, 309, 307, 325, 342, 313, 326, 327, 328, 312, 308, 346, 311, 331, 306, 329, 344, 332, 333, 340, 341, 335, 334, 338, 339, 64: 356, 357, 358, 359, 351, 350, 352, 348, 349, 353, 355, 354, 285, 85: 459},
+ {147, 63: 147},
+ {1: 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 83: 186},
+ {1: 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 64: 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 274, 84: 452, 93: 462},
// 265
- {157, 61: 367},
- {156, 308, 324, 284, 286, 335, 311, 288, 289, 290, 314, 310, 294, 315, 316, 317, 280, 281, 282, 283, 337, 309, 304, 318, 292, 312, 313, 296, 285, 287, 339, 291, 298, 295, 293, 297, 299, 303, 301, 319, 334, 307, 320, 321, 322, 306, 302, 338, 305, 325, 300, 323, 336, 326, 327, 332, 333, 329, 328, 330, 331, 62: 348, 349, 350, 351, 343, 342, 344, 340, 341, 345, 347, 346, 279, 83: 278, 87: 277},
- {1: 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 81: 184},
- {165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 62: 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 268, 82: 459, 88: 458, 94: 462},
{463},
+ {1: 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 83: 187},
+ {169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 64: 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 274, 84: 467, 90: 466, 96: 465},
+ {468},
+ {161, 63: 375},
// 270
- {1: 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 81: 185},
- {1: 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 62: 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 268, 82: 276, 88: 465},
- {466, 61: 367},
- {1: 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 81: 186},
- {165, 75: 268, 82: 468},
+ {160, 314, 330, 290, 292, 343, 317, 294, 295, 296, 320, 316, 300, 321, 322, 323, 286, 287, 288, 289, 336, 345, 315, 310, 324, 298, 318, 319, 302, 291, 293, 347, 297, 304, 301, 337, 299, 303, 305, 309, 307, 325, 342, 313, 326, 327, 328, 312, 308, 346, 311, 331, 306, 329, 344, 332, 333, 340, 341, 335, 334, 338, 339, 64: 356, 357, 358, 359, 351, 350, 352, 348, 349, 353, 355, 354, 285, 85: 284, 89: 283},
+ {1: 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 83: 188},
+ {169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 64: 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 274, 84: 467, 90: 466, 96: 470},
+ {471},
+ {1: 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 83: 189},
// 275
- {469},
- {1: 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 81: 187},
- {1: 258, 226, 219, 221, 248, 254, 234, 235, 236, 246, 262, 238, 230, 228, 233, 198, 216, 217, 218, 237, 259, 205, 210, 229, 255, 256, 239, 220, 222, 265, 223, 241, 260, 224, 240, 242, 250, 244, 232, 206, 209, 214, 261, 215, 208, 249, 264, 207, 227, 243, 225, 263, 257, 231, 211, 252, 245, 247, 253, 251, 90: 212, 95: 199, 213, 98: 472, 204, 101: 203, 201, 471, 202, 200},
- {1: 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 81: 190},
- {1: 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 81: 188},
+ {1: 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 64: 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 274, 84: 282, 90: 473},
+ {474, 63: 375},
+ {1: 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 83: 190},
+ {169, 77: 274, 84: 476},
+ {477},
+ // 280
+ {1: 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 83: 191},
+ {1: 264, 230, 223, 225, 252, 260, 238, 239, 240, 250, 268, 242, 234, 232, 237, 202, 220, 221, 222, 253, 241, 265, 209, 214, 233, 261, 262, 243, 224, 226, 271, 227, 245, 266, 254, 228, 244, 246, 256, 248, 236, 210, 213, 218, 267, 219, 212, 255, 270, 211, 231, 247, 229, 269, 263, 235, 215, 258, 249, 251, 259, 257, 92: 216, 97: 203, 217, 100: 480, 208, 103: 207, 205, 479, 206, 204},
+ {1: 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 83: 194},
+ {1: 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 83: 192},
}
)
@@ -954,7 +969,7 @@ func yyhintlex1(yylex yyhintLexer, lval *yyhintSymType) (n int) {
}
func yyhintParse(yylex yyhintLexer, parser *hintParser) int {
- const yyError = 121
+ const yyError = 123
yyEx, _ := yylex.(yyhintLexerEx)
var yyn int
diff --git a/parser/hintparser.y b/parser/hintparser.y
index a2ccd21d2d401..0d92905bb86f3 100644
--- a/parser/hintparser.y
+++ b/parser/hintparser.y
@@ -103,6 +103,8 @@ import (
hintSwapJoinInputs "SWAP_JOIN_INPUTS"
hintUseIndexMerge "USE_INDEX_MERGE"
hintUseIndex "USE_INDEX"
+ hintKeepOrder "KEEP_ORDER"
+ hintNoKeepOrder "NO_KEEP_ORDER"
hintUsePlanCache "USE_PLAN_CACHE"
hintUseToja "USE_TOJA"
hintTimeRange "TIME_RANGE"
@@ -607,6 +609,8 @@ SupportedIndexLevelOptimizerHintName:
| "IGNORE_INDEX"
| "USE_INDEX_MERGE"
| "FORCE_INDEX"
+| "KEEP_ORDER"
+| "NO_KEEP_ORDER"
SubqueryOptimizerHintName:
"SEMIJOIN"
@@ -699,6 +703,8 @@ Identifier:
| "SWAP_JOIN_INPUTS"
| "USE_INDEX_MERGE"
| "USE_INDEX"
+| "KEEP_ORDER"
+| "NO_KEEP_ORDER"
| "USE_PLAN_CACHE"
| "USE_TOJA"
| "TIME_RANGE"
diff --git a/parser/lexer.go b/parser/lexer.go
index 0a172abfda027..01f1ef035914a 100644
--- a/parser/lexer.go
+++ b/parser/lexer.go
@@ -252,13 +252,17 @@ func (s *Scanner) Lex(v *yySymType) int {
if tok == not && s.sqlMode.HasHighNotPrecedenceMode() {
return not2
}
- if tok == as && s.getNextToken() == of {
+ if (tok == as || tok == member) && s.getNextToken() == of {
_, pos, lit = s.scan()
v.ident = fmt.Sprintf("%s %s", v.ident, lit)
- s.lastKeyword = asof
s.lastScanOffset = pos.Offset
v.offset = pos.Offset
- return asof
+ if tok == as {
+ s.lastKeyword = asof
+ return asof
+ }
+ s.lastKeyword = memberof
+ return memberof
}
if tok == to {
tok1, tok2 := s.getNextTwoTokens()
diff --git a/parser/misc.go b/parser/misc.go
index 372154e054867..1bb9d1a2c227a 100644
--- a/parser/misc.go
+++ b/parser/misc.go
@@ -153,6 +153,7 @@ var tokenMap = map[string]int{
"ANY": any,
"APPROX_COUNT_DISTINCT": approxCountDistinct,
"APPROX_PERCENTILE": approxPercentile,
+ "ARRAY": array,
"AS": as,
"ASC": asc,
"ASCII": ascii,
@@ -256,6 +257,7 @@ var tokenMap = map[string]int{
"CSV_NULL": csvNull,
"CSV_SEPARATOR": csvSeparator,
"CSV_TRIM_LAST_SEPARATORS": csvTrimLastSeparators,
+ "CURDATE": curDate,
"CURRENT_DATE": currentDate,
"CURRENT_ROLE": currentRole,
"CURRENT_TIME": currentTime,
@@ -289,6 +291,7 @@ var tokenMap = map[string]int{
"DEPTH": depth,
"DESC": desc,
"DESCRIBE": describe,
+ "DIGEST": digest,
"DIRECTORY": directory,
"DISABLE": disable,
"DISABLED": disabled,
@@ -408,6 +411,10 @@ var tokenMap = map[string]int{
"INVISIBLE": invisible,
"INVOKER": invoker,
"IO": io,
+ "RRU_PER_SEC": rruRate,
+ "WRU_PER_SEC": wruRate,
+ "IO_READ_BANDWIDTH": ioReadBandwidth,
+ "IO_WRITE_BANDWIDTH": ioWriteBandwidth,
"IPC": ipc,
"IS": is,
"ISOLATION": isolation,
@@ -469,6 +476,7 @@ var tokenMap = map[string]int{
"MEDIUMINT": mediumIntType,
"MEDIUMTEXT": mediumtextType,
"MEMORY": memory,
+ "MEMBER": member,
"MERGE": merge,
"MICROSECOND": microsecond,
"MIN_ROWS": minRows,
@@ -593,6 +601,7 @@ var tokenMap = map[string]int{
"REQUIRE": require,
"REQUIRED": required,
"RESET": reset,
+ "RESOURCE": resource,
"RESPECT": respect,
"RESTART": restart,
"RESTORE": restore,
@@ -726,6 +735,7 @@ var tokenMap = map[string]int{
"THEN": then,
"TIDB": tidb,
"TIDB_CURRENT_TSO": tidbCurrentTSO,
+ "TIDB_JSON": tidbJson,
"TIFLASH": tiFlash,
"TIKV_IMPORTER": tikvImporter,
"TIME": timeType,
@@ -759,6 +769,9 @@ var tokenMap = map[string]int{
"TRUE": trueKwd,
"TRUNCATE": truncate,
"TRUE_CARD_COST": trueCardCost,
+ "TTL": ttl,
+ "TTL_ENABLE": ttlEnable,
+ "TTL_JOB_INTERVAL": ttlJobInterval,
"TYPE": tp,
"UNBOUNDED": unbounded,
"UNCOMMITTED": uncommitted,
@@ -810,6 +823,9 @@ var tokenMap = map[string]int{
"YEAR": yearType,
"ZEROFILL": zerofill,
"WAIT": wait,
+ "FAILED_LOGIN_ATTEMPTS": failedLoginAttempts,
+ "PASSWORD_LOCK_TIME": passwordLockTime,
+ "REUSE": reuse,
}
// See https://dev.mysql.com/doc/refman/5.7/en/function-resolution.html for details.
@@ -942,6 +958,8 @@ var hintTokenMap = map[string]int{
"SWAP_JOIN_INPUTS": hintSwapJoinInputs,
"USE_INDEX_MERGE": hintUseIndexMerge,
"USE_INDEX": hintUseIndex,
+ "KEEP_ORDER": hintKeepOrder,
+ "NO_KEEP_ORDER": hintNoKeepOrder,
"USE_PLAN_CACHE": hintUsePlanCache,
"USE_TOJA": hintUseToja,
"TIME_RANGE": hintTimeRange,
diff --git a/parser/model/BUILD.bazel b/parser/model/BUILD.bazel
index f3f214ce29eeb..ccf52aa687713 100644
--- a/parser/model/BUILD.bazel
+++ b/parser/model/BUILD.bazel
@@ -12,6 +12,7 @@ go_library(
deps = [
"//parser/auth",
"//parser/charset",
+ "//parser/duration",
"//parser/mysql",
"//parser/terror",
"//parser/types",
diff --git a/parser/model/ddl.go b/parser/model/ddl.go
index 8a8acaa292666..d14733d4df317 100644
--- a/parser/model/ddl.go
+++ b/parser/model/ddl.go
@@ -98,6 +98,12 @@ const (
ActionMultiSchemaChange ActionType = 61
ActionFlashbackCluster ActionType = 62
ActionRecoverSchema ActionType = 63
+ ActionReorganizePartition ActionType = 64
+ ActionAlterTTLInfo ActionType = 65
+ ActionAlterTTLRemove ActionType = 67
+ ActionCreateResourceGroup ActionType = 68
+ ActionAlterResourceGroup ActionType = 69
+ ActionDropResourceGroup ActionType = 70
)
var actionMap = map[ActionType]string{
@@ -160,6 +166,12 @@ var actionMap = map[ActionType]string{
ActionMultiSchemaChange: "alter table multi-schema change",
ActionFlashbackCluster: "flashback cluster",
ActionRecoverSchema: "flashback schema",
+ ActionReorganizePartition: "alter table reorganize partition",
+ ActionAlterTTLInfo: "alter table ttl",
+ ActionAlterTTLRemove: "alter table no_ttl",
+ ActionCreateResourceGroup: "create resource group",
+ ActionAlterResourceGroup: "alter resource group",
+ ActionDropResourceGroup: "drop resource group",
// `ActionAlterTableAlterPartition` is removed and will never be used.
// Just left a tombstone here for compatibility.
@@ -310,12 +322,19 @@ type MultiSchemaInfo struct {
AddIndexes []CIStr `json:"-"`
DropIndexes []CIStr `json:"-"`
AlterIndexes []CIStr `json:"-"`
- ForeignKeys []CIStr `json:"-"`
+
+ AddForeignKeys []AddForeignKeyInfo `json:"-"`
RelativeColumns []CIStr `json:"-"`
PositionColumns []CIStr `json:"-"`
}
+// AddForeignKeyInfo contains foreign key information.
+type AddForeignKeyInfo struct {
+ Name CIStr
+ Cols []CIStr
+}
+
// NewMultiSchemaInfo new a MultiSchemaInfo.
func NewMultiSchemaInfo() *MultiSchemaInfo {
return &MultiSchemaInfo{
@@ -337,6 +356,7 @@ type SubJob struct {
Warning *terror.Error `json:"warning"`
CtxVars []interface{} `json:"-"`
SchemaVer int64 `json:"schema_version"`
+ ReorgTp ReorgType `json:"reorg_tp"`
}
// IsNormal returns true if the sub-job is normally running.
@@ -399,6 +419,45 @@ func (sub *SubJob) FromProxyJob(proxyJob *Job, ver int64) {
sub.Warning = proxyJob.Warning
sub.RowCount = proxyJob.RowCount
sub.SchemaVer = ver
+ sub.ReorgTp = proxyJob.ReorgMeta.ReorgTp
+}
+
+// JobMeta is meta info of Job.
+type JobMeta struct {
+ SchemaID int64 `json:"schema_id"`
+ TableID int64 `json:"table_id"`
+ // Query string of the ddl job.
+ Query string `json:"query"`
+ // Priority is only used to set the operation priority of adding indices.
+ Priority int `json:"priority"`
+}
+
+// BackfillMeta is meta info of the backfill job.
+type BackfillMeta struct {
+ PhysicalTableID int64 `json:"physical_table_id"`
+ IsUnique bool `json:"is_unique"`
+ EndInclude bool `json:"end_include"`
+ ErrMsg string `json:"err_msg"`
+
+ SQLMode mysql.SQLMode `json:"sql_mode"`
+ Warnings map[errors.ErrorID]*terror.Error `json:"warnings"`
+ WarningsCount map[errors.ErrorID]int64 `json:"warnings_count"`
+ Location *TimeZoneLocation `json:"location"`
+ ReorgTp ReorgType `json:"reorg_tp"`
+
+ *JobMeta `json:"job_meta"`
+}
+
+// Encode encodes BackfillMeta with json format.
+func (bm *BackfillMeta) Encode() ([]byte, error) {
+ b, err := json.Marshal(bm)
+ return b, errors.Trace(err)
+}
+
+// Decode decodes BackfillMeta from the json buffer.
+func (bm *BackfillMeta) Decode(b []byte) error {
+ err := json.Unmarshal(b, bm)
+ return errors.Trace(err)
}
// Job is for a DDL operation.
@@ -894,6 +953,8 @@ type SchemaDiff struct {
OldTableID int64 `json:"old_table_id"`
// OldSchemaID is the schema ID before rename table, only used by rename table DDL.
OldSchemaID int64 `json:"old_schema_id"`
+ // RegenerateSchemaMap means whether to rebuild the schema map when applying to the schema diff.
+ RegenerateSchemaMap bool `json:"regenerate_schema_map"`
AffectedOpts []*AffectedOption `json:"affected_options"`
}
diff --git a/parser/model/ddl_test.go b/parser/model/ddl_test.go
index 7fddcca54e351..d67b6ac91175a 100644
--- a/parser/model/ddl_test.go
+++ b/parser/model/ddl_test.go
@@ -51,3 +51,22 @@ func TestJobSize(t *testing.T) {
job := model.Job{}
require.Equal(t, 288, int(unsafe.Sizeof(job)), msg)
}
+
+func TestBackfillMetaCodec(t *testing.T) {
+ jm := &model.JobMeta{
+ SchemaID: 1,
+ TableID: 2,
+ Query: "alter table t add index idx(a)",
+ Priority: 1,
+ }
+ bm := &model.BackfillMeta{
+ EndInclude: true,
+ ErrMsg: "has a err",
+ JobMeta: jm,
+ }
+ bmBytes, err := bm.Encode()
+ require.NoError(t, err)
+ bmRet := &model.BackfillMeta{}
+ bmRet.Decode(bmBytes)
+ require.Equal(t, bm, bmRet)
+}
diff --git a/parser/model/model.go b/parser/model/model.go
index add3d59d81ba3..70dff656796a6 100644
--- a/parser/model/model.go
+++ b/parser/model/model.go
@@ -25,6 +25,7 @@ import (
"github.com/pingcap/errors"
"github.com/pingcap/tidb/parser/auth"
"github.com/pingcap/tidb/parser/charset"
+ "github.com/pingcap/tidb/parser/duration"
"github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/parser/types"
)
@@ -164,6 +165,9 @@ type ColumnInfo struct {
// Clone clones ColumnInfo.
func (c *ColumnInfo) Clone() *ColumnInfo {
+ if c == nil {
+ return nil
+ }
nc := *c
return &nc
}
@@ -378,8 +382,8 @@ func FindFKInfoByName(fks []*FKInfo, name string) *FKInfo {
}
// FindIndexByColumns find IndexInfo in indices which is cover the specified columns.
-func FindIndexByColumns(tbInfo *TableInfo, cols ...CIStr) *IndexInfo {
- for _, index := range tbInfo.Indices {
+func FindIndexByColumns(tbInfo *TableInfo, indices []*IndexInfo, cols ...CIStr) *IndexInfo {
+ for _, index := range indices {
if IsIndexPrefixCovered(tbInfo, index, cols...) {
return index
}
@@ -443,14 +447,16 @@ const (
// However, the convert is missed in some scenarios before v2.1.9, so for all those tables prior to TableInfoVersion3, their
// charsets / collations will be converted to lower-case while loading from the storage.
TableInfoVersion3 = uint16(3)
- // TableInfoVersion4 indicates that the auto_increment allocator in TiDB has been separated from
- // _tidb_rowid allocator. This version is introduced to preserve the compatibility of old tables:
- // the tables with version < TableInfoVersion4 still use a single allocator for auto_increment and _tidb_rowid.
- // Also see https://github.com/pingcap/tidb/issues/982.
+ // TableInfoVersion4 is not used.
TableInfoVersion4 = uint16(4)
+ // TableInfoVersion5 indicates that the auto_increment allocator in TiDB has been separated from
+ // _tidb_rowid allocator when AUTO_ID_CACHE is 1. This version is introduced to preserve the compatibility of old tables:
+ // the tables with version <= TableInfoVersion4 still use a single allocator for auto_increment and _tidb_rowid.
+ // Also see https://github.com/pingcap/tidb/issues/982.
+ TableInfoVersion5 = uint16(5)
// CurrLatestTableInfoVersion means the latest table info in the current TiDB.
- CurrLatestTableInfoVersion = TableInfoVersion4
+ CurrLatestTableInfoVersion = TableInfoVersion5
)
// ExtraHandleName is the name of ExtraHandle Column.
@@ -545,6 +551,13 @@ type TableInfo struct {
StatsOptions *StatsOptions `json:"stats_options"`
ExchangePartitionInfo *ExchangePartitionInfo `json:"exchange_partition_info"`
+
+ TTLInfo *TTLInfo `json:"ttl_info"`
+}
+
+// SepAutoInc decides whether _rowid and auto_increment id use separate allocator.
+func (t *TableInfo) SepAutoInc() bool {
+ return t.Version >= TableInfoVersion5 && t.AutoIdCache == 1
}
// TableCacheStatusType is the type of the table cache status
@@ -745,6 +758,10 @@ func (t *TableInfo) Clone() *TableInfo {
nt.ForeignKeys[i] = t.ForeignKeys[i].Clone()
}
+ if t.TTLInfo != nil {
+ nt.TTLInfo = t.TTLInfo.Clone()
+ }
+
return &nt
}
@@ -1403,10 +1420,14 @@ type IndexInfo struct {
Primary bool `json:"is_primary"` // Whether the index is primary key.
Invisible bool `json:"is_invisible"` // Whether the index is invisible.
Global bool `json:"is_global"` // Whether the index is global.
+ MVIndex bool `json:"mv_index"` // Whether the index is multivalued index.
}
// Clone clones IndexInfo.
func (index *IndexInfo) Clone() *IndexInfo {
+ if index == nil {
+ return nil
+ }
ni := *index
ni.Columns = make([]*IndexColumn, len(index.Columns))
for i := range index.Columns {
@@ -1733,6 +1754,23 @@ func (p *PolicyInfo) Clone() *PolicyInfo {
return &cloned
}
+// TTLInfo records the TTL config
+type TTLInfo struct {
+ ColumnName CIStr `json:"column"`
+ IntervalExprStr string `json:"interval_expr"`
+ // `IntervalTimeUnit` is actually ast.TimeUnitType. Use `int` to avoid cycle dependency
+ IntervalTimeUnit int `json:"interval_time_unit"`
+ Enable bool `json:"enable"`
+ // JobInterval is the interval between two TTL scan jobs.
+ JobInterval duration.Duration `json:"job_interval"`
+}
+
+// Clone clones TTLInfo
+func (t *TTLInfo) Clone() *TTLInfo {
+ cloned := *t
+ return &cloned
+}
+
func writeSettingItemToBuilder(sb *strings.Builder, item string) {
if sb.Len() != 0 {
sb.WriteString(" ")
@@ -1801,6 +1839,62 @@ func (p *PlacementSettings) Clone() *PlacementSettings {
return &cloned
}
+// ResourceGroupRefInfo is the struct to refer the resource group.
+type ResourceGroupRefInfo struct {
+ ID int64 `json:"id"`
+ Name CIStr `json:"name"`
+}
+
+// ResourceGroupSettings is the settings of the resource group
+type ResourceGroupSettings struct {
+ RRURate uint64 `json:"rru_per_sec"`
+ WRURate uint64 `json:"wru_per_sec"`
+ CPULimiter string `json:"cpu_limit"`
+ IOReadBandwidth string `json:"io_read_bandwidth"`
+ IOWriteBandwidth string `json:"io_write_bandwidth"`
+}
+
+func (p *ResourceGroupSettings) String() string {
+ sb := new(strings.Builder)
+ if p.RRURate != 0 {
+ writeSettingIntegerToBuilder(sb, "RRU_PER_SEC", p.RRURate)
+ }
+ if p.WRURate != 0 {
+ writeSettingIntegerToBuilder(sb, "WRU_PER_SEC", p.WRURate)
+ }
+ if len(p.CPULimiter) > 0 {
+ writeSettingStringToBuilder(sb, "CPU", p.CPULimiter)
+ }
+ if len(p.IOReadBandwidth) > 0 {
+ writeSettingStringToBuilder(sb, "IO_READ_BANDWIDTH", p.IOReadBandwidth)
+ }
+ if len(p.IOWriteBandwidth) > 0 {
+ writeSettingStringToBuilder(sb, "IO_WRITE_BANDWIDTH", p.IOWriteBandwidth)
+ }
+ return sb.String()
+}
+
+// Clone clones the resource group settings.
+func (p *ResourceGroupSettings) Clone() *ResourceGroupSettings {
+ cloned := *p
+ return &cloned
+}
+
+// ResourceGroupInfo is the struct to store the placement policy.
+type ResourceGroupInfo struct {
+ *ResourceGroupSettings
+ ID int64 `json:"id"`
+ Name CIStr `json:"name"`
+ State SchemaState `json:"state"`
+}
+
+// Clone clones the ResourceGroupInfo.
+func (p *ResourceGroupInfo) Clone() *ResourceGroupInfo {
+ cloned := *p
+ cloned.ResourceGroupSettings = p.ResourceGroupSettings.Clone()
+ return &cloned
+}
+
// StatsOptions is the struct to store the stats options.
type StatsOptions struct {
*StatsWindowSettings
diff --git a/parser/model/model_test.go b/parser/model/model_test.go
index 47a8ecad6e4a4..6062df58aabec 100644
--- a/parser/model/model_test.go
+++ b/parser/model/model_test.go
@@ -785,3 +785,23 @@ func TestIsIndexPrefixCovered(t *testing.T) {
require.Equal(t, true, IsIndexPrefixCovered(tbl, i1, NewCIStr("c_4"), NewCIStr("c_2")))
require.Equal(t, false, IsIndexPrefixCovered(tbl, i0, NewCIStr("c_2")))
}
+
+func TestTTLInfoClone(t *testing.T) {
+ ttlInfo := &TTLInfo{
+ ColumnName: NewCIStr("test"),
+ IntervalExprStr: "test_expr",
+ IntervalTimeUnit: 5,
+ Enable: true,
+ }
+
+ clonedTTLInfo := ttlInfo.Clone()
+ clonedTTLInfo.ColumnName = NewCIStr("test_2")
+ clonedTTLInfo.IntervalExprStr = "test_expr_2"
+ clonedTTLInfo.IntervalTimeUnit = 9
+ clonedTTLInfo.Enable = false
+
+ require.Equal(t, "test", ttlInfo.ColumnName.O)
+ require.Equal(t, "test_expr", ttlInfo.IntervalExprStr)
+ require.Equal(t, 5, ttlInfo.IntervalTimeUnit)
+ require.Equal(t, true, ttlInfo.Enable)
+}
diff --git a/parser/mysql/const.go b/parser/mysql/const.go
index 2d8da77f90e64..f836cc05e4286 100644
--- a/parser/mysql/const.go
+++ b/parser/mysql/const.go
@@ -209,6 +209,8 @@ const (
RoleEdgeTable = "role_edges"
// DefaultRoleTable is the table contain default active role info
DefaultRoleTable = "default_roles"
+ // PasswordHistoryTable is the table in system db contains password history.
+ PasswordHistoryTable = "password_history"
)
// MySQL type maximum length.
diff --git a/parser/mysql/errcode.go b/parser/mysql/errcode.go
index f82bbb1e0978f..0ea2134f88d75 100644
--- a/parser/mysql/errcode.go
+++ b/parser/mysql/errcode.go
@@ -884,6 +884,7 @@ const (
ErrErrorLast = 1863
ErrMaxExecTimeExceeded = 1907
ErrInvalidFieldSize = 3013
+ ErrPasswordExpireAnonymousUser = 3016
ErrIncorrectType = 3064
ErrInvalidJSONData = 3069
ErrGeneratedColumnFunctionIsNotAllowed = 3102
diff --git a/parser/mysql/errname.go b/parser/mysql/errname.go
index eef4defcb2465..3066d9f6fb6b0 100644
--- a/parser/mysql/errname.go
+++ b/parser/mysql/errname.go
@@ -899,6 +899,7 @@ var MySQLErrName = map[uint16]*ErrMessage{
ErrDependentByGeneratedColumn: Message("Column '%s' has a generated column dependency.", nil),
ErrGeneratedColumnRefAutoInc: Message("Generated column '%s' cannot refer to auto-increment column.", nil),
ErrInvalidFieldSize: Message("Invalid size for column '%s'.", nil),
+ ErrPasswordExpireAnonymousUser: Message("The password for anonymous user cannot be expired.", nil),
ErrIncorrectType: Message("Incorrect type for argument %s in function %s.", nil),
ErrInvalidJSONData: Message("Invalid JSON data provided to function %s: %s", nil),
ErrInvalidJSONText: Message("Invalid JSON text: %-.192s", nil),
diff --git a/parser/mysql/type.go b/parser/mysql/type.go
index c54d0f8984b63..f79be8ab30d96 100644
--- a/parser/mysql/type.go
+++ b/parser/mysql/type.go
@@ -43,7 +43,7 @@ const (
TypeLongBlob byte = 0xfb
TypeBlob byte = 0xfc
TypeVarString byte = 0xfd
- TypeString byte = 0xfe
+ TypeString byte = 0xfe /* TypeString is char type */
TypeGeometry byte = 0xff
)
diff --git a/parser/mysql/util.go b/parser/mysql/util.go
index 367839b2ce3af..c69e290369598 100644
--- a/parser/mysql/util.go
+++ b/parser/mysql/util.go
@@ -93,3 +93,10 @@ func GetDefaultFieldLengthAndDecimalForCast(tp byte) (flen int, decimal int) {
}
return -1, -1
}
+
+// IsAuthPluginClearText is used to indicated that the plugin need clear-text password.
+func IsAuthPluginClearText(authPlugin string) bool {
+ return authPlugin == AuthNativePassword ||
+ authPlugin == AuthTiDBSM3Password ||
+ authPlugin == AuthCachingSha2Password
+}
diff --git a/parser/parser.go b/parser/parser.go
index c88b33a7073b8..569c7fad80d33 100644
--- a/parser/parser.go
+++ b/parser/parser.go
@@ -34,6 +34,7 @@ import (
"github.com/pingcap/tidb/parser/ast"
"github.com/pingcap/tidb/parser/auth"
"github.com/pingcap/tidb/parser/charset"
+ "github.com/pingcap/tidb/parser/duration"
"github.com/pingcap/tidb/parser/model"
"github.com/pingcap/tidb/parser/mysql"
"github.com/pingcap/tidb/parser/opcode"
@@ -54,2187 +55,2227 @@ type yyXError struct {
}
const (
- yyDefault = 58117
+ yyDefault = 58134
yyEOFCode = 57344
- account = 57575
- action = 57576
- add = 57360
- addDate = 57917
- admin = 58002
- advise = 57577
- after = 57578
- against = 57579
- ago = 57580
- algorithm = 57581
- all = 57361
- alter = 57362
- always = 57582
- analyze = 57363
- and = 57364
- andand = 57355
- andnot = 58078
- any = 57583
- approxCountDistinct = 57918
- approxPercentile = 57919
- as = 57365
- asc = 57366
- ascii = 57584
+ account = 57577
+ action = 57578
+ add = 57361
+ addDate = 57928
+ admin = 58019
+ advise = 57579
+ after = 57580
+ against = 57581
+ ago = 57582
+ algorithm = 57583
+ all = 57362
+ alter = 57363
+ always = 57584
+ analyze = 57364
+ and = 57365
+ andand = 57356
+ andnot = 58095
+ any = 57585
+ approxCountDistinct = 57929
+ approxPercentile = 57930
+ array = 57366
+ as = 57367
+ asc = 57368
+ ascii = 57586
asof = 57347
- assignmentEq = 58079
- attribute = 57585
- attributes = 57586
- autoIdCache = 57591
- autoIncrement = 57592
- autoRandom = 57593
- autoRandomBase = 57594
- avg = 57595
- avgRowLength = 57596
- backend = 57597
- backup = 57598
- backups = 57599
- batch = 58003
- begin = 57600
- bernoulli = 57601
- between = 57367
- bigIntType = 57368
- binaryType = 57369
- binding = 57602
- bindingCache = 57603
- bindings = 57604
- binlog = 57605
- bitAnd = 57920
- bitLit = 58077
- bitOr = 57921
- bitType = 57606
- bitXor = 57922
- blobType = 57370
- block = 57607
- boolType = 57609
- booleanType = 57608
- both = 57371
- bound = 57923
- briefType = 57924
- btree = 57610
- buckets = 58004
- builtinApproxCountDistinct = 58051
- builtinApproxPercentile = 58052
- builtinBitAnd = 58046
- builtinBitOr = 58047
- builtinBitXor = 58048
- builtinCast = 58049
- builtinCount = 58050
- builtinCurDate = 58053
- builtinCurTime = 58054
- builtinDateAdd = 58055
- builtinDateSub = 58056
- builtinExtract = 58057
- builtinGroupConcat = 58058
- builtinMax = 58059
- builtinMin = 58060
- builtinNow = 58061
- builtinPosition = 58062
- builtinStddevPop = 58066
- builtinStddevSamp = 58067
- builtinSubstring = 58063
- builtinSum = 58064
- builtinSysDate = 58065
- builtinTranslate = 58068
- builtinTrim = 58069
- builtinUser = 58070
- builtinVarPop = 58071
- builtinVarSamp = 58072
- builtins = 58005
- by = 57372
- byteType = 57611
- cache = 57612
- call = 57373
- cancel = 58006
- capture = 57613
- cardinality = 58007
- cascade = 57374
- cascaded = 57614
- caseKwd = 57375
- cast = 57925
- causal = 57615
- chain = 57616
- change = 57376
- charType = 57378
- character = 57377
- charsetKwd = 57617
- check = 57379
- checkpoint = 57618
- checksum = 57619
- cipher = 57620
- cleanup = 57621
- client = 57622
- clientErrorsSummary = 57623
- cluster = 57649
- clustered = 57650
- cmSketch = 58008
- coalesce = 57624
- collate = 57380
- collation = 57625
- column = 57381
- columnFormat = 57626
- columnStatsUsage = 58009
- columns = 57627
- comment = 57629
- commit = 57630
- committed = 57631
- compact = 57632
- compressed = 57633
- compression = 57634
- concurrency = 57635
- config = 57628
- connection = 57636
- consistency = 57637
- consistent = 57638
- constraint = 57382
- constraints = 57927
- context = 57639
- convert = 57383
- copyKwd = 57926
- correlation = 58010
- cpu = 57640
- create = 57384
- createTableSelect = 58101
- cross = 57385
- csvBackslashEscape = 57641
- csvDelimiter = 57642
- csvHeader = 57643
- csvNotNull = 57644
- csvNull = 57645
- csvSeparator = 57646
- csvTrimLastSeparators = 57647
- cumeDist = 57386
- curTime = 57928
- current = 57648
- currentDate = 57387
- currentRole = 57391
- currentTime = 57388
- currentTs = 57389
- currentUser = 57390
- cycle = 57651
- data = 57652
- database = 57392
- databases = 57393
- dateAdd = 57929
- dateSub = 57930
- dateType = 57654
- datetimeType = 57653
- day = 57655
- dayHour = 57394
- dayMicrosecond = 57395
- dayMinute = 57396
- daySecond = 57397
- ddl = 58011
- deallocate = 57656
- decLit = 58074
- decimalType = 57398
- defaultKwd = 57399
- definer = 57657
- delayKeyWrite = 57658
- delayed = 57400
- deleteKwd = 57401
- denseRank = 57402
- dependency = 58012
- depth = 58013
- desc = 57403
- describe = 57404
- directory = 57659
- disable = 57660
- disabled = 57661
- discard = 57662
- disk = 57663
- distinct = 57405
- distinctRow = 57406
- div = 57407
- do = 57664
- dotType = 57931
- doubleAtIdentifier = 57352
- doubleType = 57408
- drainer = 58014
- drop = 57409
- dry = 58015
- dual = 57410
- dump = 57932
- duplicate = 57665
- dynamic = 57666
- elseKwd = 57411
- empty = 58092
- enable = 57667
- enabled = 57668
- enclosed = 57412
- encryption = 57669
- end = 57670
- enforced = 57671
- engine = 57672
- engines = 57673
- enum = 57674
- eq = 58080
+ assignmentEq = 58096
+ attribute = 57587
+ attributes = 57588
+ autoIdCache = 57593
+ autoIncrement = 57594
+ autoRandom = 57595
+ autoRandomBase = 57596
+ avg = 57597
+ avgRowLength = 57598
+ backend = 57599
+ backup = 57600
+ backups = 57601
+ batch = 58020
+ begin = 57602
+ bernoulli = 57603
+ between = 57369
+ bigIntType = 57370
+ binaryType = 57371
+ binding = 57604
+ bindingCache = 57605
+ bindings = 57606
+ binlog = 57607
+ bitAnd = 57931
+ bitLit = 58094
+ bitOr = 57932
+ bitType = 57608
+ bitXor = 57933
+ blobType = 57372
+ block = 57609
+ boolType = 57611
+ booleanType = 57610
+ both = 57373
+ bound = 57934
+ briefType = 57935
+ btree = 57612
+ buckets = 58021
+ builtinApproxCountDistinct = 58068
+ builtinApproxPercentile = 58069
+ builtinBitAnd = 58063
+ builtinBitOr = 58064
+ builtinBitXor = 58065
+ builtinCast = 58066
+ builtinCount = 58067
+ builtinCurDate = 58070
+ builtinCurTime = 58071
+ builtinDateAdd = 58072
+ builtinDateSub = 58073
+ builtinExtract = 58074
+ builtinGroupConcat = 58075
+ builtinMax = 58076
+ builtinMin = 58077
+ builtinNow = 58078
+ builtinPosition = 58079
+ builtinStddevPop = 58083
+ builtinStddevSamp = 58084
+ builtinSubstring = 58080
+ builtinSum = 58081
+ builtinSysDate = 58082
+ builtinTranslate = 58085
+ builtinTrim = 58086
+ builtinUser = 58087
+ builtinVarPop = 58088
+ builtinVarSamp = 58089
+ builtins = 58022
+ by = 57374
+ byteType = 57613
+ cache = 57614
+ call = 57375
+ cancel = 58023
+ capture = 57615
+ cardinality = 58024
+ cascade = 57376
+ cascaded = 57616
+ caseKwd = 57377
+ cast = 57936
+ causal = 57617
+ chain = 57618
+ change = 57378
+ charType = 57380
+ character = 57379
+ charsetKwd = 57619
+ check = 57381
+ checkpoint = 57620
+ checksum = 57621
+ cipher = 57622
+ cleanup = 57623
+ client = 57624
+ clientErrorsSummary = 57625
+ cluster = 57651
+ clustered = 57652
+ cmSketch = 58025
+ coalesce = 57626
+ collate = 57382
+ collation = 57627
+ column = 57383
+ columnFormat = 57628
+ columnStatsUsage = 58026
+ columns = 57629
+ comment = 57631
+ commit = 57632
+ committed = 57633
+ compact = 57634
+ compressed = 57635
+ compression = 57636
+ concurrency = 57637
+ config = 57630
+ connection = 57638
+ consistency = 57639
+ consistent = 57640
+ constraint = 57384
+ constraints = 57938
+ context = 57641
+ convert = 57385
+ copyKwd = 57937
+ correlation = 58027
+ cpu = 57642
+ create = 57386
+ createTableSelect = 58118
+ cross = 57387
+ csvBackslashEscape = 57643
+ csvDelimiter = 57644
+ csvHeader = 57645
+ csvNotNull = 57646
+ csvNull = 57647
+ csvSeparator = 57648
+ csvTrimLastSeparators = 57649
+ cumeDist = 57388
+ curDate = 57940
+ curTime = 57939
+ current = 57650
+ currentDate = 57389
+ currentRole = 57393
+ currentTime = 57390
+ currentTs = 57391
+ currentUser = 57392
+ cycle = 57653
+ data = 57654
+ database = 57394
+ databases = 57395
+ dateAdd = 57941
+ dateSub = 57942
+ dateType = 57656
+ datetimeType = 57655
+ day = 57657
+ dayHour = 57396
+ dayMicrosecond = 57397
+ dayMinute = 57398
+ daySecond = 57399
+ ddl = 58028
+ deallocate = 57658
+ decLit = 58091
+ decimalType = 57400
+ defaultKwd = 57401
+ definer = 57659
+ delayKeyWrite = 57660
+ delayed = 57402
+ deleteKwd = 57403
+ denseRank = 57404
+ dependency = 58029
+ depth = 58030
+ desc = 57405
+ describe = 57406
+ digest = 57661
+ directory = 57662
+ disable = 57663
+ disabled = 57664
+ discard = 57665
+ disk = 57666
+ distinct = 57407
+ distinctRow = 57408
+ div = 57409
+ do = 57667
+ dotType = 57943
+ doubleAtIdentifier = 57353
+ doubleType = 57410
+ drainer = 58031
+ drop = 57411
+ dry = 58032
+ dual = 57412
+ dump = 57944
+ duplicate = 57668
+ dynamic = 57669
+ elseKwd = 57413
+ empty = 58109
+ enable = 57670
+ enabled = 57671
+ enclosed = 57414
+ encryption = 57672
+ end = 57673
+ enforced = 57674
+ engine = 57675
+ engines = 57676
+ enum = 57677
+ eq = 58097
yyErrCode = 57345
- errorKwd = 57675
- escape = 57676
- escaped = 57413
- event = 57677
- events = 57678
- evolve = 57679
- exact = 57933
- except = 57416
- exchange = 57680
- exclusive = 57681
- execute = 57682
- exists = 57414
- expansion = 57683
- expire = 57684
- explain = 57415
- exprPushdownBlacklist = 57934
- extended = 57685
- extract = 57935
- falseKwd = 57417
- faultsSym = 57686
- fetch = 57418
- fields = 57687
- file = 57688
- first = 57689
- firstValue = 57419
- fixed = 57690
- flashback = 57936
- floatLit = 58073
- floatType = 57420
- flush = 57691
- follower = 57937
- followerConstraints = 57938
- followers = 57939
- following = 57692
- forKwd = 57421
- force = 57422
- foreign = 57423
- format = 57693
- from = 57424
- full = 57694
- fulltext = 57425
- function = 57695
- ge = 58081
- general = 57696
- generated = 57426
- getFormat = 57940
- global = 57697
- grant = 57427
- grants = 57698
- group = 57428
- groupConcat = 57941
- groups = 57429
- hash = 57699
- having = 57430
- help = 57700
- hexLit = 58076
- highPriority = 57431
- higherThanComma = 58116
- higherThanParenthese = 58110
- hintComment = 57354
- histogram = 57701
- histogramsInFlight = 58035
- history = 57702
- hosts = 57703
- hour = 57704
- hourMicrosecond = 57432
- hourMinute = 57433
- hourSecond = 57434
- identSQLErrors = 57706
- identified = 57705
+ errorKwd = 57678
+ escape = 57679
+ escaped = 57415
+ event = 57680
+ events = 57681
+ evolve = 57682
+ exact = 57945
+ except = 57418
+ exchange = 57683
+ exclusive = 57684
+ execute = 57685
+ exists = 57416
+ expansion = 57686
+ expire = 57687
+ explain = 57417
+ exprPushdownBlacklist = 57946
+ extended = 57688
+ extract = 57947
+ failedLoginAttempts = 57926
+ falseKwd = 57419
+ faultsSym = 57689
+ fetch = 57420
+ fields = 57690
+ file = 57691
+ first = 57692
+ firstValue = 57421
+ fixed = 57693
+ flashback = 57948
+ floatLit = 58090
+ floatType = 57422
+ flush = 57694
+ follower = 57949
+ followerConstraints = 57950
+ followers = 57951
+ following = 57695
+ forKwd = 57423
+ force = 57424
+ foreign = 57425
+ format = 57696
+ from = 57426
+ full = 57697
+ fulltext = 57427
+ function = 57698
+ ge = 58098
+ general = 57699
+ generated = 57428
+ getFormat = 57952
+ global = 57700
+ grant = 57429
+ grants = 57701
+ group = 57430
+ groupConcat = 57953
+ groups = 57431
+ hash = 57702
+ having = 57432
+ help = 57703
+ hexLit = 58093
+ highPriority = 57433
+ higherThanComma = 58133
+ higherThanParenthese = 58127
+ hintComment = 57355
+ histogram = 57704
+ histogramsInFlight = 58052
+ history = 57705
+ hosts = 57706
+ hour = 57707
+ hourMicrosecond = 57434
+ hourMinute = 57435
+ hourSecond = 57436
+ identSQLErrors = 57709
+ identified = 57708
identifier = 57346
- ifKwd = 57435
- ignore = 57436
- importKwd = 57707
- imports = 57708
- in = 57437
- increment = 57709
- incremental = 57710
- index = 57438
- indexes = 57711
- infile = 57439
- inner = 57440
- inplace = 57943
- insert = 57447
- insertMethod = 57712
- insertValues = 58099
- instance = 57713
- instant = 57944
- int1Type = 57449
- int2Type = 57450
- int3Type = 57451
- int4Type = 57452
- int8Type = 57453
- intLit = 58075
- intType = 57448
- integerType = 57441
- internal = 57945
- intersect = 57442
- interval = 57443
- into = 57444
- invalid = 57353
- invisible = 57714
- invoker = 57715
- io = 57716
- ipc = 57717
- is = 57446
- isolation = 57718
- issuer = 57719
- job = 58017
- jobs = 58016
- join = 57454
- jsonArrayagg = 57946
- jsonObjectAgg = 57947
- jsonType = 57720
- jss = 58083
- juss = 58084
- key = 57455
- keyBlockSize = 57721
- keys = 57456
- kill = 57457
- labels = 57722
- lag = 57458
- language = 57723
- last = 57724
- lastBackup = 57725
- lastValue = 57459
- lastval = 57726
- le = 58082
- lead = 57460
- leader = 57948
- leaderConstraints = 57949
- leading = 57461
- learner = 57950
- learnerConstraints = 57951
- learners = 57952
- left = 57462
- less = 57727
- level = 57728
- like = 57463
- limit = 57464
- linear = 57466
- lines = 57465
- list = 57729
- load = 57467
- local = 57730
- localTime = 57468
- localTs = 57469
- location = 57732
- lock = 57470
- locked = 57731
- logs = 57733
- long = 57560
- longblobType = 57471
- longtextType = 57472
- lowPriority = 57473
- lowerThanCharsetKwd = 58102
- lowerThanComma = 58115
- lowerThanCreateTableSelect = 58100
- lowerThanEq = 58112
- lowerThanFunction = 58107
- lowerThanInsertValues = 58098
- lowerThanKey = 58103
- lowerThanLocal = 58104
- lowerThanNot = 58114
- lowerThanOn = 58111
- lowerThanParenthese = 58109
- lowerThanRemove = 58105
- lowerThanSelectOpt = 58093
- lowerThanSelectStmt = 58097
- lowerThanSetKeyword = 58096
- lowerThanStringLitToken = 58095
- lowerThanValueKeyword = 58094
- lowerThenOrder = 58106
- lsh = 58085
- master = 57734
- match = 57474
- max = 57954
- maxConnectionsPerHour = 57737
- maxQueriesPerHour = 57738
- maxRows = 57739
- maxUpdatesPerHour = 57740
- maxUserConnections = 57741
- maxValue = 57475
- max_idxnum = 57735
- max_minutes = 57736
- mb = 57742
- mediumIntType = 57477
- mediumblobType = 57476
- mediumtextType = 57478
- memory = 57743
- merge = 57744
- microsecond = 57745
- min = 57953
- minRows = 57746
- minValue = 57748
- minute = 57747
- minuteMicrosecond = 57479
- minuteSecond = 57480
- mod = 57481
- mode = 57749
- modify = 57750
- month = 57751
- names = 57752
- national = 57753
- natural = 57574
- ncharType = 57754
- neg = 58113
- neq = 58086
- neqSynonym = 58087
- never = 57755
- next = 57756
- next_row_id = 57942
- nextval = 57757
- no = 57758
- noWriteToBinLog = 57483
- nocache = 57759
- nocycle = 57760
- nodeID = 58018
- nodeState = 58019
- nodegroup = 57761
- nomaxvalue = 57762
- nominvalue = 57763
- nonclustered = 57764
- none = 57765
- not = 57482
- not2 = 58091
- now = 57955
- nowait = 57766
- nthValue = 57484
- ntile = 57485
- null = 57486
- nulleq = 58088
- nulls = 57768
- numericType = 57487
- nvarcharType = 57767
- odbcDateType = 57357
- odbcTimeType = 57358
- odbcTimestampType = 57359
- of = 57488
- off = 57769
- offset = 57770
- on = 57489
- onDuplicate = 57771
- online = 57772
- only = 57773
- open = 57774
- optRuleBlacklist = 57956
- optimistic = 58020
- optimize = 57490
- option = 57491
- optional = 57775
- optionally = 57492
- or = 57493
- order = 57494
- outer = 57495
- outfile = 57445
- over = 57496
- packKeys = 57776
- pageSym = 57777
- paramMarker = 58089
- parser = 57778
- partial = 57779
- partition = 57497
- partitioning = 57780
- partitions = 57781
- password = 57782
- per_db = 57784
- per_table = 57785
- percent = 57783
- percentRank = 57498
- pessimistic = 58021
- pipes = 57356
- pipesAsOr = 57786
- placement = 57957
- plan = 57958
- planCache = 57959
- plugins = 57787
- policy = 57788
- position = 57960
- preSplitRegions = 57789
- preceding = 57790
- precisionType = 57499
- predicate = 57961
- prepare = 57791
- preserve = 57792
- primary = 57500
- primaryRegion = 57962
- privileges = 57793
- procedure = 57501
- process = 57794
- processlist = 57795
- profile = 57796
- profiles = 57797
- proxy = 57798
- pump = 58022
- purge = 57799
- quarter = 57800
- queries = 57801
- query = 57802
- quick = 57803
- rangeKwd = 57502
- rank = 57503
- rateLimit = 57804
- read = 57504
- realType = 57505
- rebuild = 57805
- recent = 57963
- recover = 57806
- recursive = 57506
- redundant = 57807
- references = 57507
- regexpKwd = 57508
- region = 58045
- regions = 58044
- release = 57509
- reload = 57808
- remove = 57809
- rename = 57510
- reorganize = 57810
- repair = 57811
- repeat = 57511
- repeatable = 57812
- replace = 57512
- replayer = 57964
- replica = 57813
- replicas = 57814
- replication = 57815
- require = 57513
- required = 57816
- reset = 58043
- respect = 57817
- restart = 57818
- restore = 57819
- restores = 57820
- restrict = 57514
- resume = 57821
- reverse = 57822
- revoke = 57515
- right = 57516
- rlike = 57517
- role = 57823
- rollback = 57824
- routine = 57825
- row = 57518
- rowCount = 57826
- rowFormat = 57827
- rowNumber = 57520
- rows = 57519
- rsh = 58090
- rtree = 57828
- run = 58023
- running = 57965
- s3 = 57966
- sampleRate = 58025
- samples = 58024
- san = 57829
- savepoint = 57830
- schedule = 57967
- second = 57831
- secondMicrosecond = 57521
- secondaryEngine = 57832
- secondaryLoad = 57833
- secondaryUnload = 57834
- security = 57835
- selectKwd = 57522
- sendCredentialsToTiKV = 57836
- separator = 57837
- sequence = 57838
- serial = 57839
- serializable = 57840
- session = 57841
- sessionStates = 58026
- set = 57523
- setval = 57842
- shardRowIDBits = 57843
- share = 57844
- shared = 57845
- show = 57524
- shutdown = 57846
- signed = 57847
- simple = 57848
- singleAtIdentifier = 57351
- skip = 57849
- skipSchemaFiles = 57850
- slave = 57851
- slow = 57852
- smallIntType = 57525
- snapshot = 57853
- some = 57854
- source = 57855
- spatial = 57526
- split = 58041
- sql = 57527
- sqlBigResult = 57528
- sqlBufferResult = 57856
- sqlCache = 57857
- sqlCalcFoundRows = 57529
- sqlNoCache = 57858
- sqlSmallResult = 57530
- sqlTsiDay = 57859
- sqlTsiHour = 57860
- sqlTsiMinute = 57861
- sqlTsiMonth = 57862
- sqlTsiQuarter = 57863
- sqlTsiSecond = 57864
- sqlTsiWeek = 57865
- sqlTsiYear = 57866
- ssl = 57531
- staleness = 57968
- start = 57867
- starting = 57532
- statistics = 58027
- stats = 58028
- statsAutoRecalc = 57868
- statsBuckets = 58031
- statsColChoice = 57589
- statsColList = 57590
- statsExtended = 57533
- statsHealthy = 58032
- statsHistograms = 58030
- statsLocked = 58034
- statsMeta = 58029
- statsOptions = 57587
- statsPersistent = 57869
- statsSamplePages = 57870
- statsSampleRate = 57588
- statsTopN = 58033
- status = 57871
- std = 57969
- stddev = 57970
- stddevPop = 57971
- stddevSamp = 57972
- stop = 57973
- storage = 57872
- stored = 57538
- straightJoin = 57534
- strict = 57974
- strictFormat = 57873
- stringLit = 57350
- strong = 57975
- subDate = 57976
- subject = 57874
- subpartition = 57875
- subpartitions = 57876
- substring = 57978
- sum = 57977
- super = 57877
- swaps = 57878
- switchesSym = 57879
- system = 57880
- systemTime = 57881
- tableChecksum = 57882
- tableKwd = 57536
- tableRefPriority = 58108
- tableSample = 57537
- tables = 57883
- tablespace = 57884
- target = 57979
- telemetry = 58036
- telemetryID = 58037
- temporary = 57885
- temptable = 57886
- terminated = 57539
- textType = 57887
- than = 57888
- then = 57540
- tiFlash = 58039
- tidb = 58038
- tidbCurrentTSO = 57535
- tikvImporter = 57889
- timeType = 57891
- timestampAdd = 57980
- timestampDiff = 57981
- timestampType = 57890
- tinyIntType = 57542
- tinyblobType = 57541
- tinytextType = 57543
- tls = 57982
- to = 57544
+ ifKwd = 57437
+ ignore = 57438
+ importKwd = 57710
+ imports = 57711
+ in = 57439
+ increment = 57712
+ incremental = 57713
+ index = 57440
+ indexes = 57714
+ infile = 57441
+ inner = 57442
+ inplace = 57955
+ insert = 57449
+ insertMethod = 57715
+ insertValues = 58116
+ instance = 57716
+ instant = 57956
+ int1Type = 57451
+ int2Type = 57452
+ int3Type = 57453
+ int4Type = 57454
+ int8Type = 57455
+ intLit = 58092
+ intType = 57450
+ integerType = 57443
+ internal = 57957
+ intersect = 57444
+ interval = 57445
+ into = 57446
+ invalid = 57354
+ invisible = 57717
+ invoker = 57718
+ io = 57719
+ ioReadBandwidth = 58017
+ ioWriteBandwidth = 58018
+ ipc = 57720
+ is = 57448
+ isolation = 57721
+ issuer = 57722
+ job = 58034
+ jobs = 58033
+ join = 57456
+ jsonArrayagg = 57958
+ jsonObjectAgg = 57959
+ jsonType = 57723
+ jss = 58100
+ juss = 58101
+ key = 57457
+ keyBlockSize = 57724
+ keys = 57458
+ kill = 57459
+ labels = 57725
+ lag = 57460
+ language = 57726
+ last = 57727
+ lastBackup = 57728
+ lastValue = 57461
+ lastval = 57729
+ le = 58099
+ lead = 57462
+ leader = 57960
+ leaderConstraints = 57961
+ leading = 57463
+ learner = 57962
+ learnerConstraints = 57963
+ learners = 57964
+ left = 57464
+ less = 57730
+ level = 57731
+ like = 57465
+ limit = 57466
+ linear = 57468
+ lines = 57467
+ list = 57732
+ load = 57469
+ local = 57733
+ localTime = 57470
+ localTs = 57471
+ location = 57735
+ lock = 57472
+ locked = 57734
+ logs = 57736
+ long = 57562
+ longblobType = 57473
+ longtextType = 57474
+ lowPriority = 57475
+ lowerThanCharsetKwd = 58119
+ lowerThanComma = 58132
+ lowerThanCreateTableSelect = 58117
+ lowerThanEq = 58129
+ lowerThanFunction = 58124
+ lowerThanInsertValues = 58115
+ lowerThanKey = 58120
+ lowerThanLocal = 58121
+ lowerThanNot = 58131
+ lowerThanOn = 58128
+ lowerThanParenthese = 58126
+ lowerThanRemove = 58122
+ lowerThanSelectOpt = 58110
+ lowerThanSelectStmt = 58114
+ lowerThanSetKeyword = 58113
+ lowerThanStringLitToken = 58112
+ lowerThanValueKeyword = 58111
+ lowerThenOrder = 58123
+ lsh = 58102
+ master = 57737
+ match = 57476
+ max = 57966
+ maxConnectionsPerHour = 57740
+ maxQueriesPerHour = 57741
+ maxRows = 57742
+ maxUpdatesPerHour = 57743
+ maxUserConnections = 57744
+ maxValue = 57477
+ max_idxnum = 57738
+ max_minutes = 57739
+ mb = 57745
+ mediumIntType = 57479
+ mediumblobType = 57478
+ mediumtextType = 57480
+ member = 57746
+ memberof = 57349
+ memory = 57747
+ merge = 57748
+ microsecond = 57749
+ min = 57965
+ minRows = 57750
+ minValue = 57752
+ minute = 57751
+ minuteMicrosecond = 57481
+ minuteSecond = 57482
+ mod = 57483
+ mode = 57753
+ modify = 57754
+ month = 57755
+ names = 57756
+ national = 57757
+ natural = 57576
+ ncharType = 57758
+ neg = 58130
+ neq = 58103
+ neqSynonym = 58104
+ never = 57759
+ next = 57760
+ next_row_id = 57954
+ nextval = 57761
+ no = 57762
+ noWriteToBinLog = 57485
+ nocache = 57763
+ nocycle = 57764
+ nodeID = 58035
+ nodeState = 58036
+ nodegroup = 57765
+ nomaxvalue = 57766
+ nominvalue = 57767
+ nonclustered = 57768
+ none = 57769
+ not = 57484
+ not2 = 58108
+ now = 57967
+ nowait = 57770
+ nthValue = 57486
+ ntile = 57487
+ null = 57488
+ nulleq = 58105
+ nulls = 57772
+ numericType = 57489
+ nvarcharType = 57771
+ odbcDateType = 57358
+ odbcTimeType = 57359
+ odbcTimestampType = 57360
+ of = 57490
+ off = 57773
+ offset = 57774
+ on = 57491
+ onDuplicate = 57775
+ online = 57776
+ only = 57777
+ open = 57778
+ optRuleBlacklist = 57968
+ optimistic = 58037
+ optimize = 57492
+ option = 57493
+ optional = 57779
+ optionally = 57494
+ or = 57495
+ order = 57496
+ outer = 57497
+ outfile = 57447
+ over = 57498
+ packKeys = 57780
+ pageSym = 57781
+ paramMarker = 58106
+ parser = 57782
+ partial = 57783
+ partition = 57499
+ partitioning = 57784
+ partitions = 57785
+ password = 57786
+ passwordLockTime = 57927
+ per_db = 57788
+ per_table = 57789
+ percent = 57787
+ percentRank = 57500
+ pessimistic = 58038
+ pipes = 57357
+ pipesAsOr = 57790
+ placement = 57969
+ plan = 57970
+ planCache = 57971
+ plugins = 57791
+ policy = 57792
+ position = 57972
+ preSplitRegions = 57793
+ preceding = 57794
+ precisionType = 57501
+ predicate = 57973
+ prepare = 57795
+ preserve = 57796
+ primary = 57502
+ primaryRegion = 57974
+ privileges = 57797
+ procedure = 57503
+ process = 57798
+ processlist = 57799
+ profile = 57800
+ profiles = 57801
+ proxy = 57802
+ pump = 58039
+ purge = 57803
+ quarter = 57804
+ queries = 57805
+ query = 57806
+ quick = 57807
+ rangeKwd = 57504
+ rank = 57505
+ rateLimit = 57808
+ read = 57506
+ realType = 57507
+ rebuild = 57809
+ recent = 57975
+ recover = 57810
+ recursive = 57508
+ redundant = 57811
+ references = 57509
+ regexpKwd = 57510
+ region = 58062
+ regions = 58061
+ release = 57511
+ reload = 57812
+ remove = 57813
+ rename = 57512
+ reorganize = 57814
+ repair = 57815
+ repeat = 57513
+ repeatable = 57816
+ replace = 57514
+ replayer = 57976
+ replica = 57817
+ replicas = 57818
+ replication = 57819
+ require = 57515
+ required = 57820
+ reset = 58060
+ resource = 57821
+ respect = 57822
+ restart = 57823
+ restore = 57824
+ restores = 57825
+ restrict = 57516
+ resume = 57826
+ reuse = 57827
+ reverse = 57828
+ revoke = 57517
+ right = 57518
+ rlike = 57519
+ role = 57829
+ rollback = 57830
+ routine = 57831
+ row = 57520
+ rowCount = 57832
+ rowFormat = 57833
+ rowNumber = 57522
+ rows = 57521
+ rruRate = 58015
+ rsh = 58107
+ rtree = 57834
+ run = 58040
+ running = 57977
+ s3 = 57978
+ sampleRate = 58042
+ samples = 58041
+ san = 57835
+ savepoint = 57836
+ schedule = 57979
+ second = 57837
+ secondMicrosecond = 57523
+ secondaryEngine = 57838
+ secondaryLoad = 57839
+ secondaryUnload = 57840
+ security = 57841
+ selectKwd = 57524
+ sendCredentialsToTiKV = 57842
+ separator = 57843
+ sequence = 57844
+ serial = 57845
+ serializable = 57846
+ session = 57847
+ sessionStates = 58043
+ set = 57525
+ setval = 57848
+ shardRowIDBits = 57849
+ share = 57850
+ shared = 57851
+ show = 57526
+ shutdown = 57852
+ signed = 57853
+ simple = 57854
+ singleAtIdentifier = 57352
+ skip = 57855
+ skipSchemaFiles = 57856
+ slave = 57857
+ slow = 57858
+ smallIntType = 57527
+ snapshot = 57859
+ some = 57860
+ source = 57861
+ spatial = 57528
+ split = 58058
+ sql = 57529
+ sqlBigResult = 57530
+ sqlBufferResult = 57862
+ sqlCache = 57863
+ sqlCalcFoundRows = 57531
+ sqlNoCache = 57864
+ sqlSmallResult = 57532
+ sqlTsiDay = 57865
+ sqlTsiHour = 57866
+ sqlTsiMinute = 57867
+ sqlTsiMonth = 57868
+ sqlTsiQuarter = 57869
+ sqlTsiSecond = 57870
+ sqlTsiWeek = 57871
+ sqlTsiYear = 57872
+ ssl = 57533
+ staleness = 57980
+ start = 57873
+ starting = 57534
+ statistics = 58044
+ stats = 58045
+ statsAutoRecalc = 57874
+ statsBuckets = 58048
+ statsColChoice = 57591
+ statsColList = 57592
+ statsExtended = 57535
+ statsHealthy = 58049
+ statsHistograms = 58047
+ statsLocked = 58051
+ statsMeta = 58046
+ statsOptions = 57589
+ statsPersistent = 57875
+ statsSamplePages = 57876
+ statsSampleRate = 57590
+ statsTopN = 58050
+ status = 57877
+ std = 57981
+ stddev = 57982
+ stddevPop = 57983
+ stddevSamp = 57984
+ stop = 57985
+ storage = 57878
+ stored = 57540
+ straightJoin = 57536
+ strict = 57986
+ strictFormat = 57879
+ stringLit = 57351
+ strong = 57987
+ subDate = 57988
+ subject = 57880
+ subpartition = 57881
+ subpartitions = 57882
+ substring = 57990
+ sum = 57989
+ super = 57883
+ swaps = 57884
+ switchesSym = 57885
+ system = 57886
+ systemTime = 57887
+ tableChecksum = 57888
+ tableKwd = 57538
+ tableRefPriority = 58125
+ tableSample = 57539
+ tables = 57889
+ tablespace = 57890
+ target = 57991
+ telemetry = 58053
+ telemetryID = 58054
+ temporary = 57891
+ temptable = 57892
+ terminated = 57541
+ textType = 57893
+ than = 57894
+ then = 57542
+ tiFlash = 58056
+ tidb = 58055
+ tidbCurrentTSO = 57537
+ tidbJson = 57992
+ tikvImporter = 57895
+ timeType = 57897
+ timestampAdd = 57993
+ timestampDiff = 57994
+ timestampType = 57896
+ tinyIntType = 57544
+ tinyblobType = 57543
+ tinytextType = 57545
+ tls = 57995
+ to = 57546
toTimestamp = 57348
- tokenIssuer = 57892
- tokudbDefault = 57983
- tokudbFast = 57984
- tokudbLzma = 57985
- tokudbQuickLZ = 57986
- tokudbSmall = 57988
- tokudbSnappy = 57987
- tokudbUncompressed = 57989
- tokudbZlib = 57990
- tokudbZstd = 57991
- top = 57992
- topn = 58040
- tp = 57893
- trace = 57894
- traditional = 57895
- trailing = 57545
- transaction = 57896
- trigger = 57546
- triggers = 57897
- trim = 57993
- trueCardCost = 57998
- trueKwd = 57547
- truncate = 57898
- unbounded = 57899
- uncommitted = 57900
- undefined = 57901
- underscoreCS = 57349
- unicodeSym = 57902
- union = 57549
- unique = 57548
- unknown = 57903
- unlock = 57550
- unsigned = 57551
- update = 57552
- usage = 57553
- use = 57554
- user = 57904
- using = 57555
- utcDate = 57556
- utcTime = 57558
- utcTimestamp = 57557
- validation = 57905
- value = 57906
- values = 57559
- varPop = 57995
- varSamp = 57996
- varbinaryType = 57563
- varcharType = 57561
- varcharacter = 57562
- variables = 57907
- variance = 57994
- varying = 57564
- verboseType = 57997
- view = 57908
- virtual = 57565
- visible = 57909
- voter = 57999
- voterConstraints = 58000
- voters = 58001
- wait = 57916
- warnings = 57910
- week = 57911
- weightString = 57912
- when = 57566
- where = 57567
- width = 58042
- window = 57569
- with = 57570
- without = 57913
- write = 57568
- x509 = 57914
- xor = 57571
- yearMonth = 57572
- yearType = 57915
- zerofill = 57573
+ tokenIssuer = 57898
+ tokudbDefault = 57996
+ tokudbFast = 57997
+ tokudbLzma = 57998
+ tokudbQuickLZ = 57999
+ tokudbSmall = 58001
+ tokudbSnappy = 58000
+ tokudbUncompressed = 58002
+ tokudbZlib = 58003
+ tokudbZstd = 58004
+ top = 58005
+ topn = 58057
+ tp = 57899
+ trace = 57900
+ traditional = 57901
+ trailing = 57547
+ transaction = 57902
+ trigger = 57548
+ triggers = 57903
+ trim = 58006
+ trueCardCost = 58011
+ trueKwd = 57549
+ truncate = 57904
+ ttl = 57905
+ ttlEnable = 57906
+ ttlJobInterval = 57907
+ unbounded = 57908
+ uncommitted = 57909
+ undefined = 57910
+ underscoreCS = 57350
+ unicodeSym = 57911
+ union = 57551
+ unique = 57550
+ unknown = 57912
+ unlock = 57552
+ unsigned = 57553
+ update = 57554
+ usage = 57555
+ use = 57556
+ user = 57913
+ using = 57557
+ utcDate = 57558
+ utcTime = 57560
+ utcTimestamp = 57559
+ validation = 57914
+ value = 57915
+ values = 57561
+ varPop = 58008
+ varSamp = 58009
+ varbinaryType = 57565
+ varcharType = 57563
+ varcharacter = 57564
+ variables = 57916
+ variance = 58007
+ varying = 57566
+ verboseType = 58010
+ view = 57917
+ virtual = 57567
+ visible = 57918
+ voter = 58012
+ voterConstraints = 58013
+ voters = 58014
+ wait = 57925
+ warnings = 57919
+ week = 57920
+ weightString = 57921
+ when = 57568
+ where = 57569
+ width = 58059
+ window = 57571
+ with = 57572
+ without = 57922
+ write = 57570
+ wruRate = 58016
+ x509 = 57923
+ xor = 57573
+ yearMonth = 57574
+ yearType = 57924
+ zerofill = 57575
yyMaxDepth = 200
- yyTabOfs = -2557
+ yyTabOfs = -2610
)
var (
yyXLAT = map[int]int{
- 57344: 0, // $end (2265x)
- 59: 1, // ';' (2264x)
- 58041: 2, // split (1878x)
- 57744: 3, // merge (1877x)
- 57809: 4, // remove (1876x)
- 57810: 5, // reorganize (1876x)
- 57629: 6, // comment (1866x)
- 57872: 7, // storage (1784x)
- 57592: 8, // autoIncrement (1773x)
- 44: 9, // ',' (1686x)
- 57689: 10, // first (1675x)
- 57578: 11, // after (1669x)
- 57839: 12, // serial (1665x)
- 57593: 13, // autoRandom (1664x)
- 57626: 14, // columnFormat (1664x)
- 57782: 15, // password (1633x)
- 57617: 16, // charsetKwd (1630x)
- 57619: 17, // checksum (1618x)
- 57957: 18, // placement (1616x)
- 57721: 19, // keyBlockSize (1600x)
- 57884: 20, // tablespace (1597x)
- 57669: 21, // encryption (1595x)
- 57672: 22, // engine (1592x)
- 57652: 23, // data (1590x)
- 57712: 24, // insertMethod (1588x)
- 57739: 25, // maxRows (1588x)
- 57746: 26, // minRows (1588x)
- 57761: 27, // nodegroup (1588x)
- 57636: 28, // connection (1580x)
- 57594: 29, // autoRandomBase (1577x)
- 58031: 30, // statsBuckets (1575x)
- 58033: 31, // statsTopN (1575x)
- 57591: 32, // autoIdCache (1574x)
- 57596: 33, // avgRowLength (1574x)
- 57634: 34, // compression (1574x)
- 57658: 35, // delayKeyWrite (1574x)
- 57776: 36, // packKeys (1574x)
- 57789: 37, // preSplitRegions (1574x)
- 57827: 38, // rowFormat (1574x)
- 57832: 39, // secondaryEngine (1574x)
- 57843: 40, // shardRowIDBits (1574x)
- 57868: 41, // statsAutoRecalc (1574x)
- 57589: 42, // statsColChoice (1574x)
- 57590: 43, // statsColList (1574x)
- 57869: 44, // statsPersistent (1574x)
- 57870: 45, // statsSamplePages (1574x)
- 57588: 46, // statsSampleRate (1574x)
- 57882: 47, // tableChecksum (1574x)
- 57585: 48, // attribute (1523x)
- 57575: 49, // account (1521x)
- 41: 50, // ')' (1514x)
- 57821: 51, // resume (1510x)
- 57847: 52, // signed (1510x)
- 57853: 53, // snapshot (1509x)
- 57597: 54, // backend (1508x)
- 57618: 55, // checkpoint (1508x)
- 57635: 56, // concurrency (1508x)
- 57641: 57, // csvBackslashEscape (1508x)
- 57642: 58, // csvDelimiter (1508x)
- 57643: 59, // csvHeader (1508x)
- 57644: 60, // csvNotNull (1508x)
- 57645: 61, // csvNull (1508x)
- 57646: 62, // csvSeparator (1508x)
- 57647: 63, // csvTrimLastSeparators (1508x)
- 57725: 64, // lastBackup (1508x)
- 57771: 65, // onDuplicate (1508x)
- 57772: 66, // online (1508x)
- 57804: 67, // rateLimit (1508x)
- 57836: 68, // sendCredentialsToTiKV (1508x)
- 57850: 69, // skipSchemaFiles (1508x)
- 57873: 70, // strictFormat (1508x)
- 57889: 71, // tikvImporter (1508x)
- 57898: 72, // truncate (1505x)
- 57758: 73, // no (1504x)
- 57867: 74, // start (1502x)
- 57612: 75, // cache (1499x)
- 57759: 76, // nocache (1498x)
- 57651: 77, // cycle (1497x)
- 57748: 78, // minValue (1497x)
- 57709: 79, // increment (1496x)
- 57760: 80, // nocycle (1496x)
- 57762: 81, // nomaxvalue (1496x)
- 57763: 82, // nominvalue (1496x)
- 57818: 83, // restart (1494x)
- 57581: 84, // algorithm (1493x)
- 57893: 85, // tp (1493x)
- 57650: 86, // clustered (1492x)
- 57714: 87, // invisible (1492x)
- 57764: 88, // nonclustered (1492x)
- 58044: 89, // regions (1492x)
- 57909: 90, // visible (1492x)
- 57875: 91, // subpartition (1489x)
- 57781: 92, // partitions (1488x)
- 57927: 93, // constraints (1485x)
- 57938: 94, // followerConstraints (1485x)
- 57939: 95, // followers (1485x)
- 57949: 96, // leaderConstraints (1485x)
- 57951: 97, // learnerConstraints (1485x)
- 57952: 98, // learners (1485x)
- 57962: 99, // primaryRegion (1485x)
- 57967: 100, // schedule (1485x)
- 58000: 101, // voterConstraints (1485x)
- 58001: 102, // voters (1485x)
- 57627: 103, // columns (1484x)
- 57908: 104, // view (1484x)
- 57915: 105, // yearType (1481x)
- 57655: 106, // day (1480x)
- 57584: 107, // ascii (1479x)
- 57611: 108, // byteType (1479x)
- 57831: 109, // second (1479x)
- 57866: 110, // sqlTsiYear (1479x)
- 57902: 111, // unicodeSym (1479x)
- 57687: 112, // fields (1478x)
- 57704: 113, // hour (1478x)
- 57745: 114, // microsecond (1478x)
- 57747: 115, // minute (1478x)
- 57751: 116, // month (1478x)
- 57800: 117, // quarter (1478x)
- 57859: 118, // sqlTsiDay (1478x)
- 57860: 119, // sqlTsiHour (1478x)
- 57861: 120, // sqlTsiMinute (1478x)
- 57862: 121, // sqlTsiMonth (1478x)
- 57863: 122, // sqlTsiQuarter (1478x)
- 57864: 123, // sqlTsiSecond (1478x)
- 57865: 124, // sqlTsiWeek (1478x)
- 57911: 125, // week (1478x)
- 57883: 126, // tables (1477x)
- 57871: 127, // status (1476x)
- 57837: 128, // separator (1475x)
- 57620: 129, // cipher (1474x)
- 57346: 130, // identifier (1474x)
- 57719: 131, // issuer (1474x)
- 57737: 132, // maxConnectionsPerHour (1474x)
- 57738: 133, // maxQueriesPerHour (1474x)
- 57740: 134, // maxUpdatesPerHour (1474x)
- 57741: 135, // maxUserConnections (1474x)
- 57790: 136, // preceding (1474x)
- 57829: 137, // san (1474x)
- 57874: 138, // subject (1474x)
- 57892: 139, // tokenIssuer (1474x)
- 57707: 140, // importKwd (1473x)
- 57730: 141, // local (1473x)
- 57802: 142, // query (1472x)
- 57849: 143, // skip (1472x)
- 57604: 144, // bindings (1471x)
- 57657: 145, // definer (1471x)
- 57699: 146, // hash (1471x)
- 57705: 147, // identified (1471x)
- 57733: 148, // logs (1471x)
- 57817: 149, // respect (1471x)
- 57630: 150, // commit (1470x)
- 57648: 151, // current (1470x)
- 57671: 152, // enforced (1470x)
- 57692: 153, // following (1470x)
- 57727: 154, // less (1470x)
- 57766: 155, // nowait (1470x)
- 57773: 156, // only (1470x)
- 57824: 157, // rollback (1470x)
- 57830: 158, // savepoint (1470x)
- 57888: 159, // than (1470x)
- 57906: 160, // value (1470x)
- 57600: 161, // begin (1469x)
- 57602: 162, // binding (1469x)
- 57670: 163, // end (1469x)
- 57697: 164, // global (1469x)
- 57942: 165, // next_row_id (1469x)
- 57770: 166, // offset (1469x)
- 57788: 167, // policy (1469x)
- 57961: 168, // predicate (1469x)
- 57885: 169, // temporary (1469x)
- 58039: 170, // tiFlash (1469x)
- 57899: 171, // unbounded (1469x)
- 57904: 172, // user (1469x)
- 57720: 173, // jsonType (1468x)
- 57959: 174, // planCache (1468x)
- 57791: 175, // prepare (1468x)
- 57823: 176, // role (1468x)
- 57903: 177, // unknown (1468x)
- 57916: 178, // wait (1468x)
- 57610: 179, // btree (1467x)
- 57653: 180, // datetimeType (1467x)
- 57654: 181, // dateType (1467x)
- 57690: 182, // fixed (1467x)
- 57706: 183, // identSQLErrors (1467x)
- 57718: 184, // isolation (1467x)
- 57724: 185, // last (1467x)
- 57732: 186, // location (1467x)
- 57735: 187, // max_idxnum (1467x)
- 57743: 188, // memory (1467x)
- 57769: 189, // off (1467x)
- 57775: 190, // optional (1467x)
- 57784: 191, // per_db (1467x)
- 57793: 192, // privileges (1467x)
- 57813: 193, // replica (1467x)
- 57816: 194, // required (1467x)
- 57828: 195, // rtree (1467x)
- 57965: 196, // running (1467x)
- 58025: 197, // sampleRate (1467x)
- 57838: 198, // sequence (1467x)
- 57841: 199, // session (1467x)
- 57852: 200, // slow (1467x)
- 58028: 201, // stats (1467x)
- 57891: 202, // timeType (1467x)
- 57905: 203, // validation (1467x)
- 57907: 204, // variables (1467x)
- 57586: 205, // attributes (1466x)
- 57632: 206, // compact (1466x)
- 57660: 207, // disable (1466x)
- 57665: 208, // duplicate (1466x)
- 57666: 209, // dynamic (1466x)
- 57667: 210, // enable (1466x)
- 57675: 211, // errorKwd (1466x)
- 57691: 212, // flush (1466x)
- 57694: 213, // full (1466x)
- 57742: 214, // mb (1466x)
- 57749: 215, // mode (1466x)
- 57755: 216, // never (1466x)
- 57958: 217, // plan (1466x)
- 57787: 218, // plugins (1466x)
- 57795: 219, // processlist (1466x)
- 57806: 220, // recover (1466x)
- 57811: 221, // repair (1466x)
- 57812: 222, // repeatable (1466x)
- 58027: 223, // statistics (1466x)
- 57876: 224, // subpartitions (1466x)
- 58038: 225, // tidb (1466x)
- 57890: 226, // timestampType (1466x)
- 57913: 227, // without (1466x)
- 58002: 228, // admin (1465x)
- 57598: 229, // backup (1465x)
- 58003: 230, // batch (1465x)
- 57605: 231, // binlog (1465x)
- 57607: 232, // block (1465x)
- 57608: 233, // booleanType (1465x)
- 57924: 234, // briefType (1465x)
- 58004: 235, // buckets (1465x)
- 58007: 236, // cardinality (1465x)
- 57616: 237, // chain (1465x)
- 57623: 238, // clientErrorsSummary (1465x)
- 58008: 239, // cmSketch (1465x)
- 57624: 240, // coalesce (1465x)
- 57633: 241, // compressed (1465x)
- 57639: 242, // context (1465x)
- 57926: 243, // copyKwd (1465x)
- 58010: 244, // correlation (1465x)
- 57640: 245, // cpu (1465x)
- 57656: 246, // deallocate (1465x)
- 58012: 247, // dependency (1465x)
- 57659: 248, // directory (1465x)
- 57662: 249, // discard (1465x)
- 57663: 250, // disk (1465x)
- 57664: 251, // do (1465x)
- 57931: 252, // dotType (1465x)
- 58014: 253, // drainer (1465x)
- 58015: 254, // dry (1465x)
- 57680: 255, // exchange (1465x)
- 57682: 256, // execute (1465x)
- 57683: 257, // expansion (1465x)
- 57936: 258, // flashback (1465x)
- 57693: 259, // format (1465x)
- 57696: 260, // general (1465x)
- 57700: 261, // help (1465x)
- 57701: 262, // histogram (1465x)
- 57703: 263, // hosts (1465x)
- 57943: 264, // inplace (1465x)
- 57713: 265, // instance (1465x)
- 57944: 266, // instant (1465x)
- 57717: 267, // ipc (1465x)
- 58017: 268, // job (1465x)
- 58016: 269, // jobs (1465x)
- 57722: 270, // labels (1465x)
- 57731: 271, // locked (1465x)
- 57750: 272, // modify (1465x)
- 57756: 273, // next (1465x)
- 58018: 274, // nodeID (1465x)
- 58019: 275, // nodeState (1465x)
- 57768: 276, // nulls (1465x)
- 57777: 277, // pageSym (1465x)
- 58022: 278, // pump (1465x)
- 57799: 279, // purge (1465x)
- 57805: 280, // rebuild (1465x)
- 57807: 281, // redundant (1465x)
- 57808: 282, // reload (1465x)
- 57819: 283, // restore (1465x)
- 57825: 284, // routine (1465x)
- 57966: 285, // s3 (1465x)
- 58024: 286, // samples (1465x)
- 57833: 287, // secondaryLoad (1465x)
- 57834: 288, // secondaryUnload (1465x)
- 57844: 289, // share (1465x)
- 57846: 290, // shutdown (1465x)
- 57855: 291, // source (1465x)
- 57587: 292, // statsOptions (1465x)
- 57973: 293, // stop (1465x)
- 57878: 294, // swaps (1465x)
- 57983: 295, // tokudbDefault (1465x)
- 57984: 296, // tokudbFast (1465x)
- 57985: 297, // tokudbLzma (1465x)
- 57986: 298, // tokudbQuickLZ (1465x)
- 57988: 299, // tokudbSmall (1465x)
- 57987: 300, // tokudbSnappy (1465x)
- 57989: 301, // tokudbUncompressed (1465x)
- 57990: 302, // tokudbZlib (1465x)
- 57991: 303, // tokudbZstd (1465x)
- 58040: 304, // topn (1465x)
- 57894: 305, // trace (1465x)
- 57895: 306, // traditional (1465x)
- 57998: 307, // trueCardCost (1465x)
- 57997: 308, // verboseType (1465x)
- 57910: 309, // warnings (1465x)
- 57576: 310, // action (1464x)
- 57577: 311, // advise (1464x)
- 57579: 312, // against (1464x)
- 57580: 313, // ago (1464x)
- 57582: 314, // always (1464x)
- 57599: 315, // backups (1464x)
- 57601: 316, // bernoulli (1464x)
- 57603: 317, // bindingCache (1464x)
- 57606: 318, // bitType (1464x)
- 57609: 319, // boolType (1464x)
- 58005: 320, // builtins (1464x)
- 58006: 321, // cancel (1464x)
- 57613: 322, // capture (1464x)
- 57614: 323, // cascaded (1464x)
- 57615: 324, // causal (1464x)
- 57621: 325, // cleanup (1464x)
- 57622: 326, // client (1464x)
- 57649: 327, // cluster (1464x)
- 57625: 328, // collation (1464x)
- 58009: 329, // columnStatsUsage (1464x)
- 57631: 330, // committed (1464x)
- 57628: 331, // config (1464x)
- 57637: 332, // consistency (1464x)
- 57638: 333, // consistent (1464x)
- 58011: 334, // ddl (1464x)
- 58013: 335, // depth (1464x)
- 57661: 336, // disabled (1464x)
- 57932: 337, // dump (1464x)
- 57668: 338, // enabled (1464x)
- 57673: 339, // engines (1464x)
- 57674: 340, // enum (1464x)
- 57678: 341, // events (1464x)
- 57679: 342, // evolve (1464x)
- 57684: 343, // expire (1464x)
- 57934: 344, // exprPushdownBlacklist (1464x)
- 57685: 345, // extended (1464x)
- 57686: 346, // faultsSym (1464x)
- 57695: 347, // function (1464x)
- 57698: 348, // grants (1464x)
- 58035: 349, // histogramsInFlight (1464x)
- 57702: 350, // history (1464x)
- 57708: 351, // imports (1464x)
- 57710: 352, // incremental (1464x)
- 57711: 353, // indexes (1464x)
- 57945: 354, // internal (1464x)
- 57715: 355, // invoker (1464x)
- 57716: 356, // io (1464x)
- 57723: 357, // language (1464x)
- 57728: 358, // level (1464x)
- 57729: 359, // list (1464x)
- 57734: 360, // master (1464x)
- 57736: 361, // max_minutes (1464x)
- 57753: 362, // national (1464x)
- 57754: 363, // ncharType (1464x)
- 57757: 364, // nextval (1464x)
- 57765: 365, // none (1464x)
- 57767: 366, // nvarcharType (1464x)
- 57774: 367, // open (1464x)
- 58020: 368, // optimistic (1464x)
- 57956: 369, // optRuleBlacklist (1464x)
- 57778: 370, // parser (1464x)
- 57779: 371, // partial (1464x)
- 57780: 372, // partitioning (1464x)
- 57785: 373, // per_table (1464x)
- 57783: 374, // percent (1464x)
- 58021: 375, // pessimistic (1464x)
- 57792: 376, // preserve (1464x)
- 57796: 377, // profile (1464x)
- 57797: 378, // profiles (1464x)
- 57801: 379, // queries (1464x)
- 57963: 380, // recent (1464x)
- 58045: 381, // region (1464x)
- 57964: 382, // replayer (1464x)
- 58043: 383, // reset (1464x)
- 57820: 384, // restores (1464x)
- 58023: 385, // run (1464x)
- 57835: 386, // security (1464x)
- 57840: 387, // serializable (1464x)
- 58026: 388, // sessionStates (1464x)
- 57848: 389, // simple (1464x)
- 57851: 390, // slave (1464x)
- 58032: 391, // statsHealthy (1464x)
- 58030: 392, // statsHistograms (1464x)
- 58034: 393, // statsLocked (1464x)
- 58029: 394, // statsMeta (1464x)
- 57974: 395, // strict (1464x)
- 57879: 396, // switchesSym (1464x)
- 57880: 397, // system (1464x)
- 57881: 398, // systemTime (1464x)
- 57979: 399, // target (1464x)
- 58037: 400, // telemetryID (1464x)
- 57886: 401, // temptable (1464x)
- 57887: 402, // textType (1464x)
- 57982: 403, // tls (1464x)
- 57992: 404, // top (1464x)
- 57896: 405, // transaction (1464x)
- 57897: 406, // triggers (1464x)
- 57900: 407, // uncommitted (1464x)
- 57901: 408, // undefined (1464x)
- 58042: 409, // width (1464x)
- 57914: 410, // x509 (1464x)
- 57917: 411, // addDate (1463x)
- 57583: 412, // any (1463x)
- 57918: 413, // approxCountDistinct (1463x)
- 57919: 414, // approxPercentile (1463x)
- 57595: 415, // avg (1463x)
- 57920: 416, // bitAnd (1463x)
- 57921: 417, // bitOr (1463x)
- 57922: 418, // bitXor (1463x)
- 57923: 419, // bound (1463x)
- 57925: 420, // cast (1463x)
- 57928: 421, // curTime (1463x)
- 57929: 422, // dateAdd (1463x)
- 57930: 423, // dateSub (1463x)
- 57676: 424, // escape (1463x)
- 57677: 425, // event (1463x)
- 57933: 426, // exact (1463x)
- 57681: 427, // exclusive (1463x)
- 57935: 428, // extract (1463x)
- 57688: 429, // file (1463x)
- 57937: 430, // follower (1463x)
- 57940: 431, // getFormat (1463x)
- 57941: 432, // groupConcat (1463x)
- 57946: 433, // jsonArrayagg (1463x)
- 57947: 434, // jsonObjectAgg (1463x)
- 57726: 435, // lastval (1463x)
- 57948: 436, // leader (1463x)
- 57950: 437, // learner (1463x)
- 57954: 438, // max (1463x)
- 57953: 439, // min (1463x)
- 57752: 440, // names (1463x)
- 57955: 441, // now (1463x)
- 57960: 442, // position (1463x)
- 57794: 443, // process (1463x)
- 57798: 444, // proxy (1463x)
- 57803: 445, // quick (1463x)
- 57814: 446, // replicas (1463x)
- 57815: 447, // replication (1463x)
- 57822: 448, // reverse (1463x)
- 57826: 449, // rowCount (1463x)
- 57842: 450, // setval (1463x)
- 57845: 451, // shared (1463x)
- 57854: 452, // some (1463x)
- 57856: 453, // sqlBufferResult (1463x)
- 57857: 454, // sqlCache (1463x)
- 57858: 455, // sqlNoCache (1463x)
- 57968: 456, // staleness (1463x)
- 57969: 457, // std (1463x)
- 57970: 458, // stddev (1463x)
- 57971: 459, // stddevPop (1463x)
- 57972: 460, // stddevSamp (1463x)
- 57975: 461, // strong (1463x)
- 57976: 462, // subDate (1463x)
- 57978: 463, // substring (1463x)
- 57977: 464, // sum (1463x)
- 57877: 465, // super (1463x)
- 58036: 466, // telemetry (1463x)
- 57980: 467, // timestampAdd (1463x)
- 57981: 468, // timestampDiff (1463x)
- 57993: 469, // trim (1463x)
- 57994: 470, // variance (1463x)
- 57995: 471, // varPop (1463x)
- 57996: 472, // varSamp (1463x)
- 57999: 473, // voter (1463x)
- 57912: 474, // weightString (1463x)
- 57489: 475, // on (1398x)
- 40: 476, // '(' (1331x)
- 57570: 477, // with (1215x)
- 57350: 478, // stringLit (1203x)
- 58091: 479, // not2 (1195x)
- 57482: 480, // not (1132x)
- 57365: 481, // as (1109x)
- 57399: 482, // defaultKwd (1103x)
- 57549: 483, // union (1061x)
- 57555: 484, // using (1054x)
- 57462: 485, // left (1049x)
- 57516: 486, // right (1049x)
- 57380: 487, // collate (1046x)
- 43: 488, // '+' (1026x)
- 45: 489, // '-' (1025x)
- 57481: 490, // mod (1005x)
- 57497: 491, // partition (965x)
- 57436: 492, // ignore (960x)
- 57416: 493, // except (953x)
- 57442: 494, // intersect (952x)
- 57486: 495, // null (950x)
- 57464: 496, // limit (933x)
- 57421: 497, // forKwd (930x)
- 57559: 498, // values (925x)
- 57444: 499, // into (923x)
- 57470: 500, // lock (919x)
- 57567: 501, // where (914x)
- 58080: 502, // eq (911x)
- 57424: 503, // from (911x)
- 57418: 504, // fetch (909x)
- 57494: 505, // order (905x)
- 57422: 506, // force (901x)
- 57512: 507, // replace (898x)
- 57378: 508, // charType (897x)
- 57523: 509, // set (892x)
- 57364: 510, // and (891x)
- 58075: 511, // intLit (887x)
- 57493: 512, // or (867x)
- 57355: 513, // andand (866x)
- 57786: 514, // pipesAsOr (866x)
- 57571: 515, // xor (866x)
- 57428: 516, // group (840x)
- 57430: 517, // having (840x)
- 57534: 518, // straightJoin (834x)
- 57569: 519, // window (826x)
- 57454: 520, // join (822x)
- 57463: 521, // like (815x)
- 57574: 522, // natural (812x)
- 42: 523, // '*' (811x)
- 57385: 524, // cross (811x)
- 57440: 525, // inner (811x)
- 125: 526, // '}' (808x)
- 57519: 527, // rows (796x)
- 57554: 528, // use (792x)
- 57537: 529, // tableSample (786x)
- 57502: 530, // rangeKwd (785x)
- 57429: 531, // groups (784x)
- 57403: 532, // desc (783x)
- 57369: 533, // binaryType (782x)
- 57366: 534, // asc (781x)
- 57394: 535, // dayHour (781x)
- 57395: 536, // dayMicrosecond (781x)
- 57396: 537, // dayMinute (781x)
- 57397: 538, // daySecond (781x)
- 57432: 539, // hourMicrosecond (781x)
- 57433: 540, // hourMinute (781x)
- 57434: 541, // hourSecond (781x)
- 57479: 542, // minuteMicrosecond (781x)
- 57480: 543, // minuteSecond (781x)
- 57521: 544, // secondMicrosecond (781x)
- 57572: 545, // yearMonth (781x)
- 57566: 546, // when (778x)
- 57437: 547, // in (776x)
- 57411: 548, // elseKwd (775x)
- 57540: 549, // then (772x)
- 47: 550, // '/' (769x)
- 37: 551, // '%' (768x)
- 38: 552, // '&' (768x)
- 94: 553, // '^' (768x)
- 124: 554, // '|' (768x)
- 57407: 555, // div (768x)
- 58085: 556, // lsh (768x)
- 58090: 557, // rsh (768x)
- 60: 558, // '<' (765x)
- 62: 559, // '>' (765x)
- 58081: 560, // ge (765x)
- 57446: 561, // is (765x)
- 58082: 562, // le (765x)
- 58086: 563, // neq (765x)
- 58087: 564, // neqSynonym (765x)
- 58088: 565, // nulleq (765x)
- 57367: 566, // between (763x)
- 57435: 567, // ifKwd (758x)
- 57508: 568, // regexpKwd (755x)
- 57517: 569, // rlike (755x)
- 57447: 570, // insert (749x)
- 57351: 571, // singleAtIdentifier (739x)
- 57536: 572, // tableKwd (739x)
- 57390: 573, // currentUser (735x)
- 57417: 574, // falseKwd (733x)
- 57547: 575, // trueKwd (733x)
- 58074: 576, // decLit (727x)
- 58073: 577, // floatLit (727x)
- 57518: 578, // row (727x)
- 58076: 579, // hexLit (725x)
- 58089: 580, // paramMarker (725x)
- 57443: 581, // interval (724x)
- 123: 582, // '{' (723x)
- 58077: 583, // bitLit (723x)
- 57455: 584, // key (723x)
- 57392: 585, // database (719x)
- 57414: 586, // exists (718x)
- 57383: 587, // convert (715x)
- 58061: 588, // builtinNow (714x)
- 57389: 589, // currentTs (714x)
- 57352: 590, // doubleAtIdentifier (714x)
- 57468: 591, // localTime (714x)
- 57469: 592, // localTs (714x)
- 57379: 593, // check (713x)
- 57500: 594, // primary (713x)
- 57349: 595, // underscoreCS (713x)
- 58050: 596, // builtinCount (712x)
- 57356: 597, // pipes (712x)
- 33: 598, // '!' (711x)
- 126: 599, // '~' (711x)
- 58051: 600, // builtinApproxCountDistinct (711x)
- 58052: 601, // builtinApproxPercentile (711x)
- 58046: 602, // builtinBitAnd (711x)
- 58047: 603, // builtinBitOr (711x)
- 58048: 604, // builtinBitXor (711x)
- 58049: 605, // builtinCast (711x)
- 58053: 606, // builtinCurDate (711x)
- 58054: 607, // builtinCurTime (711x)
- 58055: 608, // builtinDateAdd (711x)
- 58056: 609, // builtinDateSub (711x)
- 58057: 610, // builtinExtract (711x)
- 58058: 611, // builtinGroupConcat (711x)
- 58059: 612, // builtinMax (711x)
- 58060: 613, // builtinMin (711x)
- 58062: 614, // builtinPosition (711x)
- 58066: 615, // builtinStddevPop (711x)
- 58067: 616, // builtinStddevSamp (711x)
- 58063: 617, // builtinSubstring (711x)
- 58064: 618, // builtinSum (711x)
- 58065: 619, // builtinSysDate (711x)
- 58068: 620, // builtinTranslate (711x)
- 58069: 621, // builtinTrim (711x)
- 58070: 622, // builtinUser (711x)
- 58071: 623, // builtinVarPop (711x)
- 58072: 624, // builtinVarSamp (711x)
- 57375: 625, // caseKwd (711x)
- 57386: 626, // cumeDist (711x)
- 57387: 627, // currentDate (711x)
- 57391: 628, // currentRole (711x)
- 57388: 629, // currentTime (711x)
- 57402: 630, // denseRank (711x)
- 57419: 631, // firstValue (711x)
- 57458: 632, // lag (711x)
- 57459: 633, // lastValue (711x)
- 57460: 634, // lead (711x)
- 57484: 635, // nthValue (711x)
- 57485: 636, // ntile (711x)
- 57498: 637, // percentRank (711x)
- 57503: 638, // rank (711x)
- 57511: 639, // repeat (711x)
- 57520: 640, // rowNumber (711x)
- 57535: 641, // tidbCurrentTSO (711x)
- 57556: 642, // utcDate (711x)
- 57558: 643, // utcTime (711x)
- 57557: 644, // utcTimestamp (711x)
- 57548: 645, // unique (706x)
- 57382: 646, // constraint (704x)
- 57507: 647, // references (701x)
- 57426: 648, // generated (697x)
- 57522: 649, // selectKwd (696x)
- 57377: 650, // character (661x)
- 57474: 651, // match (653x)
- 57438: 652, // index (649x)
- 57544: 653, // to (572x)
- 57361: 654, // all (557x)
- 46: 655, // '.' (552x)
- 57363: 656, // analyze (536x)
- 57552: 657, // update (532x)
- 57475: 658, // maxValue (520x)
- 58083: 659, // jss (518x)
- 58084: 660, // juss (518x)
- 57465: 661, // lines (507x)
- 58079: 662, // assignmentEq (504x)
- 57372: 663, // by (504x)
- 58345: 664, // Identifier (502x)
- 58424: 665, // NotKeywordToken (502x)
- 58653: 666, // TiDBKeyword (502x)
- 58663: 667, // UnReservedKeyword (502x)
- 57362: 668, // alter (501x)
- 57513: 669, // require (499x)
- 64: 670, // '@' (494x)
- 57527: 671, // sql (491x)
- 57409: 672, // drop (488x)
- 57374: 673, // cascade (487x)
- 57504: 674, // read (487x)
- 57514: 675, // restrict (487x)
- 57347: 676, // asof (485x)
- 57384: 677, // create (483x)
- 57423: 678, // foreign (483x)
- 57425: 679, // fulltext (483x)
- 57348: 680, // toTimestamp (482x)
- 57562: 681, // varcharacter (481x)
- 57561: 682, // varcharType (481x)
- 57376: 683, // change (480x)
- 57398: 684, // decimalType (480x)
- 57408: 685, // doubleType (480x)
- 57420: 686, // floatType (480x)
- 57441: 687, // integerType (480x)
- 57448: 688, // intType (480x)
- 57505: 689, // realType (480x)
- 57510: 690, // rename (480x)
- 57568: 691, // write (480x)
- 57563: 692, // varbinaryType (479x)
- 57360: 693, // add (478x)
- 57368: 694, // bigIntType (478x)
- 57370: 695, // blobType (478x)
- 57449: 696, // int1Type (478x)
- 57450: 697, // int2Type (478x)
- 57451: 698, // int3Type (478x)
- 57452: 699, // int4Type (478x)
- 57453: 700, // int8Type (478x)
- 57560: 701, // long (478x)
- 57471: 702, // longblobType (478x)
- 57472: 703, // longtextType (478x)
- 57476: 704, // mediumblobType (478x)
- 57477: 705, // mediumIntType (478x)
- 57478: 706, // mediumtextType (478x)
- 57487: 707, // numericType (478x)
- 57490: 708, // optimize (478x)
- 57525: 709, // smallIntType (478x)
- 57541: 710, // tinyblobType (478x)
- 57542: 711, // tinyIntType (478x)
- 57543: 712, // tinytextType (478x)
- 58618: 713, // SubSelect (223x)
- 58673: 714, // UserVariable (181x)
- 58593: 715, // SimpleIdent (180x)
- 58398: 716, // Literal (178x)
- 58608: 717, // StringLiteral (178x)
- 58421: 718, // NextValueForSequence (177x)
- 58322: 719, // FunctionCallGeneric (176x)
- 58323: 720, // FunctionCallKeyword (176x)
- 58324: 721, // FunctionCallNonKeyword (176x)
- 58325: 722, // FunctionNameConflict (176x)
- 58326: 723, // FunctionNameDateArith (176x)
- 58327: 724, // FunctionNameDateArithMultiForms (176x)
- 58328: 725, // FunctionNameDatetimePrecision (176x)
- 58329: 726, // FunctionNameOptionalBraces (176x)
- 58330: 727, // FunctionNameSequence (176x)
- 58592: 728, // SimpleExpr (176x)
- 58619: 729, // SumExpr (176x)
- 58621: 730, // SystemVariable (176x)
- 58684: 731, // Variable (176x)
- 58707: 732, // WindowFuncCall (176x)
- 58168: 733, // BitExpr (163x)
- 58498: 734, // PredicateExpr (132x)
- 58171: 735, // BoolPri (129x)
- 58286: 736, // Expression (129x)
- 58419: 737, // NUM (103x)
- 58722: 738, // logAnd (97x)
- 58723: 739, // logOr (97x)
- 58631: 740, // TableName (77x)
- 58276: 741, // EqOpt (75x)
- 58609: 742, // StringName (56x)
- 57401: 743, // deleteKwd (52x)
- 57551: 744, // unsigned (47x)
- 58389: 745, // LengthNum (46x)
- 57496: 746, // over (45x)
- 57573: 747, // zerofill (45x)
- 58194: 748, // ColumnName (41x)
- 57405: 749, // distinct (36x)
- 57406: 750, // distinctRow (36x)
- 58712: 751, // WindowingClause (35x)
- 58546: 752, // SelectStmt (34x)
- 58547: 753, // SelectStmtBasic (34x)
- 58549: 754, // SelectStmtFromDualTable (34x)
- 58550: 755, // SelectStmtFromTable (34x)
- 58567: 756, // SetOprClause (34x)
- 57400: 757, // delayed (33x)
- 57431: 758, // highPriority (33x)
- 57473: 759, // lowPriority (33x)
- 58568: 760, // SetOprClauseList (33x)
- 58571: 761, // SetOprStmtWithLimitOrderBy (33x)
- 58572: 762, // SetOprStmtWoutLimitOrderBy (33x)
- 58713: 763, // WithClause (31x)
- 58559: 764, // SelectStmtWithClause (30x)
- 58570: 765, // SetOprStmt (30x)
- 57354: 766, // hintComment (27x)
- 58377: 767, // Int64Num (26x)
- 58297: 768, // FieldLen (25x)
- 58463: 769, // OptWindowingClause (24x)
- 58667: 770, // UpdateStmtNoWith (24x)
- 58251: 771, // DeleteWithoutUsingStmt (23x)
- 58469: 772, // OrderBy (23x)
- 58553: 773, // SelectStmtLimit (23x)
- 57528: 774, // sqlBigResult (23x)
- 57529: 775, // sqlCalcFoundRows (23x)
- 57530: 776, // sqlSmallResult (23x)
- 58374: 777, // InsertIntoStmt (21x)
- 58666: 778, // UpdateStmt (21x)
- 58182: 779, // CharsetKw (20x)
- 58520: 780, // ReplaceIntoStmt (20x)
- 58675: 781, // Username (20x)
- 58287: 782, // ExpressionList (18x)
- 58250: 783, // DeleteWithUsingStmt (17x)
- 58346: 784, // IfExists (17x)
- 58493: 785, // PlacementPolicyOption (17x)
- 58632: 786, // TableNameList (16x)
- 57539: 787, // terminated (16x)
- 58249: 788, // DeleteFromStmt (15x)
- 58253: 789, // DistinctKwd (15x)
- 58347: 790, // IfNotExists (15x)
- 58481: 791, // PartitionNameList (15x)
- 58254: 792, // DistinctOpt (14x)
- 57412: 793, // enclosed (14x)
- 58448: 794, // OptFieldLen (14x)
- 58697: 795, // WhereClause (14x)
- 58698: 796, // WhereClauseOptional (14x)
- 58246: 797, // DefaultKwdOpt (13x)
- 57413: 798, // escaped (13x)
- 57492: 799, // optionally (13x)
- 58655: 800, // TimestampUnit (13x)
- 58285: 801, // ExprOrDefault (12x)
- 58383: 802, // JoinTable (12x)
- 58442: 803, // OptBinary (12x)
- 57509: 804, // release (12x)
- 58536: 805, // RolenameComposed (12x)
- 58628: 806, // TableFactor (12x)
- 58641: 807, // TableRef (12x)
- 58141: 808, // AnalyzeOptionListOpt (11x)
- 58317: 809, // FromOrIn (11x)
- 58137: 810, // AlterTableStmt (10x)
- 58183: 811, // CharsetName (10x)
- 58195: 812, // ColumnNameList (10x)
- 58236: 813, // DBName (10x)
- 57467: 814, // load (10x)
- 58425: 815, // NotSym (10x)
- 57483: 816, // noWriteToBinLog (10x)
- 58470: 817, // OrderByOptional (10x)
- 58472: 818, // PartDefOption (10x)
- 58591: 819, // SignedNum (10x)
- 58654: 820, // TimeUnit (10x)
- 58174: 821, // BuggyDefaultFalseDistinctOpt (9x)
- 58245: 822, // DefaultFalseDistinctOpt (9x)
- 58384: 823, // JoinType (9x)
- 58432: 824, // NumLiteral (9x)
- 58535: 825, // Rolename (9x)
- 58530: 826, // RoleNameString (9x)
- 58235: 827, // CrossOpt (8x)
- 58277: 828, // EqOrAssignmentEq (8x)
- 58284: 829, // ExplainableStmt (8x)
- 58288: 830, // ExpressionListOpt (8x)
- 58368: 831, // IndexPartSpecification (8x)
- 58385: 832, // KeyOrIndex (8x)
- 58422: 833, // NoWriteToBinLogAliasOpt (8x)
- 58554: 834, // SelectStmtLimitOpt (8x)
- 58687: 835, // VariableName (8x)
- 58123: 836, // AllOrPartitionNameList (7x)
- 58219: 837, // ConstraintKeywordOpt (7x)
- 58241: 838, // DatabaseSym (7x)
- 58303: 839, // FieldsOrColumns (7x)
- 58315: 840, // ForceOpt (7x)
- 58369: 841, // IndexPartSpecificationList (7x)
- 58502: 842, // Priority (7x)
- 58540: 843, // RowFormat (7x)
- 58543: 844, // RowValue (7x)
- 58565: 845, // SetExpr (7x)
- 58577: 846, // ShowDatabaseNameOpt (7x)
- 58638: 847, // TableOption (7x)
- 57564: 848, // varying (7x)
- 58142: 849, // AnalyzeTableStmt (6x)
- 58163: 850, // BeginTransactionStmt (6x)
- 58165: 851, // BindableStmt (6x)
- 57381: 852, // column (6x)
- 58189: 853, // ColumnDef (6x)
- 58209: 854, // CommitStmt (6x)
- 58238: 855, // DatabaseOption (6x)
- 58279: 856, // EscapedTableRef (6x)
- 58301: 857, // FieldTerminator (6x)
- 57427: 858, // grant (6x)
- 58351: 859, // IgnoreOptional (6x)
- 58360: 860, // IndexInvisible (6x)
- 58365: 861, // IndexNameList (6x)
- 58371: 862, // IndexType (6x)
- 58402: 863, // LoadDataStmt (6x)
- 58482: 864, // PartitionNameListOpt (6x)
- 58515: 865, // ReleaseSavepointStmt (6x)
- 58537: 866, // RolenameList (6x)
- 58539: 867, // RollbackStmt (6x)
- 58544: 868, // SavepointStmt (6x)
- 58575: 869, // SetStmt (6x)
- 57524: 870, // show (6x)
- 58636: 871, // TableOptimizerHints (6x)
- 58676: 872, // UsernameList (6x)
- 58714: 873, // WithClustered (6x)
- 58121: 874, // AlgorithmClause (5x)
- 58176: 875, // ByItem (5x)
- 58188: 876, // CollationName (5x)
- 58192: 877, // ColumnKeywordOpt (5x)
- 58252: 878, // DirectPlacementOption (5x)
- 58299: 879, // FieldOpt (5x)
- 58300: 880, // FieldOpts (5x)
- 58343: 881, // IdentList (5x)
- 58363: 882, // IndexName (5x)
- 58366: 883, // IndexOption (5x)
- 58367: 884, // IndexOptionList (5x)
- 57439: 885, // infile (5x)
- 58394: 886, // LimitOption (5x)
- 58406: 887, // LockClause (5x)
- 58444: 888, // OptCharsetWithOptBinary (5x)
- 58455: 889, // OptNullTreatment (5x)
- 58496: 890, // PolicyName (5x)
- 58503: 891, // PriorityOpt (5x)
- 58545: 892, // SelectLockOpt (5x)
- 58552: 893, // SelectStmtIntoOption (5x)
- 58642: 894, // TableRefs (5x)
- 58669: 895, // UserSpec (5x)
- 58147: 896, // Assignment (4x)
- 58153: 897, // AuthString (4x)
- 58155: 898, // BRIEBooleanOptionName (4x)
- 58156: 899, // BRIEIntegerOptionName (4x)
- 58157: 900, // BRIEKeywordOptionName (4x)
- 58158: 901, // BRIEOption (4x)
- 58159: 902, // BRIEOptions (4x)
- 58161: 903, // BRIEStringOptionName (4x)
- 58175: 904, // BuiltinFunction (4x)
- 58177: 905, // ByList (4x)
- 58181: 906, // Char (4x)
- 58213: 907, // ConfigItemName (4x)
- 58217: 908, // Constraint (4x)
- 58311: 909, // FloatOpt (4x)
- 58372: 910, // IndexTypeName (4x)
- 57491: 911, // option (4x)
- 58460: 912, // OptWild (4x)
- 57495: 913, // outer (4x)
- 58497: 914, // Precision (4x)
- 58511: 915, // ReferDef (4x)
- 58526: 916, // RestrictOrCascadeOpt (4x)
- 58542: 917, // RowStmt (4x)
- 58560: 918, // SequenceOption (4x)
- 57533: 919, // statsExtended (4x)
- 58623: 920, // TableAsName (4x)
- 58624: 921, // TableAsNameOpt (4x)
- 58635: 922, // TableNameOptWild (4x)
- 58637: 923, // TableOptimizerHintsOpt (4x)
- 58639: 924, // TableOptionList (4x)
- 58657: 925, // TraceableStmt (4x)
- 58658: 926, // TransactionChar (4x)
- 58670: 927, // UserSpecList (4x)
- 58708: 928, // WindowName (4x)
- 58144: 929, // AsOfClause (3x)
- 58148: 930, // AssignmentList (3x)
- 58150: 931, // AttributesOpt (3x)
- 58172: 932, // Boolean (3x)
- 58201: 933, // ColumnOption (3x)
- 58204: 934, // ColumnPosition (3x)
- 58210: 935, // CommonTableExpr (3x)
- 58231: 936, // CreateTableStmt (3x)
- 58239: 937, // DatabaseOptionList (3x)
- 58247: 938, // DefaultTrueDistinctOpt (3x)
- 58273: 939, // EnforcedOrNot (3x)
- 57415: 940, // explain (3x)
- 58290: 941, // ExtendedPriv (3x)
- 58331: 942, // GeneratedAlways (3x)
- 58333: 943, // GlobalScope (3x)
- 58337: 944, // GroupByClause (3x)
- 58355: 945, // IndexHint (3x)
- 58359: 946, // IndexHintType (3x)
- 58364: 947, // IndexNameAndTypeOpt (3x)
- 57456: 948, // keys (3x)
- 58396: 949, // Lines (3x)
- 58416: 950, // MaxValueOrExpression (3x)
- 58426: 951, // NowSym (3x)
- 58427: 952, // NowSymFunc (3x)
- 58428: 953, // NowSymOptionFraction (3x)
- 58456: 954, // OptOrder (3x)
- 58459: 955, // OptTemporary (3x)
- 58473: 956, // PartDefOptionList (3x)
- 58475: 957, // PartitionDefinition (3x)
- 58485: 958, // PasswordExpire (3x)
- 58487: 959, // PasswordOrLockOption (3x)
- 58495: 960, // PluginNameList (3x)
- 58501: 961, // PrimaryOpt (3x)
- 58504: 962, // PrivElem (3x)
- 58506: 963, // PrivType (3x)
- 57501: 964, // procedure (3x)
- 58521: 965, // RequireClause (3x)
- 58522: 966, // RequireClauseOpt (3x)
- 58524: 967, // RequireListElement (3x)
- 58538: 968, // RolenameWithoutIdent (3x)
- 58531: 969, // RoleOrPrivElem (3x)
- 58551: 970, // SelectStmtGroup (3x)
- 58569: 971, // SetOprOpt (3x)
- 58622: 972, // TableAliasRefList (3x)
- 58625: 973, // TableElement (3x)
- 58634: 974, // TableNameListOpt2 (3x)
- 58650: 975, // TextString (3x)
- 58659: 976, // TransactionChars (3x)
- 57546: 977, // trigger (3x)
- 57550: 978, // unlock (3x)
- 57553: 979, // usage (3x)
- 58680: 980, // ValuesList (3x)
- 58682: 981, // ValuesStmtList (3x)
- 58678: 982, // ValueSym (3x)
- 58685: 983, // VariableAssignment (3x)
- 58705: 984, // WindowFrameStart (3x)
- 58119: 985, // AdminStmt (2x)
- 58122: 986, // AllColumnsOrPredicateColumnsOpt (2x)
- 58124: 987, // AlterDatabaseStmt (2x)
- 58125: 988, // AlterImportStmt (2x)
- 58126: 989, // AlterInstanceStmt (2x)
- 58127: 990, // AlterOrderItem (2x)
- 58129: 991, // AlterPolicyStmt (2x)
- 58130: 992, // AlterSequenceOption (2x)
- 58132: 993, // AlterSequenceStmt (2x)
- 58134: 994, // AlterTableSpec (2x)
- 58138: 995, // AlterUserStmt (2x)
- 58139: 996, // AnalyzeOption (2x)
- 58167: 997, // BinlogStmt (2x)
- 58160: 998, // BRIEStmt (2x)
- 58162: 999, // BRIETables (2x)
- 57373: 1000, // call (2x)
- 58178: 1001, // CallStmt (2x)
- 58179: 1002, // CastType (2x)
- 58180: 1003, // ChangeStmt (2x)
- 58186: 1004, // CheckConstraintKeyword (2x)
- 58196: 1005, // ColumnNameListOpt (2x)
- 58199: 1006, // ColumnNameOrUserVariable (2x)
- 58202: 1007, // ColumnOptionList (2x)
- 58203: 1008, // ColumnOptionListOpt (2x)
- 58205: 1009, // ColumnSetValue (2x)
- 58208: 1010, // CommentOrAttributeOption (2x)
- 58212: 1011, // CompletionTypeWithinTransaction (2x)
- 58214: 1012, // ConnectionOption (2x)
- 58216: 1013, // ConnectionOptions (2x)
- 58220: 1014, // CreateBindingStmt (2x)
- 58221: 1015, // CreateDatabaseStmt (2x)
- 58222: 1016, // CreateImportStmt (2x)
- 58223: 1017, // CreateIndexStmt (2x)
- 58224: 1018, // CreatePolicyStmt (2x)
- 58225: 1019, // CreateRoleStmt (2x)
- 58227: 1020, // CreateSequenceStmt (2x)
- 58228: 1021, // CreateStatisticsStmt (2x)
- 58229: 1022, // CreateTableOptionListOpt (2x)
- 58232: 1023, // CreateUserStmt (2x)
- 58234: 1024, // CreateViewStmt (2x)
- 57393: 1025, // databases (2x)
- 58243: 1026, // DeallocateStmt (2x)
- 58244: 1027, // DeallocateSym (2x)
- 57404: 1028, // describe (2x)
- 58255: 1029, // DoStmt (2x)
- 58256: 1030, // DropBindingStmt (2x)
- 58257: 1031, // DropDatabaseStmt (2x)
- 58258: 1032, // DropImportStmt (2x)
- 58259: 1033, // DropIndexStmt (2x)
- 58260: 1034, // DropPolicyStmt (2x)
- 58261: 1035, // DropRoleStmt (2x)
- 58262: 1036, // DropSequenceStmt (2x)
- 58263: 1037, // DropStatisticsStmt (2x)
- 58264: 1038, // DropStatsStmt (2x)
- 58265: 1039, // DropTableStmt (2x)
- 58266: 1040, // DropUserStmt (2x)
- 58267: 1041, // DropViewStmt (2x)
- 58269: 1042, // DuplicateOpt (2x)
- 58271: 1043, // EmptyStmt (2x)
- 58272: 1044, // EncryptionOpt (2x)
- 58274: 1045, // EnforcedOrNotOpt (2x)
- 58278: 1046, // ErrorHandling (2x)
- 58280: 1047, // ExecuteStmt (2x)
- 58281: 1048, // ExplainFormatType (2x)
- 58282: 1049, // ExplainStmt (2x)
- 58283: 1050, // ExplainSym (2x)
- 58292: 1051, // Field (2x)
- 58295: 1052, // FieldItem (2x)
- 58302: 1053, // Fields (2x)
- 58307: 1054, // FlashbackDatabaseStmt (2x)
- 58308: 1055, // FlashbackTableStmt (2x)
- 58309: 1056, // FlashbackToNewName (2x)
- 58310: 1057, // FlashbackToTimestampStmt (2x)
- 58314: 1058, // FlushStmt (2x)
- 58320: 1059, // FuncDatetimePrecList (2x)
- 58321: 1060, // FuncDatetimePrecListOpt (2x)
- 58334: 1061, // GrantProxyStmt (2x)
- 58335: 1062, // GrantRoleStmt (2x)
- 58336: 1063, // GrantStmt (2x)
- 58338: 1064, // HandleRange (2x)
- 58340: 1065, // HashString (2x)
- 58341: 1066, // HavingClause (2x)
- 58342: 1067, // HelpStmt (2x)
- 58354: 1068, // IndexAdviseStmt (2x)
- 58356: 1069, // IndexHintList (2x)
- 58357: 1070, // IndexHintListOpt (2x)
- 58362: 1071, // IndexLockAndAlgorithmOpt (2x)
- 58375: 1072, // InsertValues (2x)
- 58380: 1073, // IntoOpt (2x)
- 58386: 1074, // KeyOrIndexOpt (2x)
- 57457: 1075, // kill (2x)
- 58387: 1076, // KillOrKillTiDB (2x)
- 58388: 1077, // KillStmt (2x)
- 58393: 1078, // LimitClause (2x)
- 57466: 1079, // linear (2x)
- 58395: 1080, // LinearOpt (2x)
- 58399: 1081, // LoadDataSetItem (2x)
- 58403: 1082, // LoadStatsStmt (2x)
- 58404: 1083, // LocalOpt (2x)
- 58405: 1084, // LocationLabelList (2x)
- 58407: 1085, // LockStatsStmt (2x)
- 58408: 1086, // LockTablesStmt (2x)
- 58417: 1087, // MaxValueOrExpressionList (2x)
- 58423: 1088, // NonTransactionalDMLStmt (2x)
- 58429: 1089, // NowSymOptionFractionParentheses (2x)
- 58431: 1090, // NumList (2x)
- 58434: 1091, // ObjectType (2x)
- 57488: 1092, // of (2x)
- 58435: 1093, // OfTablesOpt (2x)
- 58436: 1094, // OnCommitOpt (2x)
- 58437: 1095, // OnDelete (2x)
- 58440: 1096, // OnUpdate (2x)
- 58445: 1097, // OptCollate (2x)
- 58450: 1098, // OptFull (2x)
- 58452: 1099, // OptInteger (2x)
- 58465: 1100, // OptionalBraces (2x)
- 58464: 1101, // OptionLevel (2x)
- 58454: 1102, // OptLeadLagInfo (2x)
- 58453: 1103, // OptLLDefault (2x)
- 58471: 1104, // OuterOpt (2x)
- 58476: 1105, // PartitionDefinitionList (2x)
- 58477: 1106, // PartitionDefinitionListOpt (2x)
- 58478: 1107, // PartitionIntervalOpt (2x)
- 58484: 1108, // PartitionOpt (2x)
- 58486: 1109, // PasswordOpt (2x)
- 58488: 1110, // PasswordOrLockOptionList (2x)
- 58489: 1111, // PasswordOrLockOptions (2x)
- 58492: 1112, // PlacementOptionList (2x)
- 58494: 1113, // PlanReplayerStmt (2x)
- 58500: 1114, // PreparedStmt (2x)
- 58505: 1115, // PrivLevel (2x)
- 58508: 1116, // PurgeImportStmt (2x)
- 58509: 1117, // QuickOptional (2x)
- 58510: 1118, // RecoverTableStmt (2x)
- 58512: 1119, // ReferOpt (2x)
- 58514: 1120, // RegexpSym (2x)
- 58516: 1121, // RenameTableStmt (2x)
- 58517: 1122, // RenameUserStmt (2x)
- 58519: 1123, // RepeatableOpt (2x)
- 58525: 1124, // RestartStmt (2x)
- 58527: 1125, // ResumeImportStmt (2x)
- 57515: 1126, // revoke (2x)
- 58528: 1127, // RevokeRoleStmt (2x)
- 58529: 1128, // RevokeStmt (2x)
- 58532: 1129, // RoleOrPrivElemList (2x)
- 58533: 1130, // RoleSpec (2x)
- 58555: 1131, // SelectStmtOpt (2x)
- 58558: 1132, // SelectStmtSQLCache (2x)
- 58562: 1133, // SetBindingStmt (2x)
- 58563: 1134, // SetDefaultRoleOpt (2x)
- 58564: 1135, // SetDefaultRoleStmt (2x)
- 58574: 1136, // SetRoleStmt (2x)
- 58578: 1137, // ShowImportStmt (2x)
- 58583: 1138, // ShowProfileType (2x)
- 58586: 1139, // ShowStmt (2x)
- 58587: 1140, // ShowTableAliasOpt (2x)
- 58589: 1141, // ShutdownStmt (2x)
- 58590: 1142, // SignedLiteral (2x)
- 58594: 1143, // SplitOption (2x)
- 58595: 1144, // SplitRegionStmt (2x)
- 58599: 1145, // Statement (2x)
- 58602: 1146, // StatsOptionsOpt (2x)
- 58603: 1147, // StatsPersistentVal (2x)
- 58604: 1148, // StatsType (2x)
- 58605: 1149, // StopImportStmt (2x)
- 58612: 1150, // SubPartDefinition (2x)
- 58615: 1151, // SubPartitionMethod (2x)
- 58620: 1152, // Symbol (2x)
- 58626: 1153, // TableElementList (2x)
- 58629: 1154, // TableLock (2x)
- 58633: 1155, // TableNameListOpt (2x)
- 58640: 1156, // TableOrTables (2x)
- 58649: 1157, // TablesTerminalSym (2x)
- 58647: 1158, // TableToTable (2x)
- 58651: 1159, // TextStringList (2x)
- 58656: 1160, // TraceStmt (2x)
- 58661: 1161, // TruncateTableStmt (2x)
- 58664: 1162, // UnlockStatsStmt (2x)
- 58665: 1163, // UnlockTablesStmt (2x)
- 58671: 1164, // UserToUser (2x)
- 58668: 1165, // UseStmt (2x)
- 58683: 1166, // Varchar (2x)
- 58686: 1167, // VariableAssignmentList (2x)
- 58695: 1168, // WhenClause (2x)
- 58700: 1169, // WindowDefinition (2x)
- 58703: 1170, // WindowFrameBound (2x)
- 58710: 1171, // WindowSpec (2x)
- 58715: 1172, // WithGrantOptionOpt (2x)
- 58716: 1173, // WithList (2x)
- 58720: 1174, // Writeable (2x)
- 58118: 1175, // AdminShowSlow (1x)
- 58120: 1176, // AdminStmtLimitOpt (1x)
- 58128: 1177, // AlterOrderList (1x)
- 58131: 1178, // AlterSequenceOptionList (1x)
- 58133: 1179, // AlterTablePartitionOpt (1x)
- 58135: 1180, // AlterTableSpecList (1x)
- 58136: 1181, // AlterTableSpecListOpt (1x)
- 58140: 1182, // AnalyzeOptionList (1x)
- 58143: 1183, // AnyOrAll (1x)
- 58145: 1184, // AsOfClauseOpt (1x)
- 58146: 1185, // AsOpt (1x)
- 58151: 1186, // AuthOption (1x)
- 58152: 1187, // AuthPlugin (1x)
- 58154: 1188, // AutoRandomOpt (1x)
- 58164: 1189, // BetweenOrNotOp (1x)
- 58166: 1190, // BindingStatusType (1x)
- 58169: 1191, // BitValueType (1x)
- 58170: 1192, // BlobType (1x)
- 58173: 1193, // BooleanType (1x)
- 57371: 1194, // both (1x)
- 58184: 1195, // CharsetNameOrDefault (1x)
- 58185: 1196, // CharsetOpt (1x)
- 58187: 1197, // ClearPasswordExpireOptions (1x)
- 58191: 1198, // ColumnFormat (1x)
- 58193: 1199, // ColumnList (1x)
- 58200: 1200, // ColumnNameOrUserVariableList (1x)
- 58197: 1201, // ColumnNameOrUserVarListOpt (1x)
- 58198: 1202, // ColumnNameOrUserVarListOptWithBrackets (1x)
- 58206: 1203, // ColumnSetValueList (1x)
- 58211: 1204, // CompareOp (1x)
- 58215: 1205, // ConnectionOptionList (1x)
- 58218: 1206, // ConstraintElem (1x)
- 58226: 1207, // CreateSequenceOptionListOpt (1x)
- 58230: 1208, // CreateTableSelectOpt (1x)
- 58233: 1209, // CreateViewSelectOpt (1x)
- 58240: 1210, // DatabaseOptionListOpt (1x)
- 58242: 1211, // DateAndTimeType (1x)
- 58237: 1212, // DBNameList (1x)
- 58248: 1213, // DefaultValueExpr (1x)
- 58268: 1214, // DryRunOptions (1x)
- 57410: 1215, // dual (1x)
- 58270: 1216, // ElseOpt (1x)
- 58275: 1217, // EnforcedOrNotOrNotNullOpt (1x)
- 58289: 1218, // ExpressionOpt (1x)
- 58291: 1219, // FetchFirstOpt (1x)
- 58293: 1220, // FieldAsName (1x)
- 58294: 1221, // FieldAsNameOpt (1x)
- 58296: 1222, // FieldItemList (1x)
- 58298: 1223, // FieldList (1x)
- 58304: 1224, // FirstAndLastPartOpt (1x)
- 58305: 1225, // FirstOrNext (1x)
- 58306: 1226, // FixedPointType (1x)
- 58312: 1227, // FloatingPointType (1x)
- 58313: 1228, // FlushOption (1x)
- 58316: 1229, // FromDual (1x)
- 58318: 1230, // FulltextSearchModifierOpt (1x)
- 58319: 1231, // FuncDatetimePrec (1x)
- 58332: 1232, // GetFormatSelector (1x)
- 58339: 1233, // HandleRangeList (1x)
- 58344: 1234, // IdentListWithParenOpt (1x)
- 58348: 1235, // IfNotRunning (1x)
- 58349: 1236, // IfRunning (1x)
- 58350: 1237, // IgnoreLines (1x)
- 58352: 1238, // ImportTruncate (1x)
- 58358: 1239, // IndexHintScope (1x)
- 58361: 1240, // IndexKeyTypeOpt (1x)
- 58370: 1241, // IndexPartSpecificationListOpt (1x)
- 58373: 1242, // IndexTypeOpt (1x)
- 58353: 1243, // InOrNotOp (1x)
- 58376: 1244, // InstanceOption (1x)
- 58378: 1245, // IntegerType (1x)
- 58379: 1246, // IntervalExpr (1x)
- 58382: 1247, // IsolationLevel (1x)
- 58381: 1248, // IsOrNotOp (1x)
- 57461: 1249, // leading (1x)
- 58390: 1250, // LikeEscapeOpt (1x)
- 58391: 1251, // LikeOrNotOp (1x)
- 58392: 1252, // LikeTableWithOrWithoutParen (1x)
- 58397: 1253, // LinesTerminated (1x)
- 58400: 1254, // LoadDataSetList (1x)
- 58401: 1255, // LoadDataSetSpecOpt (1x)
- 58409: 1256, // LockType (1x)
- 58410: 1257, // LogTypeOpt (1x)
- 58411: 1258, // Match (1x)
- 58412: 1259, // MatchOpt (1x)
- 58413: 1260, // MaxIndexNumOpt (1x)
- 58414: 1261, // MaxMinutesOpt (1x)
- 58415: 1262, // MaxValPartOpt (1x)
- 58418: 1263, // NChar (1x)
- 58430: 1264, // NullPartOpt (1x)
- 58433: 1265, // NumericType (1x)
- 58420: 1266, // NVarchar (1x)
- 58438: 1267, // OnDeleteUpdateOpt (1x)
- 58439: 1268, // OnDuplicateKeyUpdate (1x)
- 58441: 1269, // OptBinMod (1x)
- 58443: 1270, // OptCharset (1x)
- 58446: 1271, // OptErrors (1x)
- 58447: 1272, // OptExistingWindowName (1x)
- 58449: 1273, // OptFromFirstLast (1x)
- 58451: 1274, // OptGConcatSeparator (1x)
- 58466: 1275, // OptionalShardColumn (1x)
- 58457: 1276, // OptPartitionClause (1x)
- 58458: 1277, // OptTable (1x)
- 58461: 1278, // OptWindowFrameClause (1x)
- 58462: 1279, // OptWindowOrderByClause (1x)
- 58468: 1280, // Order (1x)
- 58467: 1281, // OrReplace (1x)
- 57445: 1282, // outfile (1x)
- 58474: 1283, // PartDefValuesOpt (1x)
- 58479: 1284, // PartitionKeyAlgorithmOpt (1x)
- 58480: 1285, // PartitionMethod (1x)
- 58483: 1286, // PartitionNumOpt (1x)
- 58490: 1287, // PerDB (1x)
- 58491: 1288, // PerTable (1x)
- 57499: 1289, // precisionType (1x)
- 58499: 1290, // PrepareSQL (1x)
- 58507: 1291, // ProcedureCall (1x)
- 57506: 1292, // recursive (1x)
- 58513: 1293, // RegexpOrNotOp (1x)
- 58518: 1294, // ReorganizePartitionRuleOpt (1x)
- 58523: 1295, // RequireList (1x)
- 58534: 1296, // RoleSpecList (1x)
- 58541: 1297, // RowOrRows (1x)
- 58548: 1298, // SelectStmtFieldList (1x)
- 58556: 1299, // SelectStmtOpts (1x)
- 58557: 1300, // SelectStmtOptsList (1x)
- 58561: 1301, // SequenceOptionList (1x)
- 58566: 1302, // SetOpr (1x)
- 58573: 1303, // SetRoleOpt (1x)
- 58576: 1304, // ShardableStmt (1x)
- 58579: 1305, // ShowIndexKwd (1x)
- 58580: 1306, // ShowLikeOrWhereOpt (1x)
- 58581: 1307, // ShowPlacementTarget (1x)
- 58582: 1308, // ShowProfileArgsOpt (1x)
- 58584: 1309, // ShowProfileTypes (1x)
- 58585: 1310, // ShowProfileTypesOpt (1x)
- 58588: 1311, // ShowTargetFilterable (1x)
- 57526: 1312, // spatial (1x)
- 58596: 1313, // SplitSyntaxOption (1x)
- 57531: 1314, // ssl (1x)
- 58597: 1315, // Start (1x)
- 58598: 1316, // Starting (1x)
- 57532: 1317, // starting (1x)
- 58600: 1318, // StatementList (1x)
- 58601: 1319, // StatementScope (1x)
- 58606: 1320, // StorageMedia (1x)
- 57538: 1321, // stored (1x)
- 58607: 1322, // StringList (1x)
- 58610: 1323, // StringNameOrBRIEOptionKeyword (1x)
- 58611: 1324, // StringType (1x)
- 58613: 1325, // SubPartDefinitionList (1x)
- 58614: 1326, // SubPartDefinitionListOpt (1x)
- 58616: 1327, // SubPartitionNumOpt (1x)
- 58617: 1328, // SubPartitionOpt (1x)
- 58627: 1329, // TableElementListOpt (1x)
- 58630: 1330, // TableLockList (1x)
- 58643: 1331, // TableRefsClause (1x)
- 58644: 1332, // TableSampleMethodOpt (1x)
- 58645: 1333, // TableSampleOpt (1x)
- 58646: 1334, // TableSampleUnitOpt (1x)
- 58648: 1335, // TableToTableList (1x)
- 58652: 1336, // TextType (1x)
- 57545: 1337, // trailing (1x)
- 58660: 1338, // TrimDirection (1x)
- 58662: 1339, // Type (1x)
- 58672: 1340, // UserToUserList (1x)
- 58674: 1341, // UserVariableList (1x)
- 58677: 1342, // UsingRoles (1x)
- 58679: 1343, // Values (1x)
- 58681: 1344, // ValuesOpt (1x)
- 58688: 1345, // ViewAlgorithm (1x)
- 58689: 1346, // ViewCheckOption (1x)
- 58690: 1347, // ViewDefiner (1x)
- 58691: 1348, // ViewFieldList (1x)
- 58692: 1349, // ViewName (1x)
- 58693: 1350, // ViewSQLSecurity (1x)
- 57565: 1351, // virtual (1x)
- 58694: 1352, // VirtualOrStored (1x)
- 58696: 1353, // WhenClauseList (1x)
- 58699: 1354, // WindowClauseOptional (1x)
- 58701: 1355, // WindowDefinitionList (1x)
- 58702: 1356, // WindowFrameBetween (1x)
- 58704: 1357, // WindowFrameExtent (1x)
- 58706: 1358, // WindowFrameUnits (1x)
- 58709: 1359, // WindowNameOrSpec (1x)
- 58711: 1360, // WindowSpecDetails (1x)
- 58717: 1361, // WithReadLockOpt (1x)
- 58718: 1362, // WithValidation (1x)
- 58719: 1363, // WithValidationOpt (1x)
- 58721: 1364, // Year (1x)
- 58117: 1365, // $default (0x)
- 58078: 1366, // andnot (0x)
- 58149: 1367, // AssignmentListOpt (0x)
- 58190: 1368, // ColumnDefList (0x)
- 58207: 1369, // CommaOpt (0x)
- 58101: 1370, // createTableSelect (0x)
- 58092: 1371, // empty (0x)
- 57345: 1372, // error (0x)
- 58116: 1373, // higherThanComma (0x)
- 58110: 1374, // higherThanParenthese (0x)
- 58099: 1375, // insertValues (0x)
- 57353: 1376, // invalid (0x)
- 58102: 1377, // lowerThanCharsetKwd (0x)
- 58115: 1378, // lowerThanComma (0x)
- 58100: 1379, // lowerThanCreateTableSelect (0x)
- 58112: 1380, // lowerThanEq (0x)
- 58107: 1381, // lowerThanFunction (0x)
- 58098: 1382, // lowerThanInsertValues (0x)
- 58103: 1383, // lowerThanKey (0x)
- 58104: 1384, // lowerThanLocal (0x)
- 58114: 1385, // lowerThanNot (0x)
- 58111: 1386, // lowerThanOn (0x)
- 58109: 1387, // lowerThanParenthese (0x)
- 58105: 1388, // lowerThanRemove (0x)
- 58093: 1389, // lowerThanSelectOpt (0x)
- 58097: 1390, // lowerThanSelectStmt (0x)
- 58096: 1391, // lowerThanSetKeyword (0x)
- 58095: 1392, // lowerThanStringLitToken (0x)
- 58094: 1393, // lowerThanValueKeyword (0x)
- 58106: 1394, // lowerThenOrder (0x)
- 58113: 1395, // neg (0x)
- 57357: 1396, // odbcDateType (0x)
- 57359: 1397, // odbcTimestampType (0x)
- 57358: 1398, // odbcTimeType (0x)
- 58108: 1399, // tableRefPriority (0x)
+ 57344: 0, // $end (2314x)
+ 59: 1, // ';' (2313x)
+ 58058: 2, // split (1908x)
+ 57748: 3, // merge (1907x)
+ 57813: 4, // remove (1906x)
+ 57814: 5, // reorganize (1906x)
+ 57631: 6, // comment (1901x)
+ 57878: 7, // storage (1814x)
+ 57594: 8, // autoIncrement (1803x)
+ 44: 9, // ',' (1719x)
+ 57692: 10, // first (1702x)
+ 57580: 11, // after (1696x)
+ 57845: 12, // serial (1692x)
+ 57595: 13, // autoRandom (1691x)
+ 57628: 14, // columnFormat (1691x)
+ 57786: 15, // password (1666x)
+ 57619: 16, // charsetKwd (1658x)
+ 57621: 17, // checksum (1646x)
+ 57969: 18, // placement (1644x)
+ 57724: 19, // keyBlockSize (1628x)
+ 57890: 20, // tablespace (1625x)
+ 57672: 21, // encryption (1623x)
+ 57675: 22, // engine (1620x)
+ 57654: 23, // data (1618x)
+ 57715: 24, // insertMethod (1616x)
+ 57742: 25, // maxRows (1616x)
+ 57750: 26, // minRows (1616x)
+ 57765: 27, // nodegroup (1616x)
+ 57638: 28, // connection (1608x)
+ 57596: 29, // autoRandomBase (1605x)
+ 58048: 30, // statsBuckets (1603x)
+ 58050: 31, // statsTopN (1603x)
+ 57905: 32, // ttl (1603x)
+ 57593: 33, // autoIdCache (1602x)
+ 57598: 34, // avgRowLength (1602x)
+ 57636: 35, // compression (1602x)
+ 57660: 36, // delayKeyWrite (1602x)
+ 57780: 37, // packKeys (1602x)
+ 57793: 38, // preSplitRegions (1602x)
+ 57833: 39, // rowFormat (1602x)
+ 57838: 40, // secondaryEngine (1602x)
+ 57849: 41, // shardRowIDBits (1602x)
+ 57874: 42, // statsAutoRecalc (1602x)
+ 57591: 43, // statsColChoice (1602x)
+ 57592: 44, // statsColList (1602x)
+ 57875: 45, // statsPersistent (1602x)
+ 57876: 46, // statsSamplePages (1602x)
+ 57590: 47, // statsSampleRate (1602x)
+ 57888: 48, // tableChecksum (1602x)
+ 57906: 49, // ttlEnable (1602x)
+ 57907: 50, // ttlJobInterval (1602x)
+ 57821: 51, // resource (1560x)
+ 57587: 52, // attribute (1553x)
+ 57577: 53, // account (1551x)
+ 57926: 54, // failedLoginAttempts (1551x)
+ 57927: 55, // passwordLockTime (1551x)
+ 41: 56, // ')' (1536x)
+ 57826: 57, // resume (1535x)
+ 57853: 58, // signed (1535x)
+ 57859: 59, // snapshot (1534x)
+ 57599: 60, // backend (1533x)
+ 57620: 61, // checkpoint (1533x)
+ 57637: 62, // concurrency (1533x)
+ 57643: 63, // csvBackslashEscape (1533x)
+ 57644: 64, // csvDelimiter (1533x)
+ 57645: 65, // csvHeader (1533x)
+ 57646: 66, // csvNotNull (1533x)
+ 57647: 67, // csvNull (1533x)
+ 57648: 68, // csvSeparator (1533x)
+ 57649: 69, // csvTrimLastSeparators (1533x)
+ 57728: 70, // lastBackup (1533x)
+ 57775: 71, // onDuplicate (1533x)
+ 57776: 72, // online (1533x)
+ 57808: 73, // rateLimit (1533x)
+ 57842: 74, // sendCredentialsToTiKV (1533x)
+ 57856: 75, // skipSchemaFiles (1533x)
+ 57879: 76, // strictFormat (1533x)
+ 57895: 77, // tikvImporter (1533x)
+ 57904: 78, // truncate (1530x)
+ 57762: 79, // no (1529x)
+ 57873: 80, // start (1527x)
+ 57614: 81, // cache (1524x)
+ 57763: 82, // nocache (1523x)
+ 57653: 83, // cycle (1522x)
+ 57752: 84, // minValue (1522x)
+ 57712: 85, // increment (1521x)
+ 57764: 86, // nocycle (1521x)
+ 57766: 87, // nomaxvalue (1521x)
+ 57767: 88, // nominvalue (1521x)
+ 57823: 89, // restart (1519x)
+ 57583: 90, // algorithm (1518x)
+ 57899: 91, // tp (1518x)
+ 57652: 92, // clustered (1517x)
+ 57717: 93, // invisible (1517x)
+ 57768: 94, // nonclustered (1517x)
+ 58061: 95, // regions (1517x)
+ 57918: 96, // visible (1517x)
+ 57881: 97, // subpartition (1514x)
+ 57785: 98, // partitions (1513x)
+ 57938: 99, // constraints (1510x)
+ 57950: 100, // followerConstraints (1510x)
+ 57951: 101, // followers (1510x)
+ 57961: 102, // leaderConstraints (1510x)
+ 57963: 103, // learnerConstraints (1510x)
+ 57964: 104, // learners (1510x)
+ 57974: 105, // primaryRegion (1510x)
+ 57979: 106, // schedule (1510x)
+ 58013: 107, // voterConstraints (1510x)
+ 58014: 108, // voters (1510x)
+ 57629: 109, // columns (1509x)
+ 57917: 110, // view (1509x)
+ 57657: 111, // day (1507x)
+ 57924: 112, // yearType (1507x)
+ 57642: 113, // cpu (1506x)
+ 57837: 114, // second (1505x)
+ 57872: 115, // sqlTsiYear (1505x)
+ 57586: 116, // ascii (1504x)
+ 57613: 117, // byteType (1504x)
+ 57707: 118, // hour (1504x)
+ 58017: 119, // ioReadBandwidth (1504x)
+ 58018: 120, // ioWriteBandwidth (1504x)
+ 57749: 121, // microsecond (1504x)
+ 57751: 122, // minute (1504x)
+ 57755: 123, // month (1504x)
+ 57804: 124, // quarter (1504x)
+ 58015: 125, // rruRate (1504x)
+ 57865: 126, // sqlTsiDay (1504x)
+ 57866: 127, // sqlTsiHour (1504x)
+ 57867: 128, // sqlTsiMinute (1504x)
+ 57868: 129, // sqlTsiMonth (1504x)
+ 57869: 130, // sqlTsiQuarter (1504x)
+ 57870: 131, // sqlTsiSecond (1504x)
+ 57871: 132, // sqlTsiWeek (1504x)
+ 57911: 133, // unicodeSym (1504x)
+ 57920: 134, // week (1504x)
+ 58016: 135, // wruRate (1504x)
+ 57690: 136, // fields (1503x)
+ 57889: 137, // tables (1502x)
+ 57877: 138, // status (1501x)
+ 57843: 139, // separator (1500x)
+ 57622: 140, // cipher (1499x)
+ 57346: 141, // identifier (1499x)
+ 57722: 142, // issuer (1499x)
+ 57740: 143, // maxConnectionsPerHour (1499x)
+ 57741: 144, // maxQueriesPerHour (1499x)
+ 57743: 145, // maxUpdatesPerHour (1499x)
+ 57744: 146, // maxUserConnections (1499x)
+ 57794: 147, // preceding (1499x)
+ 57835: 148, // san (1499x)
+ 57880: 149, // subject (1499x)
+ 57898: 150, // tokenIssuer (1499x)
+ 57710: 151, // importKwd (1498x)
+ 57733: 152, // local (1498x)
+ 57806: 153, // query (1497x)
+ 57855: 154, // skip (1497x)
+ 57606: 155, // bindings (1496x)
+ 57659: 156, // definer (1496x)
+ 57702: 157, // hash (1496x)
+ 57708: 158, // identified (1496x)
+ 57736: 159, // logs (1496x)
+ 57822: 160, // respect (1496x)
+ 57632: 161, // commit (1495x)
+ 57650: 162, // current (1495x)
+ 57674: 163, // enforced (1495x)
+ 57695: 164, // following (1495x)
+ 57730: 165, // less (1495x)
+ 57770: 166, // nowait (1495x)
+ 57777: 167, // only (1495x)
+ 57830: 168, // rollback (1495x)
+ 57836: 169, // savepoint (1495x)
+ 57894: 170, // than (1495x)
+ 57908: 171, // unbounded (1495x)
+ 57915: 172, // value (1495x)
+ 57602: 173, // begin (1494x)
+ 57604: 174, // binding (1494x)
+ 57673: 175, // end (1494x)
+ 57700: 176, // global (1494x)
+ 57954: 177, // next_row_id (1494x)
+ 57774: 178, // offset (1494x)
+ 57792: 179, // policy (1494x)
+ 57973: 180, // predicate (1494x)
+ 57891: 181, // temporary (1494x)
+ 58056: 182, // tiFlash (1494x)
+ 57913: 183, // user (1494x)
+ 57723: 184, // jsonType (1493x)
+ 57971: 185, // planCache (1493x)
+ 57795: 186, // prepare (1493x)
+ 57829: 187, // role (1493x)
+ 57912: 188, // unknown (1493x)
+ 57925: 189, // wait (1493x)
+ 57612: 190, // btree (1492x)
+ 57655: 191, // datetimeType (1492x)
+ 57656: 192, // dateType (1492x)
+ 57693: 193, // fixed (1492x)
+ 57709: 194, // identSQLErrors (1492x)
+ 57721: 195, // isolation (1492x)
+ 57727: 196, // last (1492x)
+ 57735: 197, // location (1492x)
+ 57738: 198, // max_idxnum (1492x)
+ 57747: 199, // memory (1492x)
+ 57773: 200, // off (1492x)
+ 57779: 201, // optional (1492x)
+ 57788: 202, // per_db (1492x)
+ 57970: 203, // plan (1492x)
+ 57797: 204, // privileges (1492x)
+ 57817: 205, // replica (1492x)
+ 57820: 206, // required (1492x)
+ 57834: 207, // rtree (1492x)
+ 57977: 208, // running (1492x)
+ 58042: 209, // sampleRate (1492x)
+ 57844: 210, // sequence (1492x)
+ 57847: 211, // session (1492x)
+ 57858: 212, // slow (1492x)
+ 58045: 213, // stats (1492x)
+ 57897: 214, // timeType (1492x)
+ 57914: 215, // validation (1492x)
+ 57916: 216, // variables (1492x)
+ 57588: 217, // attributes (1491x)
+ 57634: 218, // compact (1491x)
+ 57661: 219, // digest (1491x)
+ 57663: 220, // disable (1491x)
+ 57668: 221, // duplicate (1491x)
+ 57669: 222, // dynamic (1491x)
+ 57670: 223, // enable (1491x)
+ 57678: 224, // errorKwd (1491x)
+ 57694: 225, // flush (1491x)
+ 57697: 226, // full (1491x)
+ 57705: 227, // history (1491x)
+ 57745: 228, // mb (1491x)
+ 57753: 229, // mode (1491x)
+ 57791: 230, // plugins (1491x)
+ 57799: 231, // processlist (1491x)
+ 57810: 232, // recover (1491x)
+ 57815: 233, // repair (1491x)
+ 57816: 234, // repeatable (1491x)
+ 58044: 235, // statistics (1491x)
+ 57882: 236, // subpartitions (1491x)
+ 58055: 237, // tidb (1491x)
+ 57896: 238, // timestampType (1491x)
+ 57922: 239, // without (1491x)
+ 58019: 240, // admin (1490x)
+ 57600: 241, // backup (1490x)
+ 58020: 242, // batch (1490x)
+ 57607: 243, // binlog (1490x)
+ 57609: 244, // block (1490x)
+ 57610: 245, // booleanType (1490x)
+ 57935: 246, // briefType (1490x)
+ 58021: 247, // buckets (1490x)
+ 57615: 248, // capture (1490x)
+ 58024: 249, // cardinality (1490x)
+ 57618: 250, // chain (1490x)
+ 57625: 251, // clientErrorsSummary (1490x)
+ 58025: 252, // cmSketch (1490x)
+ 57626: 253, // coalesce (1490x)
+ 57635: 254, // compressed (1490x)
+ 57641: 255, // context (1490x)
+ 57937: 256, // copyKwd (1490x)
+ 58027: 257, // correlation (1490x)
+ 57658: 258, // deallocate (1490x)
+ 58029: 259, // dependency (1490x)
+ 57662: 260, // directory (1490x)
+ 57665: 261, // discard (1490x)
+ 57666: 262, // disk (1490x)
+ 57667: 263, // do (1490x)
+ 57943: 264, // dotType (1490x)
+ 58031: 265, // drainer (1490x)
+ 58032: 266, // dry (1490x)
+ 57683: 267, // exchange (1490x)
+ 57685: 268, // execute (1490x)
+ 57686: 269, // expansion (1490x)
+ 57948: 270, // flashback (1490x)
+ 57696: 271, // format (1490x)
+ 57699: 272, // general (1490x)
+ 57703: 273, // help (1490x)
+ 57704: 274, // histogram (1490x)
+ 57706: 275, // hosts (1490x)
+ 57955: 276, // inplace (1490x)
+ 57716: 277, // instance (1490x)
+ 57956: 278, // instant (1490x)
+ 57720: 279, // ipc (1490x)
+ 58034: 280, // job (1490x)
+ 58033: 281, // jobs (1490x)
+ 57725: 282, // labels (1490x)
+ 57734: 283, // locked (1490x)
+ 57754: 284, // modify (1490x)
+ 57760: 285, // next (1490x)
+ 58035: 286, // nodeID (1490x)
+ 58036: 287, // nodeState (1490x)
+ 57772: 288, // nulls (1490x)
+ 57781: 289, // pageSym (1490x)
+ 58039: 290, // pump (1490x)
+ 57803: 291, // purge (1490x)
+ 57809: 292, // rebuild (1490x)
+ 57811: 293, // redundant (1490x)
+ 57812: 294, // reload (1490x)
+ 57824: 295, // restore (1490x)
+ 57831: 296, // routine (1490x)
+ 57978: 297, // s3 (1490x)
+ 58041: 298, // samples (1490x)
+ 57839: 299, // secondaryLoad (1490x)
+ 57840: 300, // secondaryUnload (1490x)
+ 57850: 301, // share (1490x)
+ 57852: 302, // shutdown (1490x)
+ 57861: 303, // source (1490x)
+ 57589: 304, // statsOptions (1490x)
+ 57985: 305, // stop (1490x)
+ 57884: 306, // swaps (1490x)
+ 57992: 307, // tidbJson (1490x)
+ 57996: 308, // tokudbDefault (1490x)
+ 57997: 309, // tokudbFast (1490x)
+ 57998: 310, // tokudbLzma (1490x)
+ 57999: 311, // tokudbQuickLZ (1490x)
+ 58001: 312, // tokudbSmall (1490x)
+ 58000: 313, // tokudbSnappy (1490x)
+ 58002: 314, // tokudbUncompressed (1490x)
+ 58003: 315, // tokudbZlib (1490x)
+ 58004: 316, // tokudbZstd (1490x)
+ 58057: 317, // topn (1490x)
+ 57900: 318, // trace (1490x)
+ 57901: 319, // traditional (1490x)
+ 58011: 320, // trueCardCost (1490x)
+ 58010: 321, // verboseType (1490x)
+ 57919: 322, // warnings (1490x)
+ 57578: 323, // action (1489x)
+ 57579: 324, // advise (1489x)
+ 57581: 325, // against (1489x)
+ 57582: 326, // ago (1489x)
+ 57584: 327, // always (1489x)
+ 57601: 328, // backups (1489x)
+ 57603: 329, // bernoulli (1489x)
+ 57605: 330, // bindingCache (1489x)
+ 57608: 331, // bitType (1489x)
+ 57611: 332, // boolType (1489x)
+ 58022: 333, // builtins (1489x)
+ 58023: 334, // cancel (1489x)
+ 57616: 335, // cascaded (1489x)
+ 57617: 336, // causal (1489x)
+ 57623: 337, // cleanup (1489x)
+ 57624: 338, // client (1489x)
+ 57651: 339, // cluster (1489x)
+ 57627: 340, // collation (1489x)
+ 58026: 341, // columnStatsUsage (1489x)
+ 57633: 342, // committed (1489x)
+ 57630: 343, // config (1489x)
+ 57639: 344, // consistency (1489x)
+ 57640: 345, // consistent (1489x)
+ 58028: 346, // ddl (1489x)
+ 58030: 347, // depth (1489x)
+ 57664: 348, // disabled (1489x)
+ 57944: 349, // dump (1489x)
+ 57671: 350, // enabled (1489x)
+ 57676: 351, // engines (1489x)
+ 57677: 352, // enum (1489x)
+ 57681: 353, // events (1489x)
+ 57682: 354, // evolve (1489x)
+ 57687: 355, // expire (1489x)
+ 57946: 356, // exprPushdownBlacklist (1489x)
+ 57688: 357, // extended (1489x)
+ 57689: 358, // faultsSym (1489x)
+ 57698: 359, // function (1489x)
+ 57701: 360, // grants (1489x)
+ 58052: 361, // histogramsInFlight (1489x)
+ 57711: 362, // imports (1489x)
+ 57713: 363, // incremental (1489x)
+ 57714: 364, // indexes (1489x)
+ 57957: 365, // internal (1489x)
+ 57718: 366, // invoker (1489x)
+ 57719: 367, // io (1489x)
+ 57726: 368, // language (1489x)
+ 57731: 369, // level (1489x)
+ 57732: 370, // list (1489x)
+ 57737: 371, // master (1489x)
+ 57739: 372, // max_minutes (1489x)
+ 57757: 373, // national (1489x)
+ 57758: 374, // ncharType (1489x)
+ 57759: 375, // never (1489x)
+ 57761: 376, // nextval (1489x)
+ 57769: 377, // none (1489x)
+ 57771: 378, // nvarcharType (1489x)
+ 57778: 379, // open (1489x)
+ 58037: 380, // optimistic (1489x)
+ 57968: 381, // optRuleBlacklist (1489x)
+ 57782: 382, // parser (1489x)
+ 57783: 383, // partial (1489x)
+ 57784: 384, // partitioning (1489x)
+ 57789: 385, // per_table (1489x)
+ 57787: 386, // percent (1489x)
+ 58038: 387, // pessimistic (1489x)
+ 57796: 388, // preserve (1489x)
+ 57800: 389, // profile (1489x)
+ 57801: 390, // profiles (1489x)
+ 57805: 391, // queries (1489x)
+ 57975: 392, // recent (1489x)
+ 58062: 393, // region (1489x)
+ 57976: 394, // replayer (1489x)
+ 58060: 395, // reset (1489x)
+ 57825: 396, // restores (1489x)
+ 57827: 397, // reuse (1489x)
+ 58040: 398, // run (1489x)
+ 57841: 399, // security (1489x)
+ 57846: 400, // serializable (1489x)
+ 58043: 401, // sessionStates (1489x)
+ 57854: 402, // simple (1489x)
+ 57857: 403, // slave (1489x)
+ 58049: 404, // statsHealthy (1489x)
+ 58047: 405, // statsHistograms (1489x)
+ 58051: 406, // statsLocked (1489x)
+ 58046: 407, // statsMeta (1489x)
+ 57986: 408, // strict (1489x)
+ 57885: 409, // switchesSym (1489x)
+ 57886: 410, // system (1489x)
+ 57887: 411, // systemTime (1489x)
+ 57991: 412, // target (1489x)
+ 58054: 413, // telemetryID (1489x)
+ 57892: 414, // temptable (1489x)
+ 57893: 415, // textType (1489x)
+ 57995: 416, // tls (1489x)
+ 58005: 417, // top (1489x)
+ 57902: 418, // transaction (1489x)
+ 57903: 419, // triggers (1489x)
+ 57909: 420, // uncommitted (1489x)
+ 57910: 421, // undefined (1489x)
+ 58059: 422, // width (1489x)
+ 57923: 423, // x509 (1489x)
+ 57928: 424, // addDate (1488x)
+ 57585: 425, // any (1488x)
+ 57929: 426, // approxCountDistinct (1488x)
+ 57930: 427, // approxPercentile (1488x)
+ 57597: 428, // avg (1488x)
+ 57931: 429, // bitAnd (1488x)
+ 57932: 430, // bitOr (1488x)
+ 57933: 431, // bitXor (1488x)
+ 57934: 432, // bound (1488x)
+ 57936: 433, // cast (1488x)
+ 57940: 434, // curDate (1488x)
+ 57939: 435, // curTime (1488x)
+ 57941: 436, // dateAdd (1488x)
+ 57942: 437, // dateSub (1488x)
+ 57679: 438, // escape (1488x)
+ 57680: 439, // event (1488x)
+ 57945: 440, // exact (1488x)
+ 57684: 441, // exclusive (1488x)
+ 57947: 442, // extract (1488x)
+ 57691: 443, // file (1488x)
+ 57949: 444, // follower (1488x)
+ 57952: 445, // getFormat (1488x)
+ 57953: 446, // groupConcat (1488x)
+ 57958: 447, // jsonArrayagg (1488x)
+ 57959: 448, // jsonObjectAgg (1488x)
+ 57729: 449, // lastval (1488x)
+ 57960: 450, // leader (1488x)
+ 57962: 451, // learner (1488x)
+ 57966: 452, // max (1488x)
+ 57746: 453, // member (1488x)
+ 57965: 454, // min (1488x)
+ 57756: 455, // names (1488x)
+ 57967: 456, // now (1488x)
+ 57972: 457, // position (1488x)
+ 57798: 458, // process (1488x)
+ 57802: 459, // proxy (1488x)
+ 57807: 460, // quick (1488x)
+ 57818: 461, // replicas (1488x)
+ 57819: 462, // replication (1488x)
+ 57828: 463, // reverse (1488x)
+ 57832: 464, // rowCount (1488x)
+ 57848: 465, // setval (1488x)
+ 57851: 466, // shared (1488x)
+ 57860: 467, // some (1488x)
+ 57862: 468, // sqlBufferResult (1488x)
+ 57863: 469, // sqlCache (1488x)
+ 57864: 470, // sqlNoCache (1488x)
+ 57980: 471, // staleness (1488x)
+ 57981: 472, // std (1488x)
+ 57982: 473, // stddev (1488x)
+ 57983: 474, // stddevPop (1488x)
+ 57984: 475, // stddevSamp (1488x)
+ 57987: 476, // strong (1488x)
+ 57988: 477, // subDate (1488x)
+ 57990: 478, // substring (1488x)
+ 57989: 479, // sum (1488x)
+ 57883: 480, // super (1488x)
+ 58053: 481, // telemetry (1488x)
+ 57993: 482, // timestampAdd (1488x)
+ 57994: 483, // timestampDiff (1488x)
+ 58006: 484, // trim (1488x)
+ 58007: 485, // variance (1488x)
+ 58008: 486, // varPop (1488x)
+ 58009: 487, // varSamp (1488x)
+ 58012: 488, // voter (1488x)
+ 57921: 489, // weightString (1488x)
+ 57491: 490, // on (1419x)
+ 40: 491, // '(' (1355x)
+ 57351: 492, // stringLit (1237x)
+ 57572: 493, // with (1235x)
+ 58108: 494, // not2 (1213x)
+ 57401: 495, // defaultKwd (1153x)
+ 57484: 496, // not (1149x)
+ 57367: 497, // as (1130x)
+ 57382: 498, // collate (1096x)
+ 57551: 499, // union (1080x)
+ 57557: 500, // using (1071x)
+ 57464: 501, // left (1066x)
+ 57518: 502, // right (1066x)
+ 43: 503, // '+' (1043x)
+ 45: 504, // '-' (1041x)
+ 57483: 505, // mod (1021x)
+ 57499: 506, // partition (1014x)
+ 57438: 507, // ignore (979x)
+ 57418: 508, // except (969x)
+ 57488: 509, // null (969x)
+ 57444: 510, // intersect (968x)
+ 57466: 511, // limit (949x)
+ 57423: 512, // forKwd (947x)
+ 57380: 513, // charType (945x)
+ 57561: 514, // values (945x)
+ 57446: 515, // into (939x)
+ 58097: 516, // eq (935x)
+ 57472: 517, // lock (935x)
+ 57569: 518, // where (930x)
+ 57426: 519, // from (928x)
+ 57420: 520, // fetch (925x)
+ 57514: 521, // replace (922x)
+ 57496: 522, // order (921x)
+ 57424: 523, // force (920x)
+ 58092: 524, // intLit (912x)
+ 57525: 525, // set (908x)
+ 57365: 526, // and (907x)
+ 57495: 527, // or (883x)
+ 57356: 528, // andand (882x)
+ 57790: 529, // pipesAsOr (882x)
+ 57573: 530, // xor (882x)
+ 57430: 531, // group (860x)
+ 57432: 532, // having (856x)
+ 57536: 533, // straightJoin (850x)
+ 57571: 534, // window (842x)
+ 57456: 535, // join (838x)
+ 57465: 536, // like (830x)
+ 57576: 537, // natural (828x)
+ 57387: 538, // cross (827x)
+ 57442: 539, // inner (827x)
+ 42: 540, // '*' (826x)
+ 125: 541, // '}' (824x)
+ 57521: 542, // rows (812x)
+ 57556: 543, // use (808x)
+ 57539: 544, // tableSample (802x)
+ 57504: 545, // rangeKwd (801x)
+ 57431: 546, // groups (800x)
+ 57405: 547, // desc (799x)
+ 57371: 548, // binaryType (798x)
+ 57396: 549, // dayHour (798x)
+ 57397: 550, // dayMicrosecond (798x)
+ 57398: 551, // dayMinute (798x)
+ 57399: 552, // daySecond (798x)
+ 57434: 553, // hourMicrosecond (798x)
+ 57435: 554, // hourMinute (798x)
+ 57436: 555, // hourSecond (798x)
+ 57481: 556, // minuteMicrosecond (798x)
+ 57482: 557, // minuteSecond (798x)
+ 57523: 558, // secondMicrosecond (798x)
+ 57574: 559, // yearMonth (798x)
+ 57368: 560, // asc (797x)
+ 57568: 561, // when (794x)
+ 57413: 562, // elseKwd (791x)
+ 57439: 563, // in (791x)
+ 57542: 564, // then (788x)
+ 47: 565, // '/' (784x)
+ 37: 566, // '%' (783x)
+ 38: 567, // '&' (783x)
+ 94: 568, // '^' (783x)
+ 124: 569, // '|' (783x)
+ 57409: 570, // div (783x)
+ 58102: 571, // lsh (783x)
+ 58107: 572, // rsh (783x)
+ 60: 573, // '<' (781x)
+ 62: 574, // '>' (781x)
+ 58098: 575, // ge (781x)
+ 57448: 576, // is (781x)
+ 58099: 577, // le (781x)
+ 58103: 578, // neq (781x)
+ 58104: 579, // neqSynonym (781x)
+ 58105: 580, // nulleq (781x)
+ 57369: 581, // between (778x)
+ 57437: 582, // ifKwd (777x)
+ 57510: 583, // regexpKwd (770x)
+ 57519: 584, // rlike (770x)
+ 57349: 585, // memberof (767x)
+ 57449: 586, // insert (766x)
+ 57538: 587, // tableKwd (758x)
+ 57352: 588, // singleAtIdentifier (755x)
+ 57392: 589, // currentUser (751x)
+ 57419: 590, // falseKwd (750x)
+ 57549: 591, // trueKwd (750x)
+ 58091: 592, // decLit (744x)
+ 58090: 593, // floatLit (744x)
+ 57520: 594, // row (743x)
+ 58093: 595, // hexLit (742x)
+ 58106: 596, // paramMarker (741x)
+ 58094: 597, // bitLit (740x)
+ 57445: 598, // interval (740x)
+ 57457: 599, // key (740x)
+ 123: 600, // '{' (739x)
+ 57394: 601, // database (735x)
+ 57416: 602, // exists (734x)
+ 57385: 603, // convert (731x)
+ 58070: 604, // builtinCurDate (730x)
+ 58078: 605, // builtinNow (730x)
+ 57381: 606, // check (730x)
+ 57389: 607, // currentDate (730x)
+ 57391: 608, // currentTs (730x)
+ 57353: 609, // doubleAtIdentifier (730x)
+ 57470: 610, // localTime (730x)
+ 57471: 611, // localTs (730x)
+ 57502: 612, // primary (730x)
+ 57350: 613, // underscoreCS (730x)
+ 58067: 614, // builtinCount (728x)
+ 57357: 615, // pipes (728x)
+ 33: 616, // '!' (727x)
+ 126: 617, // '~' (727x)
+ 58068: 618, // builtinApproxCountDistinct (727x)
+ 58069: 619, // builtinApproxPercentile (727x)
+ 58063: 620, // builtinBitAnd (727x)
+ 58064: 621, // builtinBitOr (727x)
+ 58065: 622, // builtinBitXor (727x)
+ 58066: 623, // builtinCast (727x)
+ 58071: 624, // builtinCurTime (727x)
+ 58072: 625, // builtinDateAdd (727x)
+ 58073: 626, // builtinDateSub (727x)
+ 58074: 627, // builtinExtract (727x)
+ 58075: 628, // builtinGroupConcat (727x)
+ 58076: 629, // builtinMax (727x)
+ 58077: 630, // builtinMin (727x)
+ 58079: 631, // builtinPosition (727x)
+ 58083: 632, // builtinStddevPop (727x)
+ 58084: 633, // builtinStddevSamp (727x)
+ 58080: 634, // builtinSubstring (727x)
+ 58081: 635, // builtinSum (727x)
+ 58082: 636, // builtinSysDate (727x)
+ 58085: 637, // builtinTranslate (727x)
+ 58086: 638, // builtinTrim (727x)
+ 58087: 639, // builtinUser (727x)
+ 58088: 640, // builtinVarPop (727x)
+ 58089: 641, // builtinVarSamp (727x)
+ 57377: 642, // caseKwd (727x)
+ 57388: 643, // cumeDist (727x)
+ 57393: 644, // currentRole (727x)
+ 57390: 645, // currentTime (727x)
+ 57404: 646, // denseRank (727x)
+ 57421: 647, // firstValue (727x)
+ 57460: 648, // lag (727x)
+ 57461: 649, // lastValue (727x)
+ 57462: 650, // lead (727x)
+ 57486: 651, // nthValue (727x)
+ 57487: 652, // ntile (727x)
+ 57500: 653, // percentRank (727x)
+ 57505: 654, // rank (727x)
+ 57513: 655, // repeat (727x)
+ 57522: 656, // rowNumber (727x)
+ 57537: 657, // tidbCurrentTSO (727x)
+ 57558: 658, // utcDate (727x)
+ 57560: 659, // utcTime (727x)
+ 57559: 660, // utcTimestamp (727x)
+ 57550: 661, // unique (723x)
+ 57384: 662, // constraint (721x)
+ 57509: 663, // references (718x)
+ 57524: 664, // selectKwd (715x)
+ 57428: 665, // generated (714x)
+ 57379: 666, // character (708x)
+ 57440: 667, // index (696x)
+ 57476: 668, // match (668x)
+ 57546: 669, // to (587x)
+ 57362: 670, // all (572x)
+ 46: 671, // '.' (567x)
+ 57364: 672, // analyze (551x)
+ 57554: 673, // update (548x)
+ 57477: 674, // maxValue (535x)
+ 58100: 675, // jss (533x)
+ 58101: 676, // juss (533x)
+ 57366: 677, // array (531x)
+ 57467: 678, // lines (522x)
+ 58096: 679, // assignmentEq (519x)
+ 57374: 680, // by (519x)
+ 57363: 681, // alter (517x)
+ 57515: 682, // require (514x)
+ 64: 683, // '@' (509x)
+ 57529: 684, // sql (508x)
+ 58366: 685, // Identifier (507x)
+ 58445: 686, // NotKeywordToken (507x)
+ 58676: 687, // TiDBKeyword (507x)
+ 58686: 688, // UnReservedKeyword (507x)
+ 57411: 689, // drop (503x)
+ 57376: 690, // cascade (502x)
+ 57506: 691, // read (502x)
+ 57516: 692, // restrict (502x)
+ 57347: 693, // asof (500x)
+ 57386: 694, // create (498x)
+ 57425: 695, // foreign (498x)
+ 57427: 696, // fulltext (498x)
+ 57348: 697, // toTimestamp (497x)
+ 57564: 698, // varcharacter (496x)
+ 57563: 699, // varcharType (496x)
+ 57378: 700, // change (495x)
+ 57400: 701, // decimalType (495x)
+ 57410: 702, // doubleType (495x)
+ 57422: 703, // floatType (495x)
+ 57443: 704, // integerType (495x)
+ 57450: 705, // intType (495x)
+ 57507: 706, // realType (495x)
+ 57512: 707, // rename (495x)
+ 57570: 708, // write (495x)
+ 57565: 709, // varbinaryType (494x)
+ 57361: 710, // add (493x)
+ 57370: 711, // bigIntType (493x)
+ 57372: 712, // blobType (493x)
+ 57451: 713, // int1Type (493x)
+ 57452: 714, // int2Type (493x)
+ 57453: 715, // int3Type (493x)
+ 57454: 716, // int4Type (493x)
+ 57455: 717, // int8Type (493x)
+ 57562: 718, // long (493x)
+ 57473: 719, // longblobType (493x)
+ 57474: 720, // longtextType (493x)
+ 57478: 721, // mediumblobType (493x)
+ 57479: 722, // mediumIntType (493x)
+ 57480: 723, // mediumtextType (493x)
+ 57489: 724, // numericType (493x)
+ 57492: 725, // optimize (493x)
+ 57527: 726, // smallIntType (493x)
+ 57543: 727, // tinyblobType (493x)
+ 57544: 728, // tinyIntType (493x)
+ 57545: 729, // tinytextType (493x)
+ 58641: 730, // SubSelect (224x)
+ 58696: 731, // UserVariable (182x)
+ 58616: 732, // SimpleIdent (181x)
+ 58419: 733, // Literal (180x)
+ 58631: 734, // StringLiteral (180x)
+ 58442: 735, // NextValueForSequence (178x)
+ 58343: 736, // FunctionCallGeneric (177x)
+ 58344: 737, // FunctionCallKeyword (177x)
+ 58345: 738, // FunctionCallNonKeyword (177x)
+ 58346: 739, // FunctionNameConflict (177x)
+ 58347: 740, // FunctionNameDateArith (177x)
+ 58348: 741, // FunctionNameDateArithMultiForms (177x)
+ 58349: 742, // FunctionNameDatetimePrecision (177x)
+ 58350: 743, // FunctionNameOptionalBraces (177x)
+ 58351: 744, // FunctionNameSequence (177x)
+ 58615: 745, // SimpleExpr (177x)
+ 58642: 746, // SumExpr (177x)
+ 58644: 747, // SystemVariable (177x)
+ 58707: 748, // Variable (177x)
+ 58730: 749, // WindowFuncCall (177x)
+ 58187: 750, // BitExpr (163x)
+ 58518: 751, // PredicateExpr (132x)
+ 58190: 752, // BoolPri (129x)
+ 58307: 753, // Expression (129x)
+ 58440: 754, // NUM (109x)
+ 58745: 755, // logAnd (97x)
+ 58746: 756, // logOr (97x)
+ 58297: 757, // EqOpt (83x)
+ 58654: 758, // TableName (77x)
+ 58632: 759, // StringName (56x)
+ 57403: 760, // deleteKwd (53x)
+ 58410: 761, // LengthNum (48x)
+ 57553: 762, // unsigned (47x)
+ 57498: 763, // over (45x)
+ 57575: 764, // zerofill (45x)
+ 58212: 765, // ColumnName (41x)
+ 57407: 766, // distinct (36x)
+ 57408: 767, // distinctRow (36x)
+ 58735: 768, // WindowingClause (35x)
+ 58569: 769, // SelectStmt (34x)
+ 58570: 770, // SelectStmtBasic (34x)
+ 58572: 771, // SelectStmtFromDualTable (34x)
+ 58573: 772, // SelectStmtFromTable (34x)
+ 58590: 773, // SetOprClause (34x)
+ 57402: 774, // delayed (33x)
+ 57433: 775, // highPriority (33x)
+ 57475: 776, // lowPriority (33x)
+ 58591: 777, // SetOprClauseList (33x)
+ 58594: 778, // SetOprStmtWithLimitOrderBy (33x)
+ 58595: 779, // SetOprStmtWoutLimitOrderBy (33x)
+ 58736: 780, // WithClause (31x)
+ 58582: 781, // SelectStmtWithClause (30x)
+ 58593: 782, // SetOprStmt (30x)
+ 58398: 783, // Int64Num (28x)
+ 57355: 784, // hintComment (27x)
+ 58318: 785, // FieldLen (25x)
+ 58484: 786, // OptWindowingClause (24x)
+ 58690: 787, // UpdateStmtNoWith (24x)
+ 58271: 788, // DeleteWithoutUsingStmt (23x)
+ 58490: 789, // OrderBy (23x)
+ 58576: 790, // SelectStmtLimit (23x)
+ 57530: 791, // sqlBigResult (23x)
+ 57531: 792, // sqlCalcFoundRows (23x)
+ 57532: 793, // sqlSmallResult (23x)
+ 58395: 794, // InsertIntoStmt (21x)
+ 58540: 795, // ReplaceIntoStmt (21x)
+ 58689: 796, // UpdateStmt (21x)
+ 58201: 797, // CharsetKw (20x)
+ 58698: 798, // Username (20x)
+ 58367: 799, // IfExists (19x)
+ 58308: 800, // ExpressionList (18x)
+ 58270: 801, // DeleteWithUsingStmt (17x)
+ 58513: 802, // PlacementPolicyOption (17x)
+ 58655: 803, // TableNameList (17x)
+ 58368: 804, // IfNotExists (16x)
+ 57541: 805, // terminated (16x)
+ 58269: 806, // DeleteFromStmt (15x)
+ 58274: 807, // DistinctKwd (15x)
+ 58502: 808, // PartitionNameList (15x)
+ 58275: 809, // DistinctOpt (14x)
+ 57414: 810, // enclosed (14x)
+ 58469: 811, // OptFieldLen (14x)
+ 58678: 812, // TimestampUnit (14x)
+ 58720: 813, // WhereClause (14x)
+ 58721: 814, // WhereClauseOptional (14x)
+ 58266: 815, // DefaultKwdOpt (13x)
+ 57415: 816, // escaped (13x)
+ 57494: 817, // optionally (13x)
+ 58306: 818, // ExprOrDefault (12x)
+ 58404: 819, // JoinTable (12x)
+ 58463: 820, // OptBinary (12x)
+ 57511: 821, // release (12x)
+ 58559: 822, // RolenameComposed (12x)
+ 58651: 823, // TableFactor (12x)
+ 58664: 824, // TableRef (12x)
+ 58159: 825, // AnalyzeOptionListOpt (11x)
+ 58338: 826, // FromOrIn (11x)
+ 58677: 827, // TimeUnit (11x)
+ 58155: 828, // AlterTableStmt (10x)
+ 58202: 829, // CharsetName (10x)
+ 58213: 830, // ColumnNameList (10x)
+ 58256: 831, // DBName (10x)
+ 57469: 832, // load (10x)
+ 58446: 833, // NotSym (10x)
+ 57485: 834, // noWriteToBinLog (10x)
+ 58491: 835, // OrderByOptional (10x)
+ 58493: 836, // PartDefOption (10x)
+ 58614: 837, // SignedNum (10x)
+ 58193: 838, // BuggyDefaultFalseDistinctOpt (9x)
+ 58265: 839, // DefaultFalseDistinctOpt (9x)
+ 58405: 840, // JoinType (9x)
+ 58453: 841, // NumLiteral (9x)
+ 58558: 842, // Rolename (9x)
+ 58553: 843, // RoleNameString (9x)
+ 58254: 844, // CrossOpt (8x)
+ 58298: 845, // EqOrAssignmentEq (8x)
+ 58305: 846, // ExplainableStmt (8x)
+ 58309: 847, // ExpressionListOpt (8x)
+ 58389: 848, // IndexPartSpecification (8x)
+ 58406: 849, // KeyOrIndex (8x)
+ 58443: 850, // NoWriteToBinLogAliasOpt (8x)
+ 58577: 851, // SelectStmtLimitOpt (8x)
+ 58710: 852, // VariableName (8x)
+ 58140: 853, // AllOrPartitionNameList (7x)
+ 58237: 854, // ConstraintKeywordOpt (7x)
+ 58261: 855, // DatabaseSym (7x)
+ 58324: 856, // FieldsOrColumns (7x)
+ 58336: 857, // ForceOpt (7x)
+ 58390: 858, // IndexPartSpecificationList (7x)
+ 58522: 859, // Priority (7x)
+ 58563: 860, // RowFormat (7x)
+ 58566: 861, // RowValue (7x)
+ 58588: 862, // SetExpr (7x)
+ 58600: 863, // ShowDatabaseNameOpt (7x)
+ 58661: 864, // TableOption (7x)
+ 57566: 865, // varying (7x)
+ 58160: 866, // AnalyzeTableStmt (6x)
+ 58182: 867, // BeginTransactionStmt (6x)
+ 58184: 868, // BindableStmt (6x)
+ 57383: 869, // column (6x)
+ 58207: 870, // ColumnDef (6x)
+ 58227: 871, // CommitStmt (6x)
+ 58258: 872, // DatabaseOption (6x)
+ 58300: 873, // EscapedTableRef (6x)
+ 58322: 874, // FieldTerminator (6x)
+ 57429: 875, // grant (6x)
+ 58372: 876, // IgnoreOptional (6x)
+ 58381: 877, // IndexInvisible (6x)
+ 58386: 878, // IndexNameList (6x)
+ 58392: 879, // IndexType (6x)
+ 58423: 880, // LoadDataStmt (6x)
+ 58503: 881, // PartitionNameListOpt (6x)
+ 58516: 882, // PolicyName (6x)
+ 58535: 883, // ReleaseSavepointStmt (6x)
+ 58560: 884, // RolenameList (6x)
+ 58562: 885, // RollbackStmt (6x)
+ 58567: 886, // SavepointStmt (6x)
+ 58598: 887, // SetStmt (6x)
+ 57526: 888, // show (6x)
+ 58659: 889, // TableOptimizerHints (6x)
+ 58699: 890, // UsernameList (6x)
+ 58737: 891, // WithClustered (6x)
+ 58138: 892, // AlgorithmClause (5x)
+ 58195: 893, // ByItem (5x)
+ 58206: 894, // CollationName (5x)
+ 58210: 895, // ColumnKeywordOpt (5x)
+ 58272: 896, // DirectPlacementOption (5x)
+ 58273: 897, // DirectResourceGroupOption (5x)
+ 58320: 898, // FieldOpt (5x)
+ 58321: 899, // FieldOpts (5x)
+ 58364: 900, // IdentList (5x)
+ 58384: 901, // IndexName (5x)
+ 58387: 902, // IndexOption (5x)
+ 58388: 903, // IndexOptionList (5x)
+ 57441: 904, // infile (5x)
+ 58415: 905, // LimitOption (5x)
+ 58427: 906, // LockClause (5x)
+ 58465: 907, // OptCharsetWithOptBinary (5x)
+ 58476: 908, // OptNullTreatment (5x)
+ 58523: 909, // PriorityOpt (5x)
+ 58568: 910, // SelectLockOpt (5x)
+ 58575: 911, // SelectStmtIntoOption (5x)
+ 58665: 912, // TableRefs (5x)
+ 58692: 913, // UserSpec (5x)
+ 58166: 914, // Assignment (4x)
+ 58172: 915, // AuthString (4x)
+ 58174: 916, // BRIEBooleanOptionName (4x)
+ 58175: 917, // BRIEIntegerOptionName (4x)
+ 58176: 918, // BRIEKeywordOptionName (4x)
+ 58177: 919, // BRIEOption (4x)
+ 58178: 920, // BRIEOptions (4x)
+ 58180: 921, // BRIEStringOptionName (4x)
+ 58194: 922, // BuiltinFunction (4x)
+ 58196: 923, // ByList (4x)
+ 58200: 924, // Char (4x)
+ 58231: 925, // ConfigItemName (4x)
+ 58235: 926, // Constraint (4x)
+ 58332: 927, // FloatOpt (4x)
+ 58393: 928, // IndexTypeName (4x)
+ 57493: 929, // option (4x)
+ 58481: 930, // OptWild (4x)
+ 57497: 931, // outer (4x)
+ 58517: 932, // Precision (4x)
+ 58531: 933, // ReferDef (4x)
+ 58549: 934, // RestrictOrCascadeOpt (4x)
+ 58565: 935, // RowStmt (4x)
+ 58583: 936, // SequenceOption (4x)
+ 57535: 937, // statsExtended (4x)
+ 58646: 938, // TableAsName (4x)
+ 58647: 939, // TableAsNameOpt (4x)
+ 58658: 940, // TableNameOptWild (4x)
+ 58660: 941, // TableOptimizerHintsOpt (4x)
+ 58662: 942, // TableOptionList (4x)
+ 58680: 943, // TraceableStmt (4x)
+ 58681: 944, // TransactionChar (4x)
+ 58693: 945, // UserSpecList (4x)
+ 58731: 946, // WindowName (4x)
+ 58163: 947, // AsOfClause (3x)
+ 58167: 948, // AssignmentList (3x)
+ 58169: 949, // AttributesOpt (3x)
+ 58191: 950, // Boolean (3x)
+ 58219: 951, // ColumnOption (3x)
+ 58222: 952, // ColumnPosition (3x)
+ 58228: 953, // CommonTableExpr (3x)
+ 58250: 954, // CreateTableStmt (3x)
+ 58255: 955, // CurdateSym (3x)
+ 58259: 956, // DatabaseOptionList (3x)
+ 58267: 957, // DefaultTrueDistinctOpt (3x)
+ 58294: 958, // EnforcedOrNot (3x)
+ 57417: 959, // explain (3x)
+ 58311: 960, // ExtendedPriv (3x)
+ 58352: 961, // GeneratedAlways (3x)
+ 58354: 962, // GlobalScope (3x)
+ 58358: 963, // GroupByClause (3x)
+ 58376: 964, // IndexHint (3x)
+ 58380: 965, // IndexHintType (3x)
+ 58385: 966, // IndexNameAndTypeOpt (3x)
+ 57458: 967, // keys (3x)
+ 58417: 968, // Lines (3x)
+ 58437: 969, // MaxValueOrExpression (3x)
+ 58447: 970, // NowSym (3x)
+ 58448: 971, // NowSymFunc (3x)
+ 58449: 972, // NowSymOptionFraction (3x)
+ 58477: 973, // OptOrder (3x)
+ 58480: 974, // OptTemporary (3x)
+ 58494: 975, // PartDefOptionList (3x)
+ 58496: 976, // PartitionDefinition (3x)
+ 58507: 977, // PasswordOrLockOption (3x)
+ 58515: 978, // PluginNameList (3x)
+ 58521: 979, // PrimaryOpt (3x)
+ 58524: 980, // PrivElem (3x)
+ 58526: 981, // PrivType (3x)
+ 57503: 982, // procedure (3x)
+ 58541: 983, // RequireClause (3x)
+ 58542: 984, // RequireClauseOpt (3x)
+ 58544: 985, // RequireListElement (3x)
+ 58561: 986, // RolenameWithoutIdent (3x)
+ 58554: 987, // RoleOrPrivElem (3x)
+ 58574: 988, // SelectStmtGroup (3x)
+ 58592: 989, // SetOprOpt (3x)
+ 58645: 990, // TableAliasRefList (3x)
+ 58648: 991, // TableElement (3x)
+ 58657: 992, // TableNameListOpt2 (3x)
+ 58673: 993, // TextString (3x)
+ 58682: 994, // TransactionChars (3x)
+ 57548: 995, // trigger (3x)
+ 57552: 996, // unlock (3x)
+ 57555: 997, // usage (3x)
+ 58703: 998, // ValuesList (3x)
+ 58705: 999, // ValuesStmtList (3x)
+ 58701: 1000, // ValueSym (3x)
+ 58708: 1001, // VariableAssignment (3x)
+ 58728: 1002, // WindowFrameStart (3x)
+ 58136: 1003, // AdminStmt (2x)
+ 58139: 1004, // AllColumnsOrPredicateColumnsOpt (2x)
+ 58141: 1005, // AlterDatabaseStmt (2x)
+ 58142: 1006, // AlterImportStmt (2x)
+ 58143: 1007, // AlterInstanceStmt (2x)
+ 58144: 1008, // AlterOrderItem (2x)
+ 58146: 1009, // AlterPolicyStmt (2x)
+ 58147: 1010, // AlterResourceGroupStmt (2x)
+ 58148: 1011, // AlterSequenceOption (2x)
+ 58150: 1012, // AlterSequenceStmt (2x)
+ 58151: 1013, // AlterTableSpec (2x)
+ 58156: 1014, // AlterUserStmt (2x)
+ 58157: 1015, // AnalyzeOption (2x)
+ 58186: 1016, // BinlogStmt (2x)
+ 58179: 1017, // BRIEStmt (2x)
+ 58181: 1018, // BRIETables (2x)
+ 57375: 1019, // call (2x)
+ 58197: 1020, // CallStmt (2x)
+ 58198: 1021, // CastType (2x)
+ 58199: 1022, // ChangeStmt (2x)
+ 58205: 1023, // CheckConstraintKeyword (2x)
+ 58214: 1024, // ColumnNameListOpt (2x)
+ 58217: 1025, // ColumnNameOrUserVariable (2x)
+ 58220: 1026, // ColumnOptionList (2x)
+ 58221: 1027, // ColumnOptionListOpt (2x)
+ 58223: 1028, // ColumnSetValue (2x)
+ 58226: 1029, // CommentOrAttributeOption (2x)
+ 58230: 1030, // CompletionTypeWithinTransaction (2x)
+ 58232: 1031, // ConnectionOption (2x)
+ 58234: 1032, // ConnectionOptions (2x)
+ 58238: 1033, // CreateBindingStmt (2x)
+ 58239: 1034, // CreateDatabaseStmt (2x)
+ 58240: 1035, // CreateImportStmt (2x)
+ 58241: 1036, // CreateIndexStmt (2x)
+ 58242: 1037, // CreatePolicyStmt (2x)
+ 58243: 1038, // CreateResourceGroupStmt (2x)
+ 58244: 1039, // CreateRoleStmt (2x)
+ 58246: 1040, // CreateSequenceStmt (2x)
+ 58247: 1041, // CreateStatisticsStmt (2x)
+ 58248: 1042, // CreateTableOptionListOpt (2x)
+ 58251: 1043, // CreateUserStmt (2x)
+ 58253: 1044, // CreateViewStmt (2x)
+ 57395: 1045, // databases (2x)
+ 58263: 1046, // DeallocateStmt (2x)
+ 58264: 1047, // DeallocateSym (2x)
+ 57406: 1048, // describe (2x)
+ 58276: 1049, // DoStmt (2x)
+ 58277: 1050, // DropBindingStmt (2x)
+ 58278: 1051, // DropDatabaseStmt (2x)
+ 58279: 1052, // DropImportStmt (2x)
+ 58280: 1053, // DropIndexStmt (2x)
+ 58281: 1054, // DropPolicyStmt (2x)
+ 58282: 1055, // DropRoleStmt (2x)
+ 58283: 1056, // DropSequenceStmt (2x)
+ 58284: 1057, // DropStatisticsStmt (2x)
+ 58285: 1058, // DropStatsStmt (2x)
+ 58286: 1059, // DropTableStmt (2x)
+ 58287: 1060, // DropUserStmt (2x)
+ 58288: 1061, // DropViewStmt (2x)
+ 58290: 1062, // DuplicateOpt (2x)
+ 58292: 1063, // EmptyStmt (2x)
+ 58293: 1064, // EncryptionOpt (2x)
+ 58295: 1065, // EnforcedOrNotOpt (2x)
+ 58299: 1066, // ErrorHandling (2x)
+ 58301: 1067, // ExecuteStmt (2x)
+ 58302: 1068, // ExplainFormatType (2x)
+ 58303: 1069, // ExplainStmt (2x)
+ 58304: 1070, // ExplainSym (2x)
+ 58313: 1071, // Field (2x)
+ 58316: 1072, // FieldItem (2x)
+ 58323: 1073, // Fields (2x)
+ 58328: 1074, // FlashbackDatabaseStmt (2x)
+ 58329: 1075, // FlashbackTableStmt (2x)
+ 58330: 1076, // FlashbackToNewName (2x)
+ 58331: 1077, // FlashbackToTimestampStmt (2x)
+ 58335: 1078, // FlushStmt (2x)
+ 58341: 1079, // FuncDatetimePrecList (2x)
+ 58342: 1080, // FuncDatetimePrecListOpt (2x)
+ 58355: 1081, // GrantProxyStmt (2x)
+ 58356: 1082, // GrantRoleStmt (2x)
+ 58357: 1083, // GrantStmt (2x)
+ 58359: 1084, // HandleRange (2x)
+ 58361: 1085, // HashString (2x)
+ 58362: 1086, // HavingClause (2x)
+ 58363: 1087, // HelpStmt (2x)
+ 58375: 1088, // IndexAdviseStmt (2x)
+ 58377: 1089, // IndexHintList (2x)
+ 58378: 1090, // IndexHintListOpt (2x)
+ 58383: 1091, // IndexLockAndAlgorithmOpt (2x)
+ 58396: 1092, // InsertValues (2x)
+ 58401: 1093, // IntoOpt (2x)
+ 58407: 1094, // KeyOrIndexOpt (2x)
+ 57459: 1095, // kill (2x)
+ 58408: 1096, // KillOrKillTiDB (2x)
+ 58409: 1097, // KillStmt (2x)
+ 58414: 1098, // LimitClause (2x)
+ 57468: 1099, // linear (2x)
+ 58416: 1100, // LinearOpt (2x)
+ 58420: 1101, // LoadDataSetItem (2x)
+ 58424: 1102, // LoadStatsStmt (2x)
+ 58425: 1103, // LocalOpt (2x)
+ 58426: 1104, // LocationLabelList (2x)
+ 58428: 1105, // LockStatsStmt (2x)
+ 58429: 1106, // LockTablesStmt (2x)
+ 58438: 1107, // MaxValueOrExpressionList (2x)
+ 58444: 1108, // NonTransactionalDMLStmt (2x)
+ 58450: 1109, // NowSymOptionFractionParentheses (2x)
+ 58452: 1110, // NumList (2x)
+ 58455: 1111, // ObjectType (2x)
+ 57490: 1112, // of (2x)
+ 58456: 1113, // OfTablesOpt (2x)
+ 58457: 1114, // OnCommitOpt (2x)
+ 58458: 1115, // OnDelete (2x)
+ 58461: 1116, // OnUpdate (2x)
+ 58466: 1117, // OptCollate (2x)
+ 58471: 1118, // OptFull (2x)
+ 58473: 1119, // OptInteger (2x)
+ 58486: 1120, // OptionalBraces (2x)
+ 58485: 1121, // OptionLevel (2x)
+ 58475: 1122, // OptLeadLagInfo (2x)
+ 58474: 1123, // OptLLDefault (2x)
+ 58492: 1124, // OuterOpt (2x)
+ 58497: 1125, // PartitionDefinitionList (2x)
+ 58498: 1126, // PartitionDefinitionListOpt (2x)
+ 58499: 1127, // PartitionIntervalOpt (2x)
+ 58505: 1128, // PartitionOpt (2x)
+ 58506: 1129, // PasswordOpt (2x)
+ 58508: 1130, // PasswordOrLockOptionList (2x)
+ 58509: 1131, // PasswordOrLockOptions (2x)
+ 58512: 1132, // PlacementOptionList (2x)
+ 58514: 1133, // PlanReplayerStmt (2x)
+ 58520: 1134, // PreparedStmt (2x)
+ 58525: 1135, // PrivLevel (2x)
+ 58528: 1136, // PurgeImportStmt (2x)
+ 58529: 1137, // QuickOptional (2x)
+ 58530: 1138, // RecoverTableStmt (2x)
+ 58532: 1139, // ReferOpt (2x)
+ 58534: 1140, // RegexpSym (2x)
+ 58536: 1141, // RenameTableStmt (2x)
+ 58537: 1142, // RenameUserStmt (2x)
+ 58539: 1143, // RepeatableOpt (2x)
+ 58545: 1144, // ResourceGroupName (2x)
+ 58546: 1145, // ResourceGroupNameOption (2x)
+ 58547: 1146, // ResourceGroupOptionList (2x)
+ 58548: 1147, // RestartStmt (2x)
+ 58550: 1148, // ResumeImportStmt (2x)
+ 57517: 1149, // revoke (2x)
+ 58551: 1150, // RevokeRoleStmt (2x)
+ 58552: 1151, // RevokeStmt (2x)
+ 58555: 1152, // RoleOrPrivElemList (2x)
+ 58556: 1153, // RoleSpec (2x)
+ 58578: 1154, // SelectStmtOpt (2x)
+ 58581: 1155, // SelectStmtSQLCache (2x)
+ 58585: 1156, // SetBindingStmt (2x)
+ 58586: 1157, // SetDefaultRoleOpt (2x)
+ 58587: 1158, // SetDefaultRoleStmt (2x)
+ 58597: 1159, // SetRoleStmt (2x)
+ 58601: 1160, // ShowImportStmt (2x)
+ 58606: 1161, // ShowProfileType (2x)
+ 58609: 1162, // ShowStmt (2x)
+ 58610: 1163, // ShowTableAliasOpt (2x)
+ 58612: 1164, // ShutdownStmt (2x)
+ 58613: 1165, // SignedLiteral (2x)
+ 58617: 1166, // SplitOption (2x)
+ 58618: 1167, // SplitRegionStmt (2x)
+ 58622: 1168, // Statement (2x)
+ 58625: 1169, // StatsOptionsOpt (2x)
+ 58626: 1170, // StatsPersistentVal (2x)
+ 58627: 1171, // StatsType (2x)
+ 58628: 1172, // StopImportStmt (2x)
+ 58635: 1173, // SubPartDefinition (2x)
+ 58638: 1174, // SubPartitionMethod (2x)
+ 58643: 1175, // Symbol (2x)
+ 58649: 1176, // TableElementList (2x)
+ 58652: 1177, // TableLock (2x)
+ 58656: 1178, // TableNameListOpt (2x)
+ 58663: 1179, // TableOrTables (2x)
+ 58672: 1180, // TablesTerminalSym (2x)
+ 58670: 1181, // TableToTable (2x)
+ 58674: 1182, // TextStringList (2x)
+ 58679: 1183, // TraceStmt (2x)
+ 58684: 1184, // TruncateTableStmt (2x)
+ 58687: 1185, // UnlockStatsStmt (2x)
+ 58688: 1186, // UnlockTablesStmt (2x)
+ 58694: 1187, // UserToUser (2x)
+ 58691: 1188, // UseStmt (2x)
+ 58706: 1189, // Varchar (2x)
+ 58709: 1190, // VariableAssignmentList (2x)
+ 58718: 1191, // WhenClause (2x)
+ 58723: 1192, // WindowDefinition (2x)
+ 58726: 1193, // WindowFrameBound (2x)
+ 58733: 1194, // WindowSpec (2x)
+ 58738: 1195, // WithGrantOptionOpt (2x)
+ 58739: 1196, // WithList (2x)
+ 58743: 1197, // Writeable (2x)
+ 58135: 1198, // AdminShowSlow (1x)
+ 58137: 1199, // AdminStmtLimitOpt (1x)
+ 58145: 1200, // AlterOrderList (1x)
+ 58149: 1201, // AlterSequenceOptionList (1x)
+ 58152: 1202, // AlterTableSpecList (1x)
+ 58153: 1203, // AlterTableSpecListOpt (1x)
+ 58154: 1204, // AlterTableSpecSingleOpt (1x)
+ 58158: 1205, // AnalyzeOptionList (1x)
+ 58161: 1206, // AnyOrAll (1x)
+ 58162: 1207, // ArrayKwdOpt (1x)
+ 58164: 1208, // AsOfClauseOpt (1x)
+ 58165: 1209, // AsOpt (1x)
+ 58170: 1210, // AuthOption (1x)
+ 58171: 1211, // AuthPlugin (1x)
+ 58173: 1212, // AutoRandomOpt (1x)
+ 58183: 1213, // BetweenOrNotOp (1x)
+ 58185: 1214, // BindingStatusType (1x)
+ 58188: 1215, // BitValueType (1x)
+ 58189: 1216, // BlobType (1x)
+ 58192: 1217, // BooleanType (1x)
+ 57373: 1218, // both (1x)
+ 58203: 1219, // CharsetNameOrDefault (1x)
+ 58204: 1220, // CharsetOpt (1x)
+ 58209: 1221, // ColumnFormat (1x)
+ 58211: 1222, // ColumnList (1x)
+ 58218: 1223, // ColumnNameOrUserVariableList (1x)
+ 58215: 1224, // ColumnNameOrUserVarListOpt (1x)
+ 58216: 1225, // ColumnNameOrUserVarListOptWithBrackets (1x)
+ 58224: 1226, // ColumnSetValueList (1x)
+ 58229: 1227, // CompareOp (1x)
+ 58233: 1228, // ConnectionOptionList (1x)
+ 58236: 1229, // ConstraintElem (1x)
+ 58245: 1230, // CreateSequenceOptionListOpt (1x)
+ 58249: 1231, // CreateTableSelectOpt (1x)
+ 58252: 1232, // CreateViewSelectOpt (1x)
+ 58260: 1233, // DatabaseOptionListOpt (1x)
+ 58262: 1234, // DateAndTimeType (1x)
+ 58257: 1235, // DBNameList (1x)
+ 58268: 1236, // DefaultValueExpr (1x)
+ 58289: 1237, // DryRunOptions (1x)
+ 57412: 1238, // dual (1x)
+ 58291: 1239, // ElseOpt (1x)
+ 58296: 1240, // EnforcedOrNotOrNotNullOpt (1x)
+ 58310: 1241, // ExpressionOpt (1x)
+ 58312: 1242, // FetchFirstOpt (1x)
+ 58314: 1243, // FieldAsName (1x)
+ 58315: 1244, // FieldAsNameOpt (1x)
+ 58317: 1245, // FieldItemList (1x)
+ 58319: 1246, // FieldList (1x)
+ 58325: 1247, // FirstAndLastPartOpt (1x)
+ 58326: 1248, // FirstOrNext (1x)
+ 58327: 1249, // FixedPointType (1x)
+ 58333: 1250, // FloatingPointType (1x)
+ 58334: 1251, // FlushOption (1x)
+ 58337: 1252, // FromDual (1x)
+ 58339: 1253, // FulltextSearchModifierOpt (1x)
+ 58340: 1254, // FuncDatetimePrec (1x)
+ 58353: 1255, // GetFormatSelector (1x)
+ 58360: 1256, // HandleRangeList (1x)
+ 58365: 1257, // IdentListWithParenOpt (1x)
+ 58369: 1258, // IfNotRunning (1x)
+ 58370: 1259, // IfRunning (1x)
+ 58371: 1260, // IgnoreLines (1x)
+ 58373: 1261, // ImportTruncate (1x)
+ 58379: 1262, // IndexHintScope (1x)
+ 58382: 1263, // IndexKeyTypeOpt (1x)
+ 58391: 1264, // IndexPartSpecificationListOpt (1x)
+ 58394: 1265, // IndexTypeOpt (1x)
+ 58374: 1266, // InOrNotOp (1x)
+ 58397: 1267, // InstanceOption (1x)
+ 58399: 1268, // IntegerType (1x)
+ 58400: 1269, // IntervalExpr (1x)
+ 58403: 1270, // IsolationLevel (1x)
+ 58402: 1271, // IsOrNotOp (1x)
+ 57463: 1272, // leading (1x)
+ 58411: 1273, // LikeEscapeOpt (1x)
+ 58412: 1274, // LikeOrNotOp (1x)
+ 58413: 1275, // LikeTableWithOrWithoutParen (1x)
+ 58418: 1276, // LinesTerminated (1x)
+ 58421: 1277, // LoadDataSetList (1x)
+ 58422: 1278, // LoadDataSetSpecOpt (1x)
+ 58430: 1279, // LockType (1x)
+ 58431: 1280, // LogTypeOpt (1x)
+ 58432: 1281, // Match (1x)
+ 58433: 1282, // MatchOpt (1x)
+ 58434: 1283, // MaxIndexNumOpt (1x)
+ 58435: 1284, // MaxMinutesOpt (1x)
+ 58436: 1285, // MaxValPartOpt (1x)
+ 58439: 1286, // NChar (1x)
+ 58451: 1287, // NullPartOpt (1x)
+ 58454: 1288, // NumericType (1x)
+ 58441: 1289, // NVarchar (1x)
+ 58459: 1290, // OnDeleteUpdateOpt (1x)
+ 58460: 1291, // OnDuplicateKeyUpdate (1x)
+ 58462: 1292, // OptBinMod (1x)
+ 58464: 1293, // OptCharset (1x)
+ 58467: 1294, // OptErrors (1x)
+ 58468: 1295, // OptExistingWindowName (1x)
+ 58470: 1296, // OptFromFirstLast (1x)
+ 58472: 1297, // OptGConcatSeparator (1x)
+ 58487: 1298, // OptionalShardColumn (1x)
+ 58478: 1299, // OptPartitionClause (1x)
+ 58479: 1300, // OptTable (1x)
+ 58482: 1301, // OptWindowFrameClause (1x)
+ 58483: 1302, // OptWindowOrderByClause (1x)
+ 58489: 1303, // Order (1x)
+ 58488: 1304, // OrReplace (1x)
+ 57447: 1305, // outfile (1x)
+ 58495: 1306, // PartDefValuesOpt (1x)
+ 58500: 1307, // PartitionKeyAlgorithmOpt (1x)
+ 58501: 1308, // PartitionMethod (1x)
+ 58504: 1309, // PartitionNumOpt (1x)
+ 58510: 1310, // PerDB (1x)
+ 58511: 1311, // PerTable (1x)
+ 57501: 1312, // precisionType (1x)
+ 58519: 1313, // PrepareSQL (1x)
+ 58527: 1314, // ProcedureCall (1x)
+ 57508: 1315, // recursive (1x)
+ 58533: 1316, // RegexpOrNotOp (1x)
+ 58538: 1317, // ReorganizePartitionRuleOpt (1x)
+ 58543: 1318, // RequireList (1x)
+ 58557: 1319, // RoleSpecList (1x)
+ 58564: 1320, // RowOrRows (1x)
+ 58571: 1321, // SelectStmtFieldList (1x)
+ 58579: 1322, // SelectStmtOpts (1x)
+ 58580: 1323, // SelectStmtOptsList (1x)
+ 58584: 1324, // SequenceOptionList (1x)
+ 58589: 1325, // SetOpr (1x)
+ 58596: 1326, // SetRoleOpt (1x)
+ 58599: 1327, // ShardableStmt (1x)
+ 58602: 1328, // ShowIndexKwd (1x)
+ 58603: 1329, // ShowLikeOrWhereOpt (1x)
+ 58604: 1330, // ShowPlacementTarget (1x)
+ 58605: 1331, // ShowProfileArgsOpt (1x)
+ 58607: 1332, // ShowProfileTypes (1x)
+ 58608: 1333, // ShowProfileTypesOpt (1x)
+ 58611: 1334, // ShowTargetFilterable (1x)
+ 57528: 1335, // spatial (1x)
+ 58619: 1336, // SplitSyntaxOption (1x)
+ 57533: 1337, // ssl (1x)
+ 58620: 1338, // Start (1x)
+ 58621: 1339, // Starting (1x)
+ 57534: 1340, // starting (1x)
+ 58623: 1341, // StatementList (1x)
+ 58624: 1342, // StatementScope (1x)
+ 58629: 1343, // StorageMedia (1x)
+ 57540: 1344, // stored (1x)
+ 58630: 1345, // StringList (1x)
+ 58633: 1346, // StringNameOrBRIEOptionKeyword (1x)
+ 58634: 1347, // StringType (1x)
+ 58636: 1348, // SubPartDefinitionList (1x)
+ 58637: 1349, // SubPartDefinitionListOpt (1x)
+ 58639: 1350, // SubPartitionNumOpt (1x)
+ 58640: 1351, // SubPartitionOpt (1x)
+ 58650: 1352, // TableElementListOpt (1x)
+ 58653: 1353, // TableLockList (1x)
+ 58666: 1354, // TableRefsClause (1x)
+ 58667: 1355, // TableSampleMethodOpt (1x)
+ 58668: 1356, // TableSampleOpt (1x)
+ 58669: 1357, // TableSampleUnitOpt (1x)
+ 58671: 1358, // TableToTableList (1x)
+ 58675: 1359, // TextType (1x)
+ 57547: 1360, // trailing (1x)
+ 58683: 1361, // TrimDirection (1x)
+ 58685: 1362, // Type (1x)
+ 58695: 1363, // UserToUserList (1x)
+ 58697: 1364, // UserVariableList (1x)
+ 58700: 1365, // UsingRoles (1x)
+ 58702: 1366, // Values (1x)
+ 58704: 1367, // ValuesOpt (1x)
+ 58711: 1368, // ViewAlgorithm (1x)
+ 58712: 1369, // ViewCheckOption (1x)
+ 58713: 1370, // ViewDefiner (1x)
+ 58714: 1371, // ViewFieldList (1x)
+ 58715: 1372, // ViewName (1x)
+ 58716: 1373, // ViewSQLSecurity (1x)
+ 57567: 1374, // virtual (1x)
+ 58717: 1375, // VirtualOrStored (1x)
+ 58719: 1376, // WhenClauseList (1x)
+ 58722: 1377, // WindowClauseOptional (1x)
+ 58724: 1378, // WindowDefinitionList (1x)
+ 58725: 1379, // WindowFrameBetween (1x)
+ 58727: 1380, // WindowFrameExtent (1x)
+ 58729: 1381, // WindowFrameUnits (1x)
+ 58732: 1382, // WindowNameOrSpec (1x)
+ 58734: 1383, // WindowSpecDetails (1x)
+ 58740: 1384, // WithReadLockOpt (1x)
+ 58741: 1385, // WithValidation (1x)
+ 58742: 1386, // WithValidationOpt (1x)
+ 58744: 1387, // Year (1x)
+ 58134: 1388, // $default (0x)
+ 58095: 1389, // andnot (0x)
+ 58168: 1390, // AssignmentListOpt (0x)
+ 58208: 1391, // ColumnDefList (0x)
+ 58225: 1392, // CommaOpt (0x)
+ 58118: 1393, // createTableSelect (0x)
+ 58109: 1394, // empty (0x)
+ 57345: 1395, // error (0x)
+ 58133: 1396, // higherThanComma (0x)
+ 58127: 1397, // higherThanParenthese (0x)
+ 58116: 1398, // insertValues (0x)
+ 57354: 1399, // invalid (0x)
+ 58119: 1400, // lowerThanCharsetKwd (0x)
+ 58132: 1401, // lowerThanComma (0x)
+ 58117: 1402, // lowerThanCreateTableSelect (0x)
+ 58129: 1403, // lowerThanEq (0x)
+ 58124: 1404, // lowerThanFunction (0x)
+ 58115: 1405, // lowerThanInsertValues (0x)
+ 58120: 1406, // lowerThanKey (0x)
+ 58121: 1407, // lowerThanLocal (0x)
+ 58131: 1408, // lowerThanNot (0x)
+ 58128: 1409, // lowerThanOn (0x)
+ 58126: 1410, // lowerThanParenthese (0x)
+ 58122: 1411, // lowerThanRemove (0x)
+ 58110: 1412, // lowerThanSelectOpt (0x)
+ 58114: 1413, // lowerThanSelectStmt (0x)
+ 58113: 1414, // lowerThanSetKeyword (0x)
+ 58112: 1415, // lowerThanStringLitToken (0x)
+ 58111: 1416, // lowerThanValueKeyword (0x)
+ 58123: 1417, // lowerThenOrder (0x)
+ 58130: 1418, // neg (0x)
+ 57358: 1419, // odbcDateType (0x)
+ 57360: 1420, // odbcTimestampType (0x)
+ 57359: 1421, // odbcTimeType (0x)
+ 58125: 1422, // tableRefPriority (0x)
}
yySymNames = []string{
@@ -2270,6 +2311,7 @@ var (
"autoRandomBase",
"statsBuckets",
"statsTopN",
+ "ttl",
"autoIdCache",
"avgRowLength",
"compression",
@@ -2286,8 +2328,13 @@ var (
"statsSamplePages",
"statsSampleRate",
"tableChecksum",
+ "ttlEnable",
+ "ttlJobInterval",
+ "resource",
"attribute",
"account",
+ "failedLoginAttempts",
+ "passwordLockTime",
"')'",
"resume",
"signed",
@@ -2343,19 +2390,21 @@ var (
"voters",
"columns",
"view",
- "yearType",
"day",
- "ascii",
- "byteType",
+ "yearType",
+ "cpu",
"second",
"sqlTsiYear",
- "unicodeSym",
- "fields",
+ "ascii",
+ "byteType",
"hour",
+ "ioReadBandwidth",
+ "ioWriteBandwidth",
"microsecond",
"minute",
"month",
"quarter",
+ "rruRate",
"sqlTsiDay",
"sqlTsiHour",
"sqlTsiMinute",
@@ -2363,7 +2412,10 @@ var (
"sqlTsiQuarter",
"sqlTsiSecond",
"sqlTsiWeek",
+ "unicodeSym",
"week",
+ "wruRate",
+ "fields",
"tables",
"status",
"separator",
@@ -2398,6 +2450,7 @@ var (
"rollback",
"savepoint",
"than",
+ "unbounded",
"value",
"begin",
"binding",
@@ -2409,7 +2462,6 @@ var (
"predicate",
"temporary",
"tiFlash",
- "unbounded",
"user",
"jsonType",
"planCache",
@@ -2430,6 +2482,7 @@ var (
"off",
"optional",
"per_db",
+ "plan",
"privileges",
"replica",
"required",
@@ -2445,6 +2498,7 @@ var (
"variables",
"attributes",
"compact",
+ "digest",
"disable",
"duplicate",
"dynamic",
@@ -2452,10 +2506,9 @@ var (
"errorKwd",
"flush",
"full",
+ "history",
"mb",
"mode",
- "never",
- "plan",
"plugins",
"processlist",
"recover",
@@ -2474,6 +2527,7 @@ var (
"booleanType",
"briefType",
"buckets",
+ "capture",
"cardinality",
"chain",
"clientErrorsSummary",
@@ -2483,7 +2537,6 @@ var (
"context",
"copyKwd",
"correlation",
- "cpu",
"deallocate",
"dependency",
"directory",
@@ -2533,6 +2586,7 @@ var (
"statsOptions",
"stop",
"swaps",
+ "tidbJson",
"tokudbDefault",
"tokudbFast",
"tokudbLzma",
@@ -2560,7 +2614,6 @@ var (
"boolType",
"builtins",
"cancel",
- "capture",
"cascaded",
"causal",
"cleanup",
@@ -2588,7 +2641,6 @@ var (
"function",
"grants",
"histogramsInFlight",
- "history",
"imports",
"incremental",
"indexes",
@@ -2602,6 +2654,7 @@ var (
"max_minutes",
"national",
"ncharType",
+ "never",
"nextval",
"none",
"nvarcharType",
@@ -2623,6 +2676,7 @@ var (
"replayer",
"reset",
"restores",
+ "reuse",
"run",
"security",
"serializable",
@@ -2659,6 +2713,7 @@ var (
"bitXor",
"bound",
"cast",
+ "curDate",
"curTime",
"dateAdd",
"dateSub",
@@ -2677,6 +2732,7 @@ var (
"leader",
"learner",
"max",
+ "member",
"min",
"names",
"now",
@@ -2715,41 +2771,41 @@ var (
"weightString",
"on",
"'('",
- "with",
"stringLit",
+ "with",
"not2",
+ "defaultKwd",
"not",
"as",
- "defaultKwd",
+ "collate",
"union",
"using",
"left",
"right",
- "collate",
"'+'",
"'-'",
"mod",
"partition",
"ignore",
"except",
- "intersect",
"null",
+ "intersect",
"limit",
"forKwd",
+ "charType",
"values",
"into",
+ "eq",
"lock",
"where",
- "eq",
"from",
"fetch",
+ "replace",
"order",
"force",
- "replace",
- "charType",
+ "intLit",
"set",
"and",
- "intLit",
"or",
"andand",
"pipesAsOr",
@@ -2761,9 +2817,9 @@ var (
"join",
"like",
"natural",
- "'*'",
"cross",
"inner",
+ "'*'",
"'}'",
"rows",
"use",
@@ -2772,7 +2828,6 @@ var (
"groups",
"desc",
"binaryType",
- "asc",
"dayHour",
"dayMicrosecond",
"dayMinute",
@@ -2784,9 +2839,10 @@ var (
"minuteSecond",
"secondMicrosecond",
"yearMonth",
+ "asc",
"when",
- "in",
"elseKwd",
+ "in",
"then",
"'/'",
"'%'",
@@ -2808,9 +2864,10 @@ var (
"ifKwd",
"regexpKwd",
"rlike",
+ "memberof",
"insert",
- "singleAtIdentifier",
"tableKwd",
+ "singleAtIdentifier",
"currentUser",
"falseKwd",
"trueKwd",
@@ -2819,19 +2876,21 @@ var (
"row",
"hexLit",
"paramMarker",
- "interval",
- "'{'",
"bitLit",
+ "interval",
"key",
+ "'{'",
"database",
"exists",
"convert",
+ "builtinCurDate",
"builtinNow",
+ "check",
+ "currentDate",
"currentTs",
"doubleAtIdentifier",
"localTime",
"localTs",
- "check",
"primary",
"underscoreCS",
"builtinCount",
@@ -2844,7 +2903,6 @@ var (
"builtinBitOr",
"builtinBitXor",
"builtinCast",
- "builtinCurDate",
"builtinCurTime",
"builtinDateAdd",
"builtinDateSub",
@@ -2865,7 +2923,6 @@ var (
"builtinVarSamp",
"caseKwd",
"cumeDist",
- "currentDate",
"currentRole",
"currentTime",
"denseRank",
@@ -2886,11 +2943,11 @@ var (
"unique",
"constraint",
"references",
- "generated",
"selectKwd",
+ "generated",
"character",
- "match",
"index",
+ "match",
"to",
"all",
"'.'",
@@ -2899,17 +2956,18 @@ var (
"maxValue",
"jss",
"juss",
+ "array",
"lines",
"assignmentEq",
"by",
- "Identifier",
- "NotKeywordToken",
- "TiDBKeyword",
- "UnReservedKeyword",
"alter",
"require",
"'@'",
"sql",
+ "Identifier",
+ "NotKeywordToken",
+ "TiDBKeyword",
+ "UnReservedKeyword",
"drop",
"cascade",
"read",
@@ -2978,12 +3036,12 @@ var (
"NUM",
"logAnd",
"logOr",
- "TableName",
"EqOpt",
+ "TableName",
"StringName",
"deleteKwd",
- "unsigned",
"LengthNum",
+ "unsigned",
"over",
"zerofill",
"ColumnName",
@@ -3004,8 +3062,8 @@ var (
"WithClause",
"SelectStmtWithClause",
"SetOprStmt",
- "hintComment",
"Int64Num",
+ "hintComment",
"FieldLen",
"OptWindowingClause",
"UpdateStmtNoWith",
@@ -3016,29 +3074,29 @@ var (
"sqlCalcFoundRows",
"sqlSmallResult",
"InsertIntoStmt",
+ "ReplaceIntoStmt",
"UpdateStmt",
"CharsetKw",
- "ReplaceIntoStmt",
"Username",
+ "IfExists",
"ExpressionList",
"DeleteWithUsingStmt",
- "IfExists",
"PlacementPolicyOption",
"TableNameList",
+ "IfNotExists",
"terminated",
"DeleteFromStmt",
"DistinctKwd",
- "IfNotExists",
"PartitionNameList",
"DistinctOpt",
"enclosed",
"OptFieldLen",
+ "TimestampUnit",
"WhereClause",
"WhereClauseOptional",
"DefaultKwdOpt",
"escaped",
"optionally",
- "TimestampUnit",
"ExprOrDefault",
"JoinTable",
"OptBinary",
@@ -3048,6 +3106,7 @@ var (
"TableRef",
"AnalyzeOptionListOpt",
"FromOrIn",
+ "TimeUnit",
"AlterTableStmt",
"CharsetName",
"ColumnNameList",
@@ -3058,7 +3117,6 @@ var (
"OrderByOptional",
"PartDefOption",
"SignedNum",
- "TimeUnit",
"BuggyDefaultFalseDistinctOpt",
"DefaultFalseDistinctOpt",
"JoinType",
@@ -3103,6 +3161,7 @@ var (
"IndexType",
"LoadDataStmt",
"PartitionNameListOpt",
+ "PolicyName",
"ReleaseSavepointStmt",
"RolenameList",
"RollbackStmt",
@@ -3117,6 +3176,7 @@ var (
"CollationName",
"ColumnKeywordOpt",
"DirectPlacementOption",
+ "DirectResourceGroupOption",
"FieldOpt",
"FieldOpts",
"IdentList",
@@ -3128,7 +3188,6 @@ var (
"LockClause",
"OptCharsetWithOptBinary",
"OptNullTreatment",
- "PolicyName",
"PriorityOpt",
"SelectLockOpt",
"SelectStmtIntoOption",
@@ -3175,6 +3234,7 @@ var (
"ColumnPosition",
"CommonTableExpr",
"CreateTableStmt",
+ "CurdateSym",
"DatabaseOptionList",
"DefaultTrueDistinctOpt",
"EnforcedOrNot",
@@ -3196,7 +3256,6 @@ var (
"OptTemporary",
"PartDefOptionList",
"PartitionDefinition",
- "PasswordExpire",
"PasswordOrLockOption",
"PluginNameList",
"PrimaryOpt",
@@ -3230,6 +3289,7 @@ var (
"AlterInstanceStmt",
"AlterOrderItem",
"AlterPolicyStmt",
+ "AlterResourceGroupStmt",
"AlterSequenceOption",
"AlterSequenceStmt",
"AlterTableSpec",
@@ -3257,6 +3317,7 @@ var (
"CreateImportStmt",
"CreateIndexStmt",
"CreatePolicyStmt",
+ "CreateResourceGroupStmt",
"CreateRoleStmt",
"CreateSequenceStmt",
"CreateStatisticsStmt",
@@ -3362,6 +3423,9 @@ var (
"RenameTableStmt",
"RenameUserStmt",
"RepeatableOpt",
+ "ResourceGroupName",
+ "ResourceGroupNameOption",
+ "ResourceGroupOptionList",
"RestartStmt",
"ResumeImportStmt",
"revoke",
@@ -3417,11 +3481,12 @@ var (
"AdminStmtLimitOpt",
"AlterOrderList",
"AlterSequenceOptionList",
- "AlterTablePartitionOpt",
"AlterTableSpecList",
"AlterTableSpecListOpt",
+ "AlterTableSpecSingleOpt",
"AnalyzeOptionList",
"AnyOrAll",
+ "ArrayKwdOpt",
"AsOfClauseOpt",
"AsOpt",
"AuthOption",
@@ -3435,7 +3500,6 @@ var (
"both",
"CharsetNameOrDefault",
"CharsetOpt",
- "ClearPasswordExpireOptions",
"ColumnFormat",
"ColumnList",
"ColumnNameOrUserVariableList",
@@ -3642,7808 +3706,7993 @@ var (
yyReductions = []struct{ xsym, components int }{
{0, 1},
- {1315, 1},
- {810, 6},
- {810, 8},
- {810, 10},
- {810, 5},
- {810, 7},
- {810, 7},
- {810, 9},
- {1112, 1},
- {1112, 2},
- {1112, 3},
- {878, 3},
- {878, 3},
- {878, 3},
- {878, 3},
- {878, 3},
- {878, 3},
- {878, 3},
- {878, 3},
- {878, 3},
- {878, 3},
- {878, 3},
- {785, 4},
- {785, 4},
- {785, 4},
- {785, 4},
- {931, 3},
- {931, 3},
- {1146, 3},
+ {1338, 1},
+ {828, 6},
+ {828, 8},
+ {828, 10},
+ {828, 5},
+ {828, 7},
+ {828, 7},
+ {828, 9},
+ {1146, 1},
+ {1146, 2},
{1146, 3},
- {1179, 1},
- {1179, 2},
- {1179, 4},
- {1179, 8},
- {1179, 8},
- {1179, 3},
- {1179, 3},
- {1084, 0},
- {1084, 3},
- {994, 1},
- {994, 5},
- {994, 5},
- {994, 5},
- {994, 5},
- {994, 6},
- {994, 2},
- {994, 5},
- {994, 6},
- {994, 8},
- {994, 8},
- {994, 1},
- {994, 1},
- {994, 3},
- {994, 4},
- {994, 5},
- {994, 3},
- {994, 4},
- {994, 8},
- {994, 4},
- {994, 7},
- {994, 3},
- {994, 4},
- {994, 4},
- {994, 4},
- {994, 4},
- {994, 2},
- {994, 2},
- {994, 4},
- {994, 4},
- {994, 5},
- {994, 3},
- {994, 2},
- {994, 2},
- {994, 5},
- {994, 6},
- {994, 6},
- {994, 8},
- {994, 5},
- {994, 5},
- {994, 3},
- {994, 3},
- {994, 3},
- {994, 5},
- {994, 1},
- {994, 1},
- {994, 1},
- {994, 1},
- {994, 2},
- {994, 2},
- {994, 1},
- {994, 1},
- {994, 4},
- {994, 3},
- {994, 4},
- {994, 1},
- {994, 1},
- {1294, 0},
- {1294, 5},
- {836, 1},
- {836, 1},
- {1363, 0},
- {1363, 1},
- {1362, 2},
- {1362, 2},
- {873, 1},
- {873, 1},
- {874, 3},
- {874, 3},
- {874, 3},
- {874, 3},
- {874, 3},
- {887, 3},
- {887, 3},
- {1174, 2},
- {1174, 2},
- {832, 1},
- {832, 1},
- {1074, 0},
- {1074, 1},
- {877, 0},
- {877, 1},
- {934, 0},
- {934, 1},
- {934, 2},
- {1181, 0},
- {1181, 1},
- {1180, 1},
- {1180, 3},
- {791, 1},
- {791, 3},
- {837, 0},
- {837, 1},
- {837, 2},
- {1152, 1},
- {1121, 3},
- {1335, 1},
- {1335, 3},
- {1158, 3},
- {1122, 3},
- {1340, 1},
- {1340, 3},
- {1164, 3},
- {1118, 5},
- {1118, 3},
- {1118, 4},
- {1057, 4},
- {1057, 5},
- {1057, 5},
- {1055, 4},
- {1056, 0},
- {1056, 2},
- {1054, 4},
- {1144, 6},
- {1144, 8},
- {1143, 6},
- {1143, 2},
- {1313, 0},
- {1313, 2},
- {1313, 1},
- {1313, 3},
- {849, 5},
- {849, 6},
- {849, 7},
- {849, 7},
- {849, 8},
- {849, 9},
- {849, 8},
- {849, 7},
- {849, 6},
- {849, 8},
- {986, 0},
- {986, 2},
- {986, 2},
- {808, 0},
- {808, 2},
- {1182, 1},
- {1182, 3},
- {996, 2},
- {996, 2},
- {996, 3},
- {996, 3},
- {996, 2},
- {996, 2},
+ {897, 3},
+ {897, 3},
+ {897, 3},
+ {897, 3},
+ {897, 3},
+ {1132, 1},
+ {1132, 2},
+ {1132, 3},
{896, 3},
- {930, 1},
- {930, 3},
- {1367, 0},
- {1367, 1},
- {850, 1},
- {850, 2},
- {850, 2},
- {850, 2},
- {850, 4},
- {850, 5},
- {850, 6},
- {850, 4},
- {850, 5},
- {997, 2},
- {1368, 1},
- {1368, 3},
- {853, 3},
- {853, 3},
- {748, 1},
- {748, 3},
- {748, 5},
- {812, 1},
- {812, 3},
- {1005, 0},
- {1005, 1},
- {1234, 0},
- {1234, 3},
- {881, 1},
- {881, 3},
- {1201, 0},
- {1201, 1},
- {1200, 1},
- {1200, 3},
- {1006, 1},
- {1006, 1},
- {1202, 0},
+ {896, 3},
+ {896, 3},
+ {896, 3},
+ {896, 3},
+ {896, 3},
+ {896, 3},
+ {896, 3},
+ {896, 3},
+ {896, 3},
+ {896, 3},
+ {802, 4},
+ {802, 4},
+ {802, 4},
+ {802, 4},
+ {949, 3},
+ {949, 3},
+ {1169, 3},
+ {1169, 3},
+ {1204, 1},
+ {1204, 2},
+ {1204, 4},
+ {1204, 8},
+ {1204, 8},
+ {1204, 3},
+ {1204, 3},
+ {1204, 2},
+ {1104, 0},
+ {1104, 3},
+ {1013, 1},
+ {1013, 5},
+ {1013, 5},
+ {1013, 5},
+ {1013, 5},
+ {1013, 6},
+ {1013, 2},
+ {1013, 5},
+ {1013, 6},
+ {1013, 8},
+ {1013, 8},
+ {1013, 1},
+ {1013, 1},
+ {1013, 3},
+ {1013, 4},
+ {1013, 5},
+ {1013, 3},
+ {1013, 4},
+ {1013, 8},
+ {1013, 4},
+ {1013, 7},
+ {1013, 3},
+ {1013, 4},
+ {1013, 4},
+ {1013, 4},
+ {1013, 4},
+ {1013, 2},
+ {1013, 2},
+ {1013, 4},
+ {1013, 4},
+ {1013, 5},
+ {1013, 3},
+ {1013, 2},
+ {1013, 2},
+ {1013, 5},
+ {1013, 6},
+ {1013, 6},
+ {1013, 8},
+ {1013, 5},
+ {1013, 5},
+ {1013, 3},
+ {1013, 3},
+ {1013, 3},
+ {1013, 5},
+ {1013, 1},
+ {1013, 1},
+ {1013, 1},
+ {1013, 1},
+ {1013, 2},
+ {1013, 2},
+ {1013, 1},
+ {1013, 1},
+ {1013, 4},
+ {1013, 3},
+ {1013, 4},
+ {1013, 1},
+ {1013, 1},
+ {1317, 0},
+ {1317, 5},
+ {853, 1},
+ {853, 1},
+ {1386, 0},
+ {1386, 1},
+ {1385, 2},
+ {1385, 2},
+ {891, 1},
+ {891, 1},
+ {892, 3},
+ {892, 3},
+ {892, 3},
+ {892, 3},
+ {892, 3},
+ {906, 3},
+ {906, 3},
+ {1197, 2},
+ {1197, 2},
+ {849, 1},
+ {849, 1},
+ {1094, 0},
+ {1094, 1},
+ {895, 0},
+ {895, 1},
+ {952, 0},
+ {952, 1},
+ {952, 2},
+ {1203, 0},
+ {1203, 1},
+ {1202, 1},
{1202, 3},
+ {808, 1},
+ {808, 3},
+ {854, 0},
{854, 1},
{854, 2},
- {961, 0},
- {961, 1},
- {815, 1},
- {815, 1},
- {939, 1},
- {939, 2},
- {1045, 0},
- {1045, 1},
- {1217, 2},
- {1217, 1},
- {933, 2},
- {933, 1},
- {933, 1},
- {933, 2},
- {933, 3},
- {933, 1},
- {933, 2},
- {933, 2},
- {933, 3},
- {933, 3},
- {933, 2},
- {933, 6},
- {933, 6},
- {933, 1},
- {933, 2},
- {933, 2},
- {933, 2},
- {933, 2},
- {1188, 0},
- {1188, 3},
- {1188, 5},
- {1320, 1},
- {1320, 1},
- {1320, 1},
- {1198, 1},
- {1198, 1},
- {1198, 1},
- {942, 0},
- {942, 2},
- {1352, 0},
- {1352, 1},
- {1352, 1},
- {1007, 1},
- {1007, 2},
- {1008, 0},
- {1008, 1},
- {1206, 7},
- {1206, 7},
- {1206, 7},
- {1206, 7},
- {1206, 8},
- {1206, 5},
- {1258, 2},
- {1258, 2},
- {1258, 2},
- {1259, 0},
- {1259, 1},
- {915, 5},
- {1095, 3},
- {1096, 3},
- {1267, 0},
- {1267, 1},
- {1267, 1},
- {1267, 2},
- {1267, 2},
- {1119, 1},
- {1119, 1},
- {1119, 2},
- {1119, 2},
- {1119, 2},
- {1213, 1},
- {1213, 1},
- {1213, 1},
- {1213, 1},
- {904, 3},
- {904, 3},
- {904, 4},
- {1089, 3},
- {1089, 1},
- {953, 1},
- {953, 3},
- {953, 4},
- {718, 4},
- {718, 4},
- {952, 1},
- {952, 1},
- {952, 1},
- {952, 1},
+ {1175, 1},
+ {1141, 3},
+ {1358, 1},
+ {1358, 3},
+ {1181, 3},
+ {1142, 3},
+ {1363, 1},
+ {1363, 3},
+ {1187, 3},
+ {1138, 5},
+ {1138, 3},
+ {1138, 4},
+ {1077, 4},
+ {1077, 5},
+ {1077, 5},
+ {1075, 4},
+ {1076, 0},
+ {1076, 2},
+ {1074, 4},
+ {1167, 6},
+ {1167, 8},
+ {1166, 6},
+ {1166, 2},
+ {1336, 0},
+ {1336, 2},
+ {1336, 1},
+ {1336, 3},
+ {866, 5},
+ {866, 6},
+ {866, 7},
+ {866, 7},
+ {866, 8},
+ {866, 9},
+ {866, 8},
+ {866, 7},
+ {866, 6},
+ {866, 8},
+ {1004, 0},
+ {1004, 2},
+ {1004, 2},
+ {825, 0},
+ {825, 2},
+ {1205, 1},
+ {1205, 3},
+ {1015, 2},
+ {1015, 2},
+ {1015, 3},
+ {1015, 3},
+ {1015, 2},
+ {1015, 2},
+ {914, 3},
+ {948, 1},
+ {948, 3},
+ {1390, 0},
+ {1390, 1},
+ {867, 1},
+ {867, 2},
+ {867, 2},
+ {867, 2},
+ {867, 4},
+ {867, 5},
+ {867, 6},
+ {867, 4},
+ {867, 5},
+ {1016, 2},
+ {1391, 1},
+ {1391, 3},
+ {870, 3},
+ {870, 3},
+ {765, 1},
+ {765, 3},
+ {765, 5},
+ {830, 1},
+ {830, 3},
+ {1024, 0},
+ {1024, 1},
+ {1257, 0},
+ {1257, 3},
+ {900, 1},
+ {900, 3},
+ {1224, 0},
+ {1224, 1},
+ {1223, 1},
+ {1223, 3},
+ {1025, 1},
+ {1025, 1},
+ {1225, 0},
+ {1225, 3},
+ {871, 1},
+ {871, 2},
+ {979, 0},
+ {979, 1},
+ {833, 1},
+ {833, 1},
+ {958, 1},
+ {958, 2},
+ {1065, 0},
+ {1065, 1},
+ {1240, 2},
+ {1240, 1},
+ {951, 2},
{951, 1},
{951, 1},
+ {951, 2},
+ {951, 3},
{951, 1},
- {1142, 1},
- {1142, 2},
- {1142, 2},
- {824, 1},
- {824, 1},
- {824, 1},
- {1148, 1},
- {1148, 1},
- {1148, 1},
- {1190, 1},
- {1190, 1},
- {1021, 12},
- {1037, 3},
- {1017, 13},
- {1241, 0},
- {1241, 3},
- {841, 1},
- {841, 3},
- {831, 3},
- {831, 4},
- {1071, 0},
- {1071, 1},
- {1071, 1},
- {1071, 2},
- {1071, 2},
- {1240, 0},
- {1240, 1},
- {1240, 1},
- {1240, 1},
- {987, 4},
- {987, 3},
- {1015, 5},
- {813, 1},
- {890, 1},
- {855, 4},
- {855, 4},
- {855, 4},
- {855, 2},
- {855, 1},
- {855, 5},
- {1210, 0},
- {1210, 1},
- {937, 1},
- {937, 2},
- {936, 12},
- {936, 7},
- {1094, 0},
- {1094, 4},
- {1094, 4},
- {797, 0},
- {797, 1},
- {1108, 0},
- {1108, 6},
- {1151, 6},
- {1151, 5},
- {1284, 0},
- {1284, 3},
- {1285, 1},
- {1285, 5},
- {1285, 6},
- {1285, 4},
- {1285, 5},
- {1285, 4},
- {1285, 3},
- {1285, 1},
- {1107, 0},
- {1107, 7},
- {1246, 1},
- {1246, 2},
+ {951, 2},
+ {951, 2},
+ {951, 3},
+ {951, 3},
+ {951, 2},
+ {951, 6},
+ {951, 6},
+ {951, 1},
+ {951, 2},
+ {951, 2},
+ {951, 2},
+ {951, 2},
+ {1212, 0},
+ {1212, 3},
+ {1212, 5},
+ {1343, 1},
+ {1343, 1},
+ {1343, 1},
+ {1221, 1},
+ {1221, 1},
+ {1221, 1},
+ {961, 0},
+ {961, 2},
+ {1375, 0},
+ {1375, 1},
+ {1375, 1},
+ {1026, 1},
+ {1026, 2},
+ {1027, 0},
+ {1027, 1},
+ {1229, 7},
+ {1229, 7},
+ {1229, 7},
+ {1229, 7},
+ {1229, 8},
+ {1229, 5},
+ {1281, 2},
+ {1281, 2},
+ {1281, 2},
+ {1282, 0},
+ {1282, 1},
+ {933, 5},
+ {1115, 3},
+ {1116, 3},
+ {1290, 0},
+ {1290, 1},
+ {1290, 1},
+ {1290, 2},
+ {1290, 2},
+ {1139, 1},
+ {1139, 1},
+ {1139, 2},
+ {1139, 2},
+ {1139, 2},
+ {1236, 1},
+ {1236, 1},
+ {1236, 1},
+ {1236, 1},
+ {922, 3},
+ {922, 3},
+ {922, 4},
+ {1109, 3},
+ {1109, 1},
+ {972, 1},
+ {972, 3},
+ {972, 4},
+ {972, 3},
+ {972, 1},
+ {735, 4},
+ {735, 4},
+ {971, 1},
+ {971, 1},
+ {971, 1},
+ {971, 1},
+ {970, 1},
+ {970, 1},
+ {970, 1},
+ {955, 1},
+ {955, 1},
+ {1165, 1},
+ {1165, 2},
+ {1165, 2},
+ {841, 1},
+ {841, 1},
+ {841, 1},
+ {1171, 1},
+ {1171, 1},
+ {1171, 1},
+ {1214, 1},
+ {1214, 1},
+ {1041, 12},
+ {1057, 3},
+ {1036, 13},
{1264, 0},
- {1264, 2},
- {1262, 0},
- {1262, 2},
- {1224, 0},
- {1224, 14},
- {1080, 0},
- {1080, 1},
- {1328, 0},
- {1328, 4},
- {1327, 0},
- {1327, 2},
- {1286, 0},
- {1286, 2},
- {1106, 0},
- {1106, 3},
- {1105, 1},
- {1105, 3},
- {957, 5},
- {1326, 0},
- {1326, 3},
- {1325, 1},
- {1325, 3},
- {1150, 3},
- {956, 0},
+ {1264, 3},
+ {858, 1},
+ {858, 3},
+ {848, 3},
+ {848, 4},
+ {1091, 0},
+ {1091, 1},
+ {1091, 1},
+ {1091, 2},
+ {1091, 2},
+ {1263, 0},
+ {1263, 1},
+ {1263, 1},
+ {1263, 1},
+ {1005, 4},
+ {1005, 3},
+ {1034, 5},
+ {831, 1},
+ {882, 1},
+ {1144, 1},
+ {872, 4},
+ {872, 4},
+ {872, 4},
+ {872, 2},
+ {872, 1},
+ {872, 5},
+ {1233, 0},
+ {1233, 1},
+ {956, 1},
{956, 2},
- {818, 3},
- {818, 3},
- {818, 4},
- {818, 3},
- {818, 4},
- {818, 4},
- {818, 3},
- {818, 3},
- {818, 3},
- {818, 3},
- {818, 1},
- {1283, 0},
- {1283, 4},
- {1283, 6},
- {1283, 1},
- {1283, 5},
- {1283, 1},
- {1283, 1},
- {1042, 0},
- {1042, 1},
- {1042, 1},
- {1185, 0},
- {1185, 1},
- {1208, 0},
- {1208, 1},
- {1208, 1},
- {1208, 1},
- {1208, 1},
- {1209, 1},
- {1209, 1},
- {1209, 1},
- {1209, 1},
- {1252, 2},
- {1252, 4},
- {1024, 11},
- {1281, 0},
- {1281, 2},
- {1345, 0},
- {1345, 3},
- {1345, 3},
- {1345, 3},
- {1347, 0},
- {1347, 3},
+ {954, 12},
+ {954, 7},
+ {1114, 0},
+ {1114, 4},
+ {1114, 4},
+ {815, 0},
+ {815, 1},
+ {1128, 0},
+ {1128, 6},
+ {1174, 6},
+ {1174, 5},
+ {1307, 0},
+ {1307, 3},
+ {1308, 1},
+ {1308, 5},
+ {1308, 6},
+ {1308, 4},
+ {1308, 5},
+ {1308, 4},
+ {1308, 3},
+ {1308, 1},
+ {1127, 0},
+ {1127, 7},
+ {1269, 1},
+ {1269, 2},
+ {1287, 0},
+ {1287, 2},
+ {1285, 0},
+ {1285, 2},
+ {1247, 0},
+ {1247, 14},
+ {1100, 0},
+ {1100, 1},
+ {1351, 0},
+ {1351, 4},
{1350, 0},
- {1350, 3},
- {1350, 3},
- {1349, 1},
- {1348, 0},
+ {1350, 2},
+ {1309, 0},
+ {1309, 2},
+ {1126, 0},
+ {1126, 3},
+ {1125, 1},
+ {1125, 3},
+ {976, 5},
+ {1349, 0},
+ {1349, 3},
+ {1348, 1},
{1348, 3},
- {1199, 1},
- {1199, 3},
- {1346, 0},
- {1346, 4},
- {1346, 4},
- {1029, 2},
- {771, 13},
- {771, 9},
- {783, 10},
- {788, 1},
- {788, 1},
- {788, 2},
- {788, 2},
- {838, 1},
- {1031, 4},
- {1033, 7},
- {1039, 6},
- {955, 0},
- {955, 1},
- {955, 2},
- {1041, 4},
- {1041, 6},
- {1040, 3},
- {1040, 5},
- {1035, 3},
- {1035, 5},
- {1038, 3},
- {1038, 5},
- {1038, 4},
- {916, 0},
- {916, 1},
- {916, 1},
- {1156, 1},
- {1156, 1},
- {741, 0},
- {741, 1},
- {1043, 0},
- {1160, 2},
- {1160, 5},
- {1160, 3},
- {1160, 6},
- {1050, 1},
- {1050, 1},
- {1050, 1},
- {1049, 2},
- {1049, 3},
+ {1173, 3},
+ {975, 0},
+ {975, 2},
+ {836, 3},
+ {836, 3},
+ {836, 4},
+ {836, 3},
+ {836, 4},
+ {836, 4},
+ {836, 3},
+ {836, 3},
+ {836, 3},
+ {836, 3},
+ {836, 1},
+ {1306, 0},
+ {1306, 4},
+ {1306, 6},
+ {1306, 1},
+ {1306, 5},
+ {1306, 1},
+ {1306, 1},
+ {1062, 0},
+ {1062, 1},
+ {1062, 1},
+ {1209, 0},
+ {1209, 1},
+ {1231, 0},
+ {1231, 1},
+ {1231, 1},
+ {1231, 1},
+ {1231, 1},
+ {1232, 1},
+ {1232, 1},
+ {1232, 1},
+ {1232, 1},
+ {1275, 2},
+ {1275, 4},
+ {1044, 11},
+ {1304, 0},
+ {1304, 2},
+ {1368, 0},
+ {1368, 3},
+ {1368, 3},
+ {1368, 3},
+ {1370, 0},
+ {1370, 3},
+ {1373, 0},
+ {1373, 3},
+ {1373, 3},
+ {1372, 1},
+ {1371, 0},
+ {1371, 3},
+ {1222, 1},
+ {1222, 3},
+ {1369, 0},
+ {1369, 4},
+ {1369, 4},
{1049, 2},
- {1049, 4},
- {1049, 7},
- {1049, 5},
- {1049, 7},
- {1049, 5},
- {1049, 3},
- {1049, 6},
- {1049, 6},
- {1048, 1},
- {1048, 1},
- {1048, 1},
- {1048, 1},
- {1048, 1},
- {1048, 1},
- {1048, 1},
- {868, 2},
- {865, 3},
- {998, 5},
- {998, 5},
- {999, 2},
- {999, 2},
- {999, 2},
- {1212, 1},
- {1212, 3},
- {902, 0},
- {902, 2},
- {899, 1},
- {899, 1},
- {898, 1},
- {898, 1},
- {898, 1},
- {898, 1},
- {898, 1},
- {898, 1},
- {898, 1},
- {898, 1},
- {903, 1},
- {903, 1},
- {903, 1},
- {903, 1},
- {900, 1},
- {900, 1},
- {900, 2},
- {901, 3},
- {901, 3},
- {901, 3},
- {901, 3},
- {901, 5},
- {901, 3},
- {901, 3},
- {901, 3},
- {901, 3},
- {901, 6},
- {901, 3},
- {901, 3},
- {901, 3},
- {901, 3},
- {901, 3},
- {901, 3},
- {745, 1},
- {767, 1},
- {737, 1},
- {932, 1},
- {932, 1},
- {932, 1},
- {1101, 1},
- {1101, 1},
- {1101, 1},
- {1116, 3},
- {1016, 8},
- {1149, 4},
- {1125, 4},
- {988, 6},
- {1032, 4},
- {1137, 5},
- {1236, 0},
- {1236, 2},
- {1235, 0},
+ {788, 13},
+ {788, 9},
+ {801, 10},
+ {806, 1},
+ {806, 1},
+ {806, 2},
+ {806, 2},
+ {855, 1},
+ {1051, 4},
+ {1053, 7},
+ {1059, 6},
+ {974, 0},
+ {974, 1},
+ {974, 2},
+ {1061, 4},
+ {1061, 6},
+ {1060, 3},
+ {1060, 5},
+ {1055, 3},
+ {1055, 5},
+ {1058, 3},
+ {1058, 5},
+ {1058, 4},
+ {934, 0},
+ {934, 1},
+ {934, 1},
+ {1179, 1},
+ {1179, 1},
+ {757, 0},
+ {757, 1},
+ {1063, 0},
+ {1183, 2},
+ {1183, 5},
+ {1183, 3},
+ {1183, 6},
+ {1070, 1},
+ {1070, 1},
+ {1070, 1},
+ {1069, 2},
+ {1069, 3},
+ {1069, 2},
+ {1069, 4},
+ {1069, 7},
+ {1069, 5},
+ {1069, 7},
+ {1069, 5},
+ {1069, 3},
+ {1069, 6},
+ {1069, 6},
+ {1068, 1},
+ {1068, 1},
+ {1068, 1},
+ {1068, 1},
+ {1068, 1},
+ {1068, 1},
+ {1068, 1},
+ {1068, 1},
+ {886, 2},
+ {883, 3},
+ {1017, 5},
+ {1017, 5},
+ {1018, 2},
+ {1018, 2},
+ {1018, 2},
+ {1235, 1},
{1235, 3},
- {1271, 0},
- {1271, 1},
- {1046, 0},
- {1046, 1},
- {1046, 2},
- {1046, 2},
- {1046, 2},
- {1046, 2},
- {1238, 0},
- {1238, 3},
- {1238, 3},
- {736, 3},
- {736, 3},
- {736, 3},
- {736, 3},
- {736, 2},
- {736, 9},
- {736, 3},
- {736, 3},
- {736, 3},
- {736, 1},
+ {920, 0},
+ {920, 2},
+ {917, 1},
+ {917, 1},
+ {916, 1},
+ {916, 1},
+ {916, 1},
+ {916, 1},
+ {916, 1},
+ {916, 1},
+ {916, 1},
+ {916, 1},
+ {921, 1},
+ {921, 1},
+ {921, 1},
+ {921, 1},
+ {918, 1},
+ {918, 1},
+ {918, 2},
+ {919, 3},
+ {919, 3},
+ {919, 3},
+ {919, 3},
+ {919, 5},
+ {919, 3},
+ {919, 3},
+ {919, 3},
+ {919, 3},
+ {919, 6},
+ {919, 3},
+ {919, 3},
+ {919, 3},
+ {919, 3},
+ {919, 3},
+ {919, 3},
+ {761, 1},
+ {783, 1},
+ {754, 1},
{950, 1},
{950, 1},
- {1230, 0},
- {1230, 4},
- {1230, 7},
- {1230, 3},
- {1230, 3},
- {739, 1},
- {739, 1},
- {738, 1},
- {738, 1},
- {782, 1},
- {782, 3},
- {1087, 1},
- {1087, 3},
- {830, 0},
- {830, 1},
- {1060, 0},
- {1060, 1},
- {1059, 1},
- {735, 3},
- {735, 3},
- {735, 4},
- {735, 5},
- {735, 1},
- {1204, 1},
- {1204, 1},
- {1204, 1},
- {1204, 1},
- {1204, 1},
- {1204, 1},
- {1204, 1},
- {1204, 1},
- {1189, 1},
- {1189, 2},
- {1248, 1},
- {1248, 2},
- {1243, 1},
- {1243, 2},
- {1251, 1},
- {1251, 2},
- {1293, 1},
- {1293, 2},
- {1183, 1},
- {1183, 1},
- {1183, 1},
- {734, 5},
- {734, 3},
- {734, 5},
- {734, 4},
- {734, 3},
- {734, 1},
- {1120, 1},
- {1120, 1},
- {1250, 0},
- {1250, 2},
- {1051, 1},
- {1051, 3},
- {1051, 5},
- {1051, 2},
- {1221, 0},
- {1221, 1},
- {1220, 1},
- {1220, 2},
- {1220, 1},
- {1220, 2},
- {1223, 1},
- {1223, 3},
- {944, 3},
+ {950, 1},
+ {1121, 1},
+ {1121, 1},
+ {1121, 1},
+ {1136, 3},
+ {1035, 8},
+ {1172, 4},
+ {1148, 4},
+ {1006, 6},
+ {1052, 4},
+ {1160, 5},
+ {1259, 0},
+ {1259, 2},
+ {1258, 0},
+ {1258, 3},
+ {1294, 0},
+ {1294, 1},
{1066, 0},
+ {1066, 1},
{1066, 2},
- {1184, 0},
- {1184, 1},
- {929, 3},
- {784, 0},
- {784, 2},
- {790, 0},
- {790, 3},
- {859, 0},
- {859, 1},
- {882, 0},
- {882, 1},
- {884, 0},
- {884, 2},
- {883, 3},
- {883, 1},
- {883, 3},
- {883, 2},
- {883, 1},
- {883, 1},
- {947, 1},
- {947, 3},
- {947, 3},
- {1242, 0},
- {1242, 1},
- {862, 2},
- {862, 2},
- {910, 1},
- {910, 1},
- {910, 1},
- {860, 1},
- {860, 1},
- {664, 1},
- {664, 1},
- {664, 1},
- {664, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {667, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {666, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {665, 1},
- {1001, 2},
- {1291, 1},
- {1291, 3},
- {1291, 4},
- {1291, 6},
- {777, 9},
- {1073, 0},
- {1073, 1},
- {1072, 5},
- {1072, 4},
- {1072, 4},
- {1072, 4},
- {1072, 4},
- {1072, 2},
- {1072, 1},
- {1072, 1},
- {1072, 1},
- {1072, 1},
- {1072, 2},
- {982, 1},
- {982, 1},
- {980, 1},
- {980, 3},
- {844, 3},
- {1344, 0},
- {1344, 1},
- {1343, 3},
- {1343, 1},
- {801, 1},
- {801, 1},
- {1009, 3},
- {1203, 0},
- {1203, 1},
- {1203, 3},
- {1268, 0},
- {1268, 5},
- {780, 6},
- {716, 1},
- {716, 1},
- {716, 1},
- {716, 1},
- {716, 1},
- {716, 1},
- {716, 1},
- {716, 2},
- {716, 1},
- {716, 1},
- {716, 2},
- {716, 2},
- {717, 1},
- {717, 2},
- {1177, 1},
- {1177, 3},
- {990, 2},
- {772, 3},
- {905, 1},
- {905, 3},
- {875, 1},
- {875, 2},
- {1280, 1},
- {1280, 1},
- {954, 0},
- {954, 1},
- {954, 1},
- {817, 0},
- {817, 1},
- {733, 3},
- {733, 3},
- {733, 3},
- {733, 3},
- {733, 3},
- {733, 3},
- {733, 5},
- {733, 5},
- {733, 5},
- {733, 3},
- {733, 3},
- {733, 3},
- {733, 3},
- {733, 3},
- {733, 3},
- {733, 1},
- {715, 1},
- {715, 3},
- {715, 5},
- {728, 1},
- {728, 1},
- {728, 1},
- {728, 1},
- {728, 3},
- {728, 1},
- {728, 1},
- {728, 1},
- {728, 1},
- {728, 1},
- {728, 2},
- {728, 2},
- {728, 2},
- {728, 2},
- {728, 3},
- {728, 2},
- {728, 1},
- {728, 3},
- {728, 5},
- {728, 6},
- {728, 2},
- {728, 4},
- {728, 2},
- {728, 6},
- {728, 5},
- {728, 6},
- {728, 6},
- {728, 4},
- {728, 4},
- {728, 3},
- {728, 3},
- {789, 1},
- {789, 1},
- {792, 1},
- {792, 1},
- {822, 0},
- {822, 1},
- {938, 0},
- {938, 1},
- {821, 1},
- {821, 2},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {722, 1},
- {1100, 0},
- {1100, 2},
- {726, 1},
- {726, 1},
- {726, 1},
- {726, 1},
- {726, 1},
- {725, 1},
- {725, 1},
- {725, 1},
- {725, 1},
- {725, 1},
- {725, 1},
- {720, 4},
- {720, 4},
- {720, 2},
- {720, 3},
- {720, 2},
- {720, 4},
- {720, 6},
- {720, 2},
- {720, 2},
- {720, 2},
- {720, 4},
- {720, 6},
- {720, 4},
- {721, 4},
- {721, 4},
- {721, 6},
- {721, 8},
- {721, 8},
- {721, 6},
- {721, 6},
- {721, 6},
- {721, 6},
- {721, 6},
- {721, 8},
- {721, 8},
- {721, 8},
- {721, 8},
- {721, 4},
- {721, 6},
- {721, 6},
- {721, 7},
- {721, 4},
- {721, 7},
- {721, 7},
- {721, 1},
- {721, 8},
- {1232, 1},
- {1232, 1},
- {1232, 1},
- {1232, 1},
- {723, 1},
- {723, 1},
- {724, 1},
- {724, 1},
- {1338, 1},
- {1338, 1},
- {1338, 1},
- {727, 4},
- {727, 6},
- {727, 1},
- {729, 6},
- {729, 4},
- {729, 4},
- {729, 5},
- {729, 6},
- {729, 5},
- {729, 6},
- {729, 5},
- {729, 6},
- {729, 5},
- {729, 6},
- {729, 5},
- {729, 5},
- {729, 8},
- {729, 6},
- {729, 6},
- {729, 6},
- {729, 6},
- {729, 6},
- {729, 6},
- {729, 6},
- {729, 5},
- {729, 6},
- {729, 7},
- {729, 8},
- {729, 8},
- {729, 9},
- {1274, 0},
- {1274, 2},
- {719, 4},
- {719, 6},
- {1231, 0},
- {1231, 2},
- {1231, 3},
- {820, 1},
- {820, 1},
- {820, 1},
- {820, 1},
- {820, 1},
- {820, 1},
- {820, 1},
- {820, 1},
- {820, 1},
- {820, 1},
- {820, 1},
- {820, 1},
- {800, 1},
- {800, 1},
- {800, 1},
- {800, 1},
- {800, 1},
- {800, 1},
- {800, 1},
- {800, 1},
- {800, 1},
- {800, 1},
- {800, 1},
+ {1066, 2},
+ {1066, 2},
+ {1066, 2},
+ {1261, 0},
+ {1261, 3},
+ {1261, 3},
+ {753, 3},
+ {753, 3},
+ {753, 3},
+ {753, 3},
+ {753, 2},
+ {753, 9},
+ {753, 3},
+ {753, 3},
+ {753, 3},
+ {753, 1},
+ {969, 1},
+ {969, 1},
+ {1253, 0},
+ {1253, 4},
+ {1253, 7},
+ {1253, 3},
+ {1253, 3},
+ {756, 1},
+ {756, 1},
+ {755, 1},
+ {755, 1},
{800, 1},
- {800, 1},
- {800, 1},
- {800, 1},
- {800, 1},
- {800, 1},
- {1218, 0},
- {1218, 1},
- {1353, 1},
- {1353, 2},
- {1168, 4},
- {1216, 0},
- {1216, 2},
- {1002, 2},
- {1002, 3},
- {1002, 1},
- {1002, 1},
- {1002, 2},
- {1002, 2},
- {1002, 2},
- {1002, 2},
- {1002, 2},
- {1002, 1},
- {1002, 1},
- {1002, 2},
- {1002, 1},
- {842, 1},
- {842, 1},
- {842, 1},
- {891, 0},
- {891, 1},
- {740, 1},
- {740, 3},
- {786, 1},
- {786, 3},
- {922, 2},
- {922, 4},
- {972, 1},
- {972, 3},
- {912, 0},
- {912, 2},
- {1117, 0},
- {1117, 1},
- {1114, 4},
- {1290, 1},
- {1290, 1},
- {1047, 2},
- {1047, 4},
- {1341, 1},
- {1341, 3},
- {1026, 3},
- {1027, 1},
- {1027, 1},
- {867, 1},
- {867, 2},
- {867, 3},
- {867, 4},
- {1011, 4},
- {1011, 4},
- {1011, 5},
- {1011, 2},
- {1011, 3},
- {1011, 1},
- {1011, 2},
- {1141, 1},
- {1124, 1},
- {1067, 2},
- {753, 4},
- {754, 3},
- {755, 7},
- {1333, 0},
- {1333, 7},
- {1333, 5},
- {1332, 0},
- {1332, 1},
- {1332, 1},
- {1332, 1},
- {1334, 0},
- {1334, 1},
- {1334, 1},
- {1123, 0},
- {1123, 4},
- {752, 7},
- {752, 6},
+ {800, 3},
+ {1107, 1},
+ {1107, 3},
+ {847, 0},
+ {847, 1},
+ {1080, 0},
+ {1080, 1},
+ {1079, 1},
+ {752, 3},
+ {752, 3},
+ {752, 4},
{752, 5},
- {752, 6},
- {752, 6},
- {764, 2},
- {764, 2},
- {763, 2},
- {763, 3},
- {1173, 3},
- {1173, 1},
- {935, 4},
- {1229, 2},
- {1354, 0},
- {1354, 2},
- {1355, 1},
- {1355, 3},
- {1169, 3},
- {928, 1},
- {1171, 3},
- {1360, 4},
- {1272, 0},
- {1272, 1},
- {1276, 0},
- {1276, 3},
- {1279, 0},
- {1279, 3},
- {1278, 0},
- {1278, 2},
- {1358, 1},
- {1358, 1},
- {1358, 1},
- {1357, 1},
- {1357, 1},
- {984, 2},
- {984, 2},
- {984, 2},
- {984, 4},
- {984, 2},
- {1356, 4},
- {1170, 1},
- {1170, 2},
- {1170, 2},
- {1170, 2},
- {1170, 4},
- {769, 0},
- {769, 1},
- {751, 2},
- {1359, 1},
- {1359, 1},
- {732, 4},
- {732, 4},
- {732, 4},
- {732, 4},
- {732, 4},
- {732, 5},
- {732, 7},
- {732, 7},
- {732, 6},
- {732, 6},
- {732, 9},
- {1102, 0},
- {1102, 3},
- {1102, 3},
- {1103, 0},
- {1103, 2},
- {889, 0},
- {889, 2},
- {889, 2},
+ {752, 1},
+ {1227, 1},
+ {1227, 1},
+ {1227, 1},
+ {1227, 1},
+ {1227, 1},
+ {1227, 1},
+ {1227, 1},
+ {1227, 1},
+ {1213, 1},
+ {1213, 2},
+ {1271, 1},
+ {1271, 2},
+ {1266, 1},
+ {1266, 2},
+ {1274, 1},
+ {1274, 2},
+ {1316, 1},
+ {1316, 2},
+ {1206, 1},
+ {1206, 1},
+ {1206, 1},
+ {751, 5},
+ {751, 3},
+ {751, 5},
+ {751, 4},
+ {751, 3},
+ {751, 5},
+ {751, 1},
+ {1140, 1},
+ {1140, 1},
{1273, 0},
{1273, 2},
- {1273, 2},
- {1331, 1},
- {894, 1},
- {894, 3},
- {856, 1},
- {856, 4},
- {807, 1},
- {807, 1},
- {806, 6},
- {806, 2},
- {806, 3},
- {864, 0},
- {864, 4},
- {921, 0},
- {921, 1},
- {920, 1},
- {920, 2},
- {946, 2},
- {946, 2},
- {946, 2},
- {1239, 0},
- {1239, 2},
- {1239, 3},
- {1239, 3},
- {945, 5},
- {861, 0},
- {861, 1},
- {861, 3},
- {861, 1},
+ {1071, 1},
+ {1071, 3},
+ {1071, 5},
+ {1071, 2},
+ {1244, 0},
+ {1244, 1},
+ {1243, 1},
+ {1243, 2},
+ {1243, 1},
+ {1243, 2},
+ {1246, 1},
+ {1246, 3},
+ {963, 3},
+ {1086, 0},
+ {1086, 2},
+ {1208, 0},
+ {1208, 1},
+ {947, 3},
+ {799, 0},
+ {799, 2},
+ {804, 0},
+ {804, 3},
+ {876, 0},
+ {876, 1},
+ {901, 0},
+ {901, 1},
+ {903, 0},
+ {903, 2},
+ {902, 3},
+ {902, 1},
+ {902, 3},
+ {902, 2},
+ {902, 1},
+ {902, 1},
+ {966, 1},
+ {966, 3},
+ {966, 3},
+ {1265, 0},
+ {1265, 1},
+ {879, 2},
+ {879, 2},
+ {928, 1},
+ {928, 1},
+ {928, 1},
+ {877, 1},
+ {877, 1},
+ {685, 1},
+ {685, 1},
+ {685, 1},
+ {685, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {688, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {687, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {686, 1},
+ {1020, 2},
+ {1314, 1},
+ {1314, 3},
+ {1314, 4},
+ {1314, 6},
+ {794, 9},
+ {1093, 0},
+ {1093, 1},
+ {1092, 5},
+ {1092, 4},
+ {1092, 4},
+ {1092, 4},
+ {1092, 4},
+ {1092, 2},
+ {1092, 1},
+ {1092, 1},
+ {1092, 1},
+ {1092, 1},
+ {1092, 2},
+ {1000, 1},
+ {1000, 1},
+ {998, 1},
+ {998, 3},
{861, 3},
- {1069, 1},
- {1069, 2},
- {1070, 0},
- {1070, 1},
- {802, 3},
- {802, 5},
- {802, 7},
- {802, 7},
- {802, 9},
- {802, 4},
- {802, 6},
- {802, 3},
- {802, 5},
- {823, 1},
- {823, 1},
- {1104, 0},
- {1104, 1},
- {827, 1},
- {827, 2},
- {827, 2},
- {1078, 0},
- {1078, 2},
- {886, 1},
- {886, 1},
- {1297, 1},
- {1297, 1},
- {1225, 1},
- {1225, 1},
- {1219, 0},
- {1219, 1},
- {773, 2},
- {773, 4},
- {773, 4},
- {773, 5},
- {834, 0},
- {834, 1},
- {1131, 1},
- {1131, 1},
- {1131, 1},
- {1131, 1},
- {1131, 1},
- {1131, 1},
- {1131, 1},
- {1131, 1},
- {1131, 1},
- {1299, 0},
- {1299, 1},
- {1300, 2},
- {1300, 1},
- {871, 1},
- {923, 0},
+ {1367, 0},
+ {1367, 1},
+ {1366, 3},
+ {1366, 1},
+ {818, 1},
+ {818, 1},
+ {1028, 3},
+ {1226, 0},
+ {1226, 1},
+ {1226, 3},
+ {1291, 0},
+ {1291, 5},
+ {795, 6},
+ {733, 1},
+ {733, 1},
+ {733, 1},
+ {733, 1},
+ {733, 1},
+ {733, 1},
+ {733, 1},
+ {733, 2},
+ {733, 1},
+ {733, 1},
+ {733, 2},
+ {733, 2},
+ {734, 1},
+ {734, 2},
+ {1200, 1},
+ {1200, 3},
+ {1008, 2},
+ {789, 3},
{923, 1},
- {1132, 1},
- {1132, 1},
- {1298, 1},
- {970, 0},
- {970, 1},
- {893, 0},
- {893, 5},
- {713, 3},
- {713, 3},
- {713, 3},
- {713, 3},
- {892, 0},
- {892, 3},
- {892, 3},
- {892, 4},
- {892, 5},
- {892, 4},
- {892, 5},
- {892, 5},
- {892, 4},
- {1093, 0},
- {1093, 2},
- {765, 1},
- {765, 1},
- {765, 2},
- {765, 2},
- {762, 3},
- {762, 3},
- {761, 4},
- {761, 4},
- {761, 5},
- {761, 2},
- {761, 2},
- {761, 3},
- {760, 1},
- {760, 3},
- {756, 1},
- {756, 1},
- {1302, 2},
- {1302, 2},
- {1302, 2},
- {971, 1},
- {1003, 9},
- {1003, 9},
- {869, 2},
- {869, 4},
- {869, 6},
- {869, 4},
- {869, 4},
- {869, 3},
- {869, 6},
- {869, 6},
- {869, 3},
- {1136, 3},
- {1135, 6},
- {1134, 1},
- {1134, 1},
- {1134, 1},
- {1303, 3},
+ {923, 3},
+ {893, 1},
+ {893, 2},
{1303, 1},
{1303, 1},
- {976, 1},
- {976, 3},
- {926, 3},
- {926, 2},
- {926, 2},
- {926, 3},
- {1247, 2},
- {1247, 2},
- {1247, 2},
- {1247, 1},
- {845, 1},
- {845, 1},
- {845, 1},
- {828, 1},
- {828, 1},
+ {973, 0},
+ {973, 1},
+ {973, 1},
+ {835, 0},
{835, 1},
- {835, 3},
- {907, 1},
- {907, 3},
- {907, 3},
- {983, 3},
- {983, 4},
- {983, 4},
- {983, 4},
- {983, 3},
- {983, 3},
- {983, 2},
- {983, 4},
- {983, 4},
- {983, 2},
- {983, 2},
- {1195, 1},
- {1195, 1},
- {811, 1},
- {811, 1},
- {876, 1},
- {876, 1},
- {1167, 1},
- {1167, 3},
- {731, 1},
- {731, 1},
- {730, 1},
- {714, 1},
- {781, 1},
- {781, 3},
- {781, 2},
- {781, 2},
- {872, 1},
- {872, 3},
- {1109, 1},
- {1109, 4},
- {897, 1},
- {826, 1},
- {826, 1},
- {805, 3},
- {805, 2},
- {968, 1},
- {968, 1},
- {825, 1},
- {825, 1},
- {866, 1},
- {866, 3},
- {1176, 2},
- {1176, 4},
- {1176, 4},
- {985, 3},
- {985, 5},
- {985, 6},
- {985, 4},
- {985, 4},
- {985, 5},
- {985, 5},
- {985, 5},
- {985, 6},
- {985, 4},
- {985, 5},
- {985, 6},
- {985, 6},
- {985, 4},
- {985, 3},
- {985, 3},
- {985, 4},
- {985, 4},
- {985, 5},
- {985, 5},
- {985, 3},
- {985, 3},
- {985, 3},
- {985, 3},
- {985, 3},
- {985, 3},
- {985, 3},
- {985, 3},
- {985, 4},
- {1175, 2},
- {1175, 2},
- {1175, 3},
- {1175, 3},
- {1233, 1},
- {1233, 3},
- {1064, 5},
- {1090, 1},
- {1090, 3},
- {1139, 3},
- {1139, 4},
- {1139, 4},
- {1139, 5},
- {1139, 4},
- {1139, 5},
- {1139, 4},
- {1139, 4},
- {1139, 6},
- {1139, 4},
- {1139, 8},
- {1139, 2},
- {1139, 5},
- {1139, 3},
- {1139, 3},
- {1139, 2},
- {1139, 5},
- {1139, 2},
- {1139, 2},
- {1139, 4},
- {1307, 2},
- {1307, 2},
- {1307, 4},
- {1310, 0},
- {1310, 1},
- {1309, 1},
- {1309, 3},
- {1138, 1},
- {1138, 1},
- {1138, 2},
- {1138, 2},
- {1138, 2},
- {1138, 1},
- {1138, 1},
- {1138, 1},
- {1138, 1},
- {1308, 0},
- {1308, 3},
- {1342, 0},
- {1342, 2},
- {1305, 1},
- {1305, 1},
- {1305, 1},
+ {750, 3},
+ {750, 3},
+ {750, 3},
+ {750, 3},
+ {750, 3},
+ {750, 3},
+ {750, 5},
+ {750, 5},
+ {750, 5},
+ {750, 3},
+ {750, 3},
+ {750, 3},
+ {750, 3},
+ {750, 3},
+ {750, 3},
+ {750, 1},
+ {732, 1},
+ {732, 3},
+ {732, 5},
+ {745, 1},
+ {745, 1},
+ {745, 1},
+ {745, 1},
+ {745, 3},
+ {745, 1},
+ {745, 1},
+ {745, 1},
+ {745, 1},
+ {745, 1},
+ {745, 2},
+ {745, 2},
+ {745, 2},
+ {745, 2},
+ {745, 3},
+ {745, 2},
+ {745, 1},
+ {745, 3},
+ {745, 5},
+ {745, 6},
+ {745, 2},
+ {745, 4},
+ {745, 2},
+ {745, 7},
+ {745, 5},
+ {745, 6},
+ {745, 6},
+ {745, 4},
+ {745, 4},
+ {745, 3},
+ {745, 3},
+ {1207, 0},
+ {1207, 1},
+ {807, 1},
+ {807, 1},
{809, 1},
{809, 1},
- {1311, 1},
- {1311, 1},
- {1311, 1},
- {1311, 1},
- {1311, 3},
- {1311, 3},
- {1311, 3},
- {1311, 3},
- {1311, 5},
- {1311, 4},
- {1311, 5},
- {1311, 5},
- {1311, 1},
- {1311, 5},
- {1311, 1},
- {1311, 2},
- {1311, 2},
- {1311, 2},
- {1311, 1},
- {1311, 2},
- {1311, 2},
- {1311, 2},
- {1311, 2},
- {1311, 2},
- {1311, 2},
- {1311, 2},
- {1311, 1},
- {1311, 1},
- {1311, 1},
- {1311, 1},
- {1311, 1},
- {1311, 1},
- {1311, 1},
- {1311, 1},
- {1311, 1},
- {1311, 1},
- {1311, 1},
- {1311, 2},
- {1311, 1},
- {1311, 1},
- {1311, 1},
- {1311, 1},
- {1311, 2},
- {1306, 0},
- {1306, 2},
- {1306, 2},
- {943, 0},
- {943, 1},
- {943, 1},
- {1319, 0},
- {1319, 1},
- {1319, 1},
- {1319, 1},
- {1098, 0},
- {1098, 1},
- {846, 0},
- {846, 2},
- {1140, 2},
- {1058, 3},
- {960, 1},
- {960, 3},
- {1228, 1},
- {1228, 1},
- {1228, 3},
- {1228, 1},
- {1228, 2},
- {1228, 3},
- {1228, 1},
- {1257, 0},
- {1257, 1},
- {1257, 1},
- {1257, 1},
- {1257, 1},
- {1257, 1},
- {833, 0},
- {833, 1},
- {833, 1},
- {1155, 0},
- {1155, 1},
- {974, 0},
- {974, 2},
- {1361, 0},
- {1361, 3},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {1145, 1},
- {925, 1},
- {925, 1},
- {925, 1},
- {925, 1},
- {925, 1},
- {925, 1},
- {925, 1},
- {925, 1},
- {925, 1},
- {925, 1},
- {925, 1},
- {925, 1},
- {925, 1},
- {925, 1},
- {925, 1},
- {925, 1},
- {829, 1},
- {829, 1},
- {829, 1},
- {829, 1},
- {829, 1},
- {829, 1},
- {829, 1},
+ {839, 0},
+ {839, 1},
+ {957, 0},
+ {957, 1},
+ {838, 1},
+ {838, 2},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {739, 1},
+ {1120, 0},
+ {1120, 2},
+ {743, 1},
+ {743, 1},
+ {743, 1},
+ {743, 1},
+ {743, 1},
+ {742, 1},
+ {742, 1},
+ {742, 1},
+ {742, 1},
+ {742, 1},
+ {742, 1},
+ {737, 4},
+ {737, 4},
+ {737, 2},
+ {737, 3},
+ {737, 2},
+ {737, 4},
+ {737, 6},
+ {737, 2},
+ {737, 2},
+ {737, 2},
+ {737, 4},
+ {737, 6},
+ {737, 4},
+ {738, 4},
+ {738, 4},
+ {738, 6},
+ {738, 8},
+ {738, 8},
+ {738, 6},
+ {738, 6},
+ {738, 6},
+ {738, 6},
+ {738, 6},
+ {738, 8},
+ {738, 8},
+ {738, 8},
+ {738, 8},
+ {738, 4},
+ {738, 6},
+ {738, 6},
+ {738, 7},
+ {738, 4},
+ {738, 7},
+ {738, 7},
+ {738, 1},
+ {738, 8},
+ {1255, 1},
+ {1255, 1},
+ {1255, 1},
+ {1255, 1},
+ {740, 1},
+ {740, 1},
+ {741, 1},
+ {741, 1},
+ {1361, 1},
+ {1361, 1},
+ {1361, 1},
+ {744, 4},
+ {744, 6},
+ {744, 1},
+ {746, 6},
+ {746, 4},
+ {746, 4},
+ {746, 5},
+ {746, 6},
+ {746, 5},
+ {746, 6},
+ {746, 5},
+ {746, 6},
+ {746, 5},
+ {746, 6},
+ {746, 5},
+ {746, 5},
+ {746, 8},
+ {746, 6},
+ {746, 6},
+ {746, 6},
+ {746, 6},
+ {746, 6},
+ {746, 6},
+ {746, 6},
+ {746, 5},
+ {746, 6},
+ {746, 7},
+ {746, 8},
+ {746, 8},
+ {746, 9},
+ {1297, 0},
+ {1297, 2},
+ {736, 4},
+ {736, 6},
+ {1254, 0},
+ {1254, 2},
+ {1254, 3},
+ {827, 1},
+ {827, 1},
+ {827, 1},
+ {827, 1},
+ {827, 1},
+ {827, 1},
+ {827, 1},
+ {827, 1},
+ {827, 1},
+ {827, 1},
+ {827, 1},
+ {827, 1},
+ {812, 1},
+ {812, 1},
+ {812, 1},
+ {812, 1},
+ {812, 1},
+ {812, 1},
+ {812, 1},
+ {812, 1},
+ {812, 1},
+ {812, 1},
+ {812, 1},
+ {812, 1},
+ {812, 1},
+ {812, 1},
+ {812, 1},
+ {812, 1},
+ {812, 1},
+ {1241, 0},
+ {1241, 1},
+ {1376, 1},
+ {1376, 2},
+ {1191, 4},
+ {1239, 0},
+ {1239, 2},
+ {1021, 2},
+ {1021, 3},
+ {1021, 1},
+ {1021, 1},
+ {1021, 2},
+ {1021, 2},
+ {1021, 2},
+ {1021, 2},
+ {1021, 2},
+ {1021, 1},
+ {1021, 1},
+ {1021, 2},
+ {1021, 1},
+ {859, 1},
+ {859, 1},
+ {859, 1},
+ {909, 0},
+ {909, 1},
+ {758, 1},
+ {758, 3},
+ {803, 1},
+ {803, 3},
+ {940, 2},
+ {940, 4},
+ {990, 1},
+ {990, 3},
+ {930, 0},
+ {930, 2},
+ {1137, 0},
+ {1137, 1},
+ {1134, 4},
+ {1313, 1},
+ {1313, 1},
+ {1067, 2},
+ {1067, 4},
+ {1364, 1},
+ {1364, 3},
+ {1046, 3},
+ {1047, 1},
+ {1047, 1},
+ {885, 1},
+ {885, 2},
+ {885, 3},
+ {885, 4},
+ {1030, 4},
+ {1030, 4},
+ {1030, 5},
+ {1030, 2},
+ {1030, 3},
+ {1030, 1},
+ {1030, 2},
+ {1164, 1},
+ {1147, 1},
+ {1087, 2},
+ {770, 4},
+ {771, 3},
+ {772, 7},
+ {1356, 0},
+ {1356, 7},
+ {1356, 5},
+ {1355, 0},
+ {1355, 1},
+ {1355, 1},
+ {1355, 1},
+ {1357, 0},
+ {1357, 1},
+ {1357, 1},
+ {1143, 0},
+ {1143, 4},
+ {769, 7},
+ {769, 6},
+ {769, 5},
+ {769, 6},
+ {769, 6},
+ {781, 2},
+ {781, 2},
+ {780, 2},
+ {780, 3},
+ {1196, 3},
+ {1196, 1},
+ {953, 4},
+ {1252, 2},
+ {1377, 0},
+ {1377, 2},
+ {1378, 1},
+ {1378, 3},
+ {1192, 3},
+ {946, 1},
+ {1194, 3},
+ {1383, 4},
+ {1295, 0},
+ {1295, 1},
+ {1299, 0},
+ {1299, 3},
+ {1302, 0},
+ {1302, 3},
+ {1301, 0},
+ {1301, 2},
+ {1381, 1},
+ {1381, 1},
+ {1381, 1},
+ {1380, 1},
+ {1380, 1},
+ {1002, 2},
+ {1002, 2},
+ {1002, 2},
+ {1002, 4},
+ {1002, 2},
+ {1379, 4},
+ {1193, 1},
+ {1193, 2},
+ {1193, 2},
+ {1193, 2},
+ {1193, 4},
+ {786, 0},
+ {786, 1},
+ {768, 2},
+ {1382, 1},
+ {1382, 1},
+ {749, 4},
+ {749, 4},
+ {749, 4},
+ {749, 4},
+ {749, 4},
+ {749, 5},
+ {749, 7},
+ {749, 7},
+ {749, 6},
+ {749, 6},
+ {749, 9},
+ {1122, 0},
+ {1122, 3},
+ {1122, 3},
+ {1123, 0},
+ {1123, 2},
+ {908, 0},
+ {908, 2},
+ {908, 2},
+ {1296, 0},
+ {1296, 2},
+ {1296, 2},
+ {1354, 1},
+ {912, 1},
+ {912, 3},
+ {873, 1},
+ {873, 4},
+ {824, 1},
+ {824, 1},
+ {823, 6},
+ {823, 2},
+ {823, 3},
+ {881, 0},
+ {881, 4},
+ {939, 0},
+ {939, 1},
+ {938, 1},
+ {938, 2},
+ {965, 2},
+ {965, 2},
+ {965, 2},
+ {1262, 0},
+ {1262, 2},
+ {1262, 3},
+ {1262, 3},
+ {964, 5},
+ {878, 0},
+ {878, 1},
+ {878, 3},
+ {878, 1},
+ {878, 3},
+ {1089, 1},
+ {1089, 2},
+ {1090, 0},
+ {1090, 1},
+ {819, 3},
+ {819, 5},
+ {819, 7},
+ {819, 7},
+ {819, 9},
+ {819, 4},
+ {819, 6},
+ {819, 3},
+ {819, 5},
+ {840, 1},
+ {840, 1},
+ {1124, 0},
+ {1124, 1},
+ {844, 1},
+ {844, 2},
+ {844, 2},
+ {1098, 0},
+ {1098, 2},
+ {905, 1},
+ {905, 1},
+ {1320, 1},
+ {1320, 1},
+ {1248, 1},
+ {1248, 1},
+ {1242, 0},
+ {1242, 1},
+ {790, 2},
+ {790, 4},
+ {790, 4},
+ {790, 5},
+ {851, 0},
+ {851, 1},
+ {1154, 1},
+ {1154, 1},
+ {1154, 1},
+ {1154, 1},
+ {1154, 1},
+ {1154, 1},
+ {1154, 1},
+ {1154, 1},
+ {1154, 1},
+ {1322, 0},
+ {1322, 1},
+ {1323, 2},
+ {1323, 1},
+ {889, 1},
+ {941, 0},
+ {941, 1},
+ {1155, 1},
+ {1155, 1},
+ {1321, 1},
+ {988, 0},
+ {988, 1},
+ {911, 0},
+ {911, 5},
+ {730, 3},
+ {730, 3},
+ {730, 3},
+ {730, 3},
+ {910, 0},
+ {910, 3},
+ {910, 3},
+ {910, 4},
+ {910, 5},
+ {910, 4},
+ {910, 5},
+ {910, 5},
+ {910, 4},
+ {1113, 0},
+ {1113, 2},
+ {782, 1},
+ {782, 1},
+ {782, 2},
+ {782, 2},
+ {779, 3},
+ {779, 3},
+ {778, 4},
+ {778, 4},
+ {778, 5},
+ {778, 2},
+ {778, 2},
+ {778, 3},
+ {777, 1},
+ {777, 3},
+ {773, 1},
+ {773, 1},
+ {1325, 2},
+ {1325, 2},
+ {1325, 2},
+ {989, 1},
+ {1022, 9},
+ {1022, 9},
+ {887, 2},
+ {887, 4},
+ {887, 6},
+ {887, 4},
+ {887, 4},
+ {887, 3},
+ {887, 6},
+ {887, 6},
+ {887, 3},
+ {1159, 3},
+ {1158, 6},
+ {1157, 1},
+ {1157, 1},
+ {1157, 1},
+ {1326, 3},
+ {1326, 1},
+ {1326, 1},
+ {994, 1},
+ {994, 3},
+ {944, 3},
+ {944, 2},
+ {944, 2},
+ {944, 3},
+ {1270, 2},
+ {1270, 2},
+ {1270, 2},
+ {1270, 1},
+ {862, 1},
+ {862, 1},
+ {862, 1},
+ {845, 1},
+ {845, 1},
+ {852, 1},
+ {852, 3},
+ {925, 1},
+ {925, 3},
+ {925, 3},
+ {1001, 3},
+ {1001, 4},
+ {1001, 4},
+ {1001, 4},
+ {1001, 3},
+ {1001, 3},
+ {1001, 2},
+ {1001, 4},
+ {1001, 4},
+ {1001, 2},
+ {1001, 2},
+ {1219, 1},
+ {1219, 1},
{829, 1},
{829, 1},
+ {894, 1},
+ {894, 1},
+ {1190, 1},
+ {1190, 3},
+ {748, 1},
+ {748, 1},
+ {747, 1},
+ {731, 1},
+ {798, 1},
+ {798, 3},
+ {798, 2},
+ {798, 2},
+ {890, 1},
+ {890, 3},
+ {1129, 1},
+ {1129, 4},
+ {915, 1},
+ {843, 1},
+ {843, 1},
+ {822, 3},
+ {822, 2},
+ {986, 1},
+ {986, 1},
+ {842, 1},
+ {842, 1},
+ {884, 1},
+ {884, 3},
+ {1199, 2},
+ {1199, 4},
+ {1199, 4},
+ {1003, 3},
+ {1003, 5},
+ {1003, 6},
+ {1003, 4},
+ {1003, 4},
+ {1003, 5},
+ {1003, 5},
+ {1003, 5},
+ {1003, 6},
+ {1003, 4},
+ {1003, 5},
+ {1003, 6},
+ {1003, 6},
+ {1003, 4},
+ {1003, 3},
+ {1003, 3},
+ {1003, 4},
+ {1003, 4},
+ {1003, 5},
+ {1003, 5},
+ {1003, 3},
+ {1003, 3},
+ {1003, 3},
+ {1003, 3},
+ {1003, 3},
+ {1003, 3},
+ {1003, 3},
+ {1003, 3},
+ {1003, 4},
+ {1198, 2},
+ {1198, 2},
+ {1198, 3},
+ {1198, 3},
+ {1256, 1},
+ {1256, 3},
+ {1084, 5},
+ {1110, 1},
+ {1110, 3},
+ {1162, 3},
+ {1162, 4},
+ {1162, 4},
+ {1162, 5},
+ {1162, 4},
+ {1162, 5},
+ {1162, 4},
+ {1162, 4},
+ {1162, 6},
+ {1162, 4},
+ {1162, 8},
+ {1162, 2},
+ {1162, 5},
+ {1162, 3},
+ {1162, 3},
+ {1162, 2},
+ {1162, 5},
+ {1162, 2},
+ {1162, 2},
+ {1162, 4},
+ {1330, 2},
+ {1330, 2},
+ {1330, 4},
+ {1333, 0},
+ {1333, 1},
+ {1332, 1},
+ {1332, 3},
+ {1161, 1},
+ {1161, 1},
+ {1161, 2},
+ {1161, 2},
+ {1161, 2},
+ {1161, 1},
+ {1161, 1},
+ {1161, 1},
+ {1161, 1},
+ {1331, 0},
+ {1331, 3},
+ {1365, 0},
+ {1365, 2},
+ {1328, 1},
+ {1328, 1},
+ {1328, 1},
+ {826, 1},
+ {826, 1},
+ {1334, 1},
+ {1334, 1},
+ {1334, 1},
+ {1334, 1},
+ {1334, 3},
+ {1334, 3},
+ {1334, 3},
+ {1334, 3},
+ {1334, 5},
+ {1334, 4},
+ {1334, 5},
+ {1334, 5},
+ {1334, 1},
+ {1334, 5},
+ {1334, 1},
+ {1334, 2},
+ {1334, 2},
+ {1334, 2},
+ {1334, 1},
+ {1334, 2},
+ {1334, 2},
+ {1334, 2},
+ {1334, 2},
+ {1334, 2},
+ {1334, 2},
+ {1334, 2},
+ {1334, 1},
+ {1334, 1},
+ {1334, 1},
+ {1334, 1},
+ {1334, 1},
+ {1334, 1},
+ {1334, 1},
+ {1334, 1},
+ {1334, 1},
+ {1334, 1},
+ {1334, 1},
+ {1334, 2},
+ {1334, 1},
+ {1334, 1},
+ {1334, 1},
+ {1334, 1},
+ {1334, 2},
+ {1329, 0},
+ {1329, 2},
+ {1329, 2},
+ {962, 0},
+ {962, 1},
+ {962, 1},
+ {1342, 0},
+ {1342, 1},
+ {1342, 1},
+ {1342, 1},
+ {1118, 0},
+ {1118, 1},
+ {863, 0},
+ {863, 2},
+ {1163, 2},
+ {1078, 3},
+ {978, 1},
+ {978, 3},
+ {1251, 1},
+ {1251, 1},
+ {1251, 3},
+ {1251, 1},
+ {1251, 2},
+ {1251, 3},
+ {1251, 1},
+ {1280, 0},
+ {1280, 1},
+ {1280, 1},
+ {1280, 1},
+ {1280, 1},
+ {1280, 1},
+ {850, 0},
+ {850, 1},
+ {850, 1},
+ {1178, 0},
+ {1178, 1},
+ {992, 0},
+ {992, 2},
+ {1384, 0},
+ {1384, 3},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {1168, 1},
+ {943, 1},
+ {943, 1},
+ {943, 1},
+ {943, 1},
+ {943, 1},
+ {943, 1},
+ {943, 1},
+ {943, 1},
+ {943, 1},
+ {943, 1},
+ {943, 1},
+ {943, 1},
+ {943, 1},
+ {943, 1},
+ {943, 1},
+ {943, 1},
+ {846, 1},
+ {846, 1},
+ {846, 1},
+ {846, 1},
+ {846, 1},
+ {846, 1},
+ {846, 1},
+ {846, 1},
+ {846, 1},
+ {1341, 1},
+ {1341, 3},
+ {926, 2},
+ {1023, 1},
+ {1023, 1},
+ {991, 1},
+ {991, 1},
+ {1176, 1},
+ {1176, 3},
+ {1352, 0},
+ {1352, 3},
+ {864, 1},
+ {864, 4},
+ {864, 4},
+ {864, 4},
+ {864, 3},
+ {864, 4},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 1},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 3},
+ {864, 2},
+ {864, 2},
+ {864, 3},
+ {864, 3},
+ {864, 5},
+ {864, 3},
+ {864, 7},
+ {864, 3},
+ {864, 3},
+ {857, 0},
+ {857, 1},
+ {1170, 1},
+ {1170, 1},
+ {1042, 0},
+ {1042, 1},
+ {942, 1},
+ {942, 2},
+ {942, 3},
+ {1300, 0},
+ {1300, 1},
+ {1184, 3},
+ {860, 3},
+ {860, 3},
+ {860, 3},
+ {860, 3},
+ {860, 3},
+ {860, 3},
+ {860, 3},
+ {860, 3},
+ {860, 3},
+ {860, 3},
+ {860, 3},
+ {860, 3},
+ {860, 3},
+ {860, 3},
+ {860, 3},
+ {1362, 1},
+ {1362, 1},
+ {1362, 1},
+ {1288, 3},
+ {1288, 2},
+ {1288, 3},
+ {1288, 3},
+ {1288, 2},
+ {1268, 1},
+ {1268, 1},
+ {1268, 1},
+ {1268, 1},
+ {1268, 1},
+ {1268, 1},
+ {1268, 1},
+ {1268, 1},
+ {1268, 1},
+ {1268, 1},
+ {1268, 1},
+ {1217, 1},
+ {1217, 1},
+ {1119, 0},
+ {1119, 1},
+ {1119, 1},
+ {1249, 1},
+ {1249, 1},
+ {1249, 1},
+ {1250, 1},
+ {1250, 1},
+ {1250, 1},
+ {1250, 2},
+ {1215, 1},
+ {1347, 3},
+ {1347, 2},
+ {1347, 3},
+ {1347, 2},
+ {1347, 3},
+ {1347, 3},
+ {1347, 2},
+ {1347, 2},
+ {1347, 1},
+ {1347, 2},
+ {1347, 5},
+ {1347, 5},
+ {1347, 1},
+ {1347, 3},
+ {1347, 2},
+ {924, 1},
+ {924, 1},
+ {1286, 1},
+ {1286, 2},
+ {1286, 2},
+ {1189, 2},
+ {1189, 2},
+ {1189, 1},
+ {1189, 1},
+ {1289, 2},
+ {1289, 2},
+ {1289, 1},
+ {1289, 2},
+ {1289, 2},
+ {1289, 3},
+ {1289, 3},
+ {1289, 2},
+ {1387, 1},
+ {1387, 1},
+ {1216, 1},
+ {1216, 2},
+ {1216, 1},
+ {1216, 1},
+ {1216, 2},
+ {1359, 1},
+ {1359, 2},
+ {1359, 1},
+ {1359, 1},
+ {907, 1},
+ {907, 1},
+ {907, 1},
+ {907, 1},
+ {1234, 1},
+ {1234, 2},
+ {1234, 2},
+ {1234, 2},
+ {1234, 3},
+ {785, 3},
+ {811, 0},
+ {811, 1},
+ {898, 1},
+ {898, 1},
+ {898, 1},
+ {899, 0},
+ {899, 2},
+ {927, 0},
+ {927, 1},
+ {927, 1},
+ {932, 5},
+ {1292, 0},
+ {1292, 1},
+ {820, 0},
+ {820, 2},
+ {820, 3},
+ {1293, 0},
+ {1293, 2},
+ {797, 2},
+ {797, 1},
+ {797, 2},
+ {1117, 0},
+ {1117, 2},
+ {1345, 1},
+ {1345, 3},
+ {993, 1},
+ {993, 1},
+ {993, 1},
+ {1182, 1},
+ {1182, 3},
+ {759, 1},
+ {759, 1},
+ {1346, 1},
+ {1346, 1},
+ {1346, 1},
+ {796, 1},
+ {796, 2},
+ {787, 10},
+ {787, 8},
+ {1188, 2},
+ {813, 2},
+ {814, 0},
+ {814, 1},
+ {1392, 0},
+ {1392, 1},
+ {1043, 9},
+ {1039, 4},
+ {1014, 9},
+ {1014, 9},
+ {1007, 3},
+ {1267, 2},
+ {1267, 6},
+ {913, 2},
+ {945, 1},
+ {945, 3},
+ {1032, 0},
+ {1032, 2},
+ {1228, 1},
+ {1228, 2},
+ {1031, 2},
+ {1031, 2},
+ {1031, 2},
+ {1031, 2},
+ {984, 0},
+ {984, 1},
+ {983, 2},
+ {983, 2},
+ {983, 2},
+ {983, 2},
{1318, 1},
{1318, 3},
- {908, 2},
- {1004, 1},
- {1004, 1},
- {973, 1},
- {973, 1},
- {1153, 1},
- {1153, 3},
- {1329, 0},
- {1329, 3},
- {847, 1},
- {847, 4},
- {847, 4},
- {847, 4},
- {847, 3},
- {847, 4},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 1},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 3},
- {847, 2},
- {847, 2},
- {847, 3},
- {847, 3},
- {847, 5},
- {847, 3},
- {840, 0},
- {840, 1},
- {1147, 1},
- {1147, 1},
- {1022, 0},
- {1022, 1},
- {924, 1},
- {924, 2},
- {924, 3},
- {1277, 0},
- {1277, 1},
- {1161, 3},
- {843, 3},
- {843, 3},
- {843, 3},
- {843, 3},
- {843, 3},
- {843, 3},
- {843, 3},
- {843, 3},
- {843, 3},
- {843, 3},
- {843, 3},
- {843, 3},
- {843, 3},
- {843, 3},
- {843, 3},
- {1339, 1},
- {1339, 1},
- {1339, 1},
- {1265, 3},
- {1265, 2},
- {1265, 3},
- {1265, 3},
- {1265, 2},
- {1245, 1},
- {1245, 1},
- {1245, 1},
- {1245, 1},
- {1245, 1},
- {1245, 1},
- {1245, 1},
- {1245, 1},
- {1245, 1},
- {1245, 1},
- {1245, 1},
- {1193, 1},
- {1193, 1},
- {1099, 0},
- {1099, 1},
- {1099, 1},
- {1226, 1},
- {1226, 1},
- {1226, 1},
- {1227, 1},
- {1227, 1},
- {1227, 1},
- {1227, 2},
- {1191, 1},
- {1324, 3},
- {1324, 2},
- {1324, 3},
- {1324, 2},
- {1324, 3},
- {1324, 3},
- {1324, 2},
- {1324, 2},
- {1324, 1},
- {1324, 2},
- {1324, 5},
- {1324, 5},
- {1324, 1},
- {1324, 3},
- {1324, 2},
- {906, 1},
- {906, 1},
- {1263, 1},
- {1263, 2},
- {1263, 2},
- {1166, 2},
- {1166, 2},
- {1166, 1},
- {1166, 1},
- {1266, 2},
- {1266, 2},
- {1266, 1},
- {1266, 2},
- {1266, 2},
- {1266, 3},
- {1266, 3},
- {1266, 2},
- {1364, 1},
- {1364, 1},
- {1192, 1},
- {1192, 2},
- {1192, 1},
- {1192, 1},
- {1192, 2},
- {1336, 1},
- {1336, 2},
- {1336, 1},
- {1336, 1},
- {888, 1},
- {888, 1},
- {888, 1},
- {888, 1},
+ {1318, 2},
+ {985, 2},
+ {985, 2},
+ {985, 2},
+ {985, 2},
+ {985, 2},
+ {1029, 0},
+ {1029, 2},
+ {1029, 2},
+ {1145, 0},
+ {1145, 3},
+ {1131, 0},
+ {1131, 1},
+ {1130, 1},
+ {1130, 2},
+ {977, 2},
+ {977, 2},
+ {977, 3},
+ {977, 3},
+ {977, 4},
+ {977, 5},
+ {977, 2},
+ {977, 5},
+ {977, 3},
+ {977, 3},
+ {977, 2},
+ {977, 2},
+ {977, 2},
+ {1210, 0},
+ {1210, 3},
+ {1210, 3},
+ {1210, 5},
+ {1210, 5},
+ {1210, 4},
{1211, 1},
- {1211, 2},
- {1211, 2},
- {1211, 2},
- {1211, 3},
- {768, 3},
- {794, 0},
- {794, 1},
- {879, 1},
- {879, 1},
- {879, 1},
- {880, 0},
- {880, 2},
- {909, 0},
- {909, 1},
- {909, 1},
- {914, 5},
- {1269, 0},
- {1269, 1},
- {803, 0},
- {803, 2},
- {803, 3},
- {1270, 0},
- {1270, 2},
- {779, 2},
- {779, 1},
- {779, 2},
- {1097, 0},
- {1097, 2},
- {1322, 1},
- {1322, 3},
- {975, 1},
- {975, 1},
- {975, 1},
- {1159, 1},
- {1159, 3},
- {742, 1},
- {742, 1},
- {1323, 1},
- {1323, 1},
- {1323, 1},
- {778, 1},
- {778, 2},
- {770, 10},
- {770, 8},
- {1165, 2},
- {795, 2},
- {796, 0},
- {796, 1},
- {1369, 0},
- {1369, 1},
- {1023, 8},
- {1019, 4},
- {995, 8},
- {995, 9},
- {989, 3},
- {1244, 2},
- {1244, 6},
- {895, 2},
- {927, 1},
- {927, 3},
- {1013, 0},
- {1013, 2},
- {1205, 1},
- {1205, 2},
- {1012, 2},
- {1012, 2},
- {1012, 2},
- {1012, 2},
- {966, 0},
- {966, 1},
- {965, 2},
- {965, 2},
- {965, 2},
- {965, 2},
- {1295, 1},
- {1295, 3},
- {1295, 2},
- {967, 2},
- {967, 2},
- {967, 2},
- {967, 2},
- {967, 2},
- {1010, 0},
- {1010, 2},
- {1010, 2},
+ {1085, 1},
+ {1085, 1},
+ {1153, 1},
+ {1319, 1},
+ {1319, 3},
+ {868, 1},
+ {868, 1},
+ {868, 1},
+ {868, 1},
+ {868, 1},
+ {868, 1},
+ {868, 1},
+ {868, 1},
+ {1033, 7},
+ {1033, 9},
+ {1050, 5},
+ {1050, 7},
+ {1050, 7},
+ {1156, 5},
+ {1156, 7},
+ {1156, 7},
+ {1083, 9},
+ {1081, 7},
+ {1082, 4},
+ {1195, 0},
+ {1195, 3},
+ {1195, 3},
+ {1195, 3},
+ {1195, 3},
+ {1195, 3},
+ {960, 1},
+ {960, 2},
+ {987, 1},
+ {987, 1},
+ {987, 1},
+ {987, 3},
+ {987, 3},
+ {1152, 1},
+ {1152, 3},
+ {980, 1},
+ {980, 4},
+ {981, 1},
+ {981, 2},
+ {981, 1},
+ {981, 1},
+ {981, 2},
+ {981, 2},
+ {981, 1},
+ {981, 1},
+ {981, 1},
+ {981, 1},
+ {981, 1},
+ {981, 1},
+ {981, 1},
+ {981, 1},
+ {981, 1},
+ {981, 2},
+ {981, 1},
+ {981, 2},
+ {981, 1},
+ {981, 2},
+ {981, 2},
+ {981, 1},
+ {981, 1},
+ {981, 1},
+ {981, 1},
+ {981, 3},
+ {981, 2},
+ {981, 2},
+ {981, 2},
+ {981, 2},
+ {981, 2},
+ {981, 2},
+ {981, 2},
+ {981, 1},
+ {981, 1},
{1111, 0},
{1111, 1},
- {1110, 1},
- {1110, 2},
- {959, 2},
- {959, 2},
- {959, 1},
- {959, 4},
- {959, 2},
- {959, 2},
- {958, 3},
- {1197, 0},
- {1186, 0},
- {1186, 3},
- {1186, 3},
- {1186, 5},
- {1186, 5},
- {1186, 4},
- {1187, 1},
- {1065, 1},
- {1065, 1},
- {1130, 1},
- {1296, 1},
- {1296, 3},
- {851, 1},
- {851, 1},
- {851, 1},
- {851, 1},
- {851, 1},
- {851, 1},
- {851, 1},
- {851, 1},
- {1014, 7},
- {1030, 5},
- {1030, 7},
- {1133, 5},
- {1133, 7},
- {1063, 9},
- {1061, 7},
- {1062, 4},
- {1172, 0},
- {1172, 3},
- {1172, 3},
- {1172, 3},
- {1172, 3},
- {1172, 3},
- {941, 1},
- {941, 2},
- {969, 1},
- {969, 1},
- {969, 1},
- {969, 3},
- {969, 3},
- {1129, 1},
- {1129, 3},
- {962, 1},
- {962, 4},
- {963, 1},
- {963, 2},
- {963, 1},
- {963, 1},
- {963, 2},
- {963, 2},
- {963, 1},
- {963, 1},
- {963, 1},
- {963, 1},
- {963, 1},
- {963, 1},
- {963, 1},
- {963, 1},
- {963, 1},
- {963, 2},
- {963, 1},
- {963, 2},
- {963, 1},
- {963, 2},
- {963, 2},
- {963, 1},
- {963, 1},
- {963, 1},
- {963, 1},
- {963, 3},
- {963, 2},
- {963, 2},
- {963, 2},
- {963, 2},
- {963, 2},
- {963, 2},
- {963, 2},
- {963, 1},
- {963, 1},
- {1091, 0},
- {1091, 1},
- {1091, 1},
- {1091, 1},
- {1115, 1},
- {1115, 3},
- {1115, 3},
- {1115, 3},
- {1115, 1},
- {1128, 7},
- {1127, 4},
- {863, 15},
- {1237, 0},
- {1237, 3},
- {1196, 0},
- {1196, 3},
- {1083, 0},
- {1083, 1},
- {1053, 0},
- {1053, 2},
- {839, 1},
- {839, 1},
- {1222, 2},
- {1222, 1},
- {1052, 3},
- {1052, 4},
- {1052, 3},
- {1052, 3},
- {857, 1},
- {857, 1},
- {857, 1},
- {949, 0},
- {949, 3},
- {1316, 0},
- {1316, 3},
- {1253, 0},
- {1253, 3},
- {1255, 0},
- {1255, 2},
- {1254, 3},
- {1254, 1},
- {1081, 3},
- {1163, 2},
- {1086, 3},
- {1157, 1},
- {1157, 1},
- {1154, 2},
- {1256, 1},
- {1256, 2},
- {1256, 1},
- {1256, 2},
- {1330, 1},
- {1330, 3},
- {1088, 6},
- {1304, 1},
- {1304, 1},
- {1304, 1},
- {1214, 0},
- {1214, 2},
- {1214, 3},
- {1275, 0},
- {1275, 2},
- {1077, 2},
- {1077, 3},
- {1077, 3},
- {1077, 2},
- {1076, 1},
- {1076, 2},
- {1082, 3},
- {1085, 3},
- {1162, 3},
- {1034, 5},
- {1018, 7},
- {991, 6},
- {1020, 6},
- {1207, 0},
- {1207, 1},
- {1301, 1},
- {1301, 2},
- {918, 3},
- {918, 3},
- {918, 3},
- {918, 3},
- {918, 3},
- {918, 1},
- {918, 2},
- {918, 3},
- {918, 1},
- {918, 2},
- {918, 3},
- {918, 1},
- {918, 2},
- {918, 1},
- {918, 1},
- {918, 2},
- {819, 1},
- {819, 2},
- {819, 2},
- {1036, 4},
- {993, 5},
- {1178, 1},
- {1178, 2},
- {992, 1},
- {992, 1},
- {992, 3},
- {992, 3},
- {1068, 8},
- {1261, 0},
- {1261, 2},
+ {1111, 1},
+ {1111, 1},
+ {1135, 1},
+ {1135, 3},
+ {1135, 3},
+ {1135, 3},
+ {1135, 1},
+ {1151, 7},
+ {1150, 4},
+ {880, 15},
{1260, 0},
{1260, 3},
- {1288, 0},
- {1288, 2},
- {1287, 0},
- {1287, 2},
- {1044, 1},
- {981, 1},
- {981, 3},
- {917, 2},
- {1113, 5},
- {1113, 6},
- {1113, 9},
- {1113, 10},
- {1113, 5},
- {1113, 6},
- {1113, 4},
+ {1220, 0},
+ {1220, 3},
+ {1103, 0},
+ {1103, 1},
+ {1073, 0},
+ {1073, 2},
+ {856, 1},
+ {856, 1},
+ {1245, 2},
+ {1245, 1},
+ {1072, 3},
+ {1072, 4},
+ {1072, 3},
+ {1072, 3},
+ {874, 1},
+ {874, 1},
+ {874, 1},
+ {968, 0},
+ {968, 3},
+ {1339, 0},
+ {1339, 3},
+ {1276, 0},
+ {1276, 3},
+ {1278, 0},
+ {1278, 2},
+ {1277, 3},
+ {1277, 1},
+ {1101, 3},
+ {1186, 2},
+ {1106, 3},
+ {1180, 1},
+ {1180, 1},
+ {1177, 2},
+ {1279, 1},
+ {1279, 2},
+ {1279, 1},
+ {1279, 2},
+ {1353, 1},
+ {1353, 3},
+ {1108, 6},
+ {1327, 1},
+ {1327, 1},
+ {1327, 1},
+ {1327, 1},
+ {1237, 0},
+ {1237, 2},
+ {1237, 3},
+ {1298, 0},
+ {1298, 2},
+ {1097, 2},
+ {1097, 3},
+ {1097, 3},
+ {1097, 2},
+ {1096, 1},
+ {1096, 2},
+ {1102, 3},
+ {1105, 3},
+ {1185, 3},
+ {1054, 5},
+ {1038, 6},
+ {1010, 6},
+ {1054, 5},
+ {1037, 7},
+ {1009, 6},
+ {1040, 6},
+ {1230, 0},
+ {1230, 1},
+ {1324, 1},
+ {1324, 2},
+ {936, 3},
+ {936, 3},
+ {936, 3},
+ {936, 3},
+ {936, 3},
+ {936, 1},
+ {936, 2},
+ {936, 3},
+ {936, 1},
+ {936, 2},
+ {936, 3},
+ {936, 1},
+ {936, 2},
+ {936, 1},
+ {936, 1},
+ {936, 2},
+ {837, 1},
+ {837, 2},
+ {837, 2},
+ {1056, 4},
+ {1012, 5},
+ {1201, 1},
+ {1201, 2},
+ {1011, 1},
+ {1011, 1},
+ {1011, 3},
+ {1011, 3},
+ {1088, 8},
+ {1284, 0},
+ {1284, 2},
+ {1283, 0},
+ {1283, 3},
+ {1311, 0},
+ {1311, 2},
+ {1310, 0},
+ {1310, 2},
+ {1064, 1},
+ {999, 1},
+ {999, 3},
+ {935, 2},
+ {1133, 5},
+ {1133, 6},
+ {1133, 9},
+ {1133, 10},
+ {1133, 5},
+ {1133, 6},
+ {1133, 4},
+ {1133, 5},
}
yyXErrors = map[yyXError]string{}
- yyParseTab = [4367][]uint16{
+ yyParseTab = [4477][]uint16{
// 0
- {2062, 2062, 2564, 51: 2588, 72: 2711, 74: 2567, 83: 2599, 150: 2569, 157: 2597, 2582, 161: 2566, 175: 2593, 212: 2618, 217: 2724, 220: 2562, 228: 2617, 2584, 2720, 2568, 246: 2596, 251: 2572, 256: 2594, 258: 2563, 261: 2600, 279: 2586, 283: 2585, 290: 2598, 293: 2587, 305: 2577, 476: 2608, 2607, 498: 2606, 500: 2719, 507: 2592, 509: 2616, 528: 2714, 532: 2580, 570: 2591, 572: 2605, 649: 2601, 652: 2723, 656: 2565, 2713, 668: 2560, 672: 2571, 677: 2570, 683: 2615, 690: 2561, 713: 2612, 743: 2573, 752: 2614, 2602, 2603, 2604, 2613, 760: 2611, 2610, 2609, 2576, 2691, 2690, 770: 2712, 2574, 777: 2670, 2702, 780: 2683, 783: 2575, 788: 2634, 804: 2583, 810: 2622, 814: 2717, 849: 2628, 2629, 854: 2632, 858: 2715, 863: 2673, 865: 2685, 867: 2680, 2689, 2692, 2589, 936: 2641, 940: 2578, 978: 2718, 985: 2620, 987: 2621, 2624, 2625, 991: 2627, 993: 2626, 995: 2623, 997: 2630, 2631, 1000: 2590, 2669, 1003: 2637, 1014: 2645, 2638, 2639, 2640, 2646, 2644, 2647, 2648, 1023: 2643, 2642, 1026: 2633, 2595, 2579, 2649, 2661, 2650, 2651, 2652, 2654, 2658, 2655, 2659, 2660, 2653, 2657, 2656, 1043: 2619, 1047: 2635, 1049: 2636, 2581, 1054: 2665, 2663, 1057: 2664, 2662, 1061: 2667, 2668, 2666, 1067: 2708, 2671, 1075: 2722, 2721, 2672, 1082: 2674, 1085: 2675, 2705, 1088: 2709, 1113: 2677, 2678, 1116: 2679, 1118: 2684, 1121: 2681, 2682, 1124: 2707, 2686, 2716, 2688, 2687, 1133: 2693, 1135: 2695, 2694, 2698, 1139: 2699, 1141: 2706, 1144: 2696, 2710, 1149: 2697, 1160: 2700, 2701, 2676, 2704, 1165: 2703, 1315: 2558, 1318: 2559},
- {2557},
- {2556, 6922},
- {18: 6873, 140: 6870, 172: 6871, 198: 6874, 265: 6872, 492: 4217, 572: 1873, 585: 6201, 838: 6869, 859: 4216},
- {172: 6854, 572: 6853},
+ {2101, 2101, 2617, 57: 2641, 78: 2766, 80: 2620, 89: 2652, 161: 2622, 168: 2650, 2635, 173: 2619, 186: 2646, 203: 2779, 225: 2671, 232: 2615, 240: 2670, 2637, 2775, 2621, 258: 2649, 263: 2625, 268: 2647, 270: 2616, 273: 2653, 291: 2639, 295: 2638, 302: 2651, 305: 2640, 318: 2630, 491: 2661, 493: 2660, 514: 2659, 517: 2774, 521: 2645, 525: 2669, 543: 2769, 547: 2633, 586: 2644, 2658, 664: 2654, 667: 2778, 672: 2618, 2768, 681: 2613, 689: 2624, 694: 2623, 700: 2668, 707: 2614, 730: 2665, 760: 2626, 769: 2667, 2655, 2656, 2657, 2666, 777: 2664, 2663, 2662, 2629, 2746, 2745, 787: 2767, 2627, 794: 2725, 2738, 2757, 801: 2628, 806: 2688, 821: 2636, 828: 2675, 832: 2772, 866: 2682, 2683, 871: 2686, 875: 2770, 880: 2728, 883: 2740, 885: 2735, 2744, 2747, 2642, 954: 2695, 959: 2631, 996: 2773, 1003: 2673, 1005: 2674, 2677, 2678, 1009: 2680, 2681, 1012: 2679, 1014: 2676, 1016: 2684, 2685, 1019: 2643, 2724, 1022: 2691, 1033: 2699, 2692, 2693, 2694, 2700, 2701, 2698, 2702, 2703, 1043: 2697, 2696, 1046: 2687, 2648, 2632, 2704, 2716, 2705, 2706, 2707, 2709, 2713, 2710, 2714, 2715, 2708, 2712, 2711, 1063: 2672, 1067: 2689, 1069: 2690, 2634, 1074: 2720, 2718, 1077: 2719, 2717, 1081: 2722, 2723, 2721, 1087: 2763, 2726, 1095: 2777, 2776, 2727, 1102: 2729, 1105: 2730, 2760, 1108: 2764, 1133: 2732, 2733, 1136: 2734, 1138: 2739, 1141: 2736, 2737, 1147: 2762, 2741, 2771, 2743, 2742, 1156: 2748, 1158: 2750, 2749, 2753, 1162: 2754, 1164: 2761, 1167: 2751, 2765, 1172: 2752, 1183: 2755, 2756, 2731, 2759, 1188: 2758, 1338: 2611, 1341: 2612},
+ {2610},
+ {2609, 7085},
+ {18: 7031, 51: 7030, 151: 7027, 183: 7028, 210: 7032, 277: 7029, 507: 4296, 587: 1910, 601: 6303, 855: 7026, 876: 4295},
+ {183: 7011, 587: 7010},
// 5
- {572: 6847},
- {327: 6831, 572: 6832, 585: 6201, 838: 6833},
- {381: 6812, 491: 6813, 572: 2400, 1313: 6811},
- {352: 6767, 572: 6766},
- {2368, 2368, 368: 6765, 375: 6764},
+ {587: 7004},
+ {339: 6988, 587: 6989, 601: 6303, 855: 6990},
+ {393: 6969, 506: 6970, 587: 2444, 1336: 6968},
+ {363: 6924, 587: 6923},
+ {2412, 2412, 380: 6922, 387: 6921},
// 10
- {405: 6753},
- {478: 6752},
- {2335, 2335, 73: 6030, 510: 6028, 804: 6029, 1011: 6751},
- {18: 2112, 84: 2112, 104: 2112, 140: 6523, 145: 2112, 162: 610, 164: 6460, 169: 5629, 172: 6524, 176: 6525, 198: 6527, 6164, 223: 6515, 512: 6522, 572: 2081, 585: 6201, 645: 6517, 652: 2217, 671: 2112, 679: 6519, 838: 6520, 943: 6526, 955: 5628, 1240: 6516, 1281: 6521, 1312: 6518},
- {18: 6467, 104: 6461, 126: 2081, 140: 6465, 162: 610, 164: 6460, 169: 5629, 172: 6462, 175: 1048, 6463, 198: 6468, 6164, 201: 6464, 223: 6456, 572: 2081, 585: 6201, 652: 6458, 838: 6457, 943: 6466, 955: 6459},
+ {418: 6910},
+ {492: 6909},
+ {2379, 2379, 79: 6132, 526: 6130, 821: 6131, 1030: 6908},
+ {18: 2151, 51: 6638, 90: 2151, 110: 2151, 151: 6634, 156: 2151, 174: 630, 176: 6563, 181: 5728, 183: 6635, 187: 6636, 210: 6639, 6266, 235: 6626, 527: 6633, 587: 2120, 601: 6303, 661: 6628, 667: 2257, 684: 2151, 696: 6630, 855: 6631, 962: 6637, 974: 5727, 1263: 6627, 1304: 6632, 1335: 6629},
+ {18: 6570, 51: 6571, 110: 6564, 137: 2120, 151: 6568, 174: 630, 176: 6563, 181: 5728, 183: 6565, 186: 1068, 6566, 210: 6572, 6266, 213: 6567, 235: 6559, 587: 2120, 601: 6303, 667: 6561, 855: 6560, 962: 6569, 974: 6562},
// 15
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3614, 782: 6455},
- {2: 867, 867, 867, 867, 867, 867, 867, 10: 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 51: 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 492: 867, 503: 867, 757: 867, 867, 867, 766: 5436, 871: 5437, 923: 6443},
- {2089, 2089},
- {2088, 2088},
- {476: 2608, 498: 2606, 572: 2605, 649: 2601, 657: 2713, 713: 3914, 743: 2573, 752: 3913, 2602, 2603, 2604, 2613, 760: 2611, 3915, 3916, 770: 5217, 5215, 783: 5216},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3687, 800: 6558},
+ {2: 887, 887, 887, 887, 887, 887, 887, 10: 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 57: 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 507: 887, 519: 887, 774: 887, 887, 887, 784: 5535, 889: 5536, 941: 6546},
+ {2128, 2128},
+ {2127, 2127},
+ {491: 2661, 514: 2659, 587: 2658, 664: 2654, 673: 2768, 730: 3989, 760: 2626, 769: 3988, 2655, 2656, 2657, 2666, 777: 2664, 3990, 3991, 787: 5316, 5314, 801: 5315},
// 20
- {74: 2567, 150: 2569, 157: 2597, 2582, 161: 2566, 217: 6416, 259: 6415, 476: 2608, 2607, 498: 2606, 507: 2592, 509: 6419, 570: 2591, 572: 2605, 649: 2601, 656: 2565, 2713, 713: 6417, 743: 2573, 752: 6418, 2602, 2603, 2604, 2613, 760: 2611, 2610, 2609, 2576, 6425, 6424, 770: 2712, 2574, 777: 6422, 6421, 780: 6423, 783: 2575, 788: 6420, 804: 2583, 814: 6434, 849: 6433, 6427, 854: 6428, 863: 6426, 865: 6430, 867: 6431, 6429, 6432, 925: 6414},
- {2: 2057, 2057, 2057, 2057, 2057, 2057, 2057, 10: 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 51: 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 476: 2057, 2057, 497: 2057, 2057, 507: 2057, 570: 2057, 572: 2057, 649: 2057, 656: 2057, 2057, 668: 2057, 743: 2057},
- {2: 2056, 2056, 2056, 2056, 2056, 2056, 2056, 10: 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 51: 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 476: 2056, 2056, 497: 2056, 2056, 507: 2056, 570: 2056, 572: 2056, 649: 2056, 656: 2056, 2056, 668: 2056, 743: 2056},
- {2: 2055, 2055, 2055, 2055, 2055, 2055, 2055, 10: 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 51: 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 476: 2055, 2055, 497: 2055, 2055, 507: 2055, 570: 2055, 572: 2055, 649: 2055, 656: 2055, 2055, 668: 2055, 743: 2055},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 6384, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 2608, 2607, 497: 6383, 2606, 507: 2592, 570: 2591, 572: 2605, 649: 2601, 656: 6385, 2713, 664: 3947, 2785, 2786, 2784, 2730, 713: 2731, 740: 6381, 743: 2573, 752: 2732, 2602, 2603, 2604, 2613, 760: 2611, 2610, 2609, 2576, 2738, 2737, 770: 2712, 2574, 777: 2735, 2734, 780: 2736, 783: 2575, 788: 2733, 810: 2739, 829: 6382},
+ {80: 2620, 161: 2622, 168: 2650, 2635, 173: 2619, 203: 6519, 271: 6518, 491: 2661, 493: 2660, 514: 2659, 521: 2645, 525: 6522, 586: 2644, 2658, 664: 2654, 672: 2618, 2768, 730: 6520, 760: 2626, 769: 6521, 2655, 2656, 2657, 2666, 777: 2664, 2663, 2662, 2629, 6528, 6527, 787: 2767, 2627, 794: 6525, 6526, 6524, 801: 2628, 806: 6523, 821: 2636, 832: 6537, 866: 6536, 6530, 871: 6531, 880: 6529, 883: 6533, 885: 6534, 6532, 6535, 943: 6517},
+ {2: 2096, 2096, 2096, 2096, 2096, 2096, 2096, 10: 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 57: 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 2096, 491: 2096, 493: 2096, 512: 2096, 514: 2096, 521: 2096, 586: 2096, 2096, 664: 2096, 672: 2096, 2096, 681: 2096, 760: 2096},
+ {2: 2095, 2095, 2095, 2095, 2095, 2095, 2095, 10: 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 57: 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 2095, 491: 2095, 493: 2095, 512: 2095, 514: 2095, 521: 2095, 586: 2095, 2095, 664: 2095, 672: 2095, 2095, 681: 2095, 760: 2095},
+ {2: 2094, 2094, 2094, 2094, 2094, 2094, 2094, 10: 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 57: 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 491: 2094, 493: 2094, 512: 2094, 514: 2094, 521: 2094, 586: 2094, 2094, 664: 2094, 672: 2094, 2094, 681: 2094, 760: 2094},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 6486, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 2661, 493: 2660, 512: 6485, 514: 2659, 521: 2645, 586: 2644, 2658, 664: 2654, 672: 6487, 2768, 681: 2788, 685: 4022, 2843, 2844, 2842, 730: 2789, 758: 6483, 760: 2626, 769: 2790, 2655, 2656, 2657, 2666, 777: 2664, 2663, 2662, 2629, 2796, 2795, 787: 2767, 2627, 794: 2793, 2794, 2792, 801: 2628, 806: 2791, 828: 2797, 846: 6484},
// 25
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 6380, 2785, 2786, 2784},
- {158: 6378},
- {572: 6296, 585: 6201, 838: 6295, 999: 6374},
- {572: 6296, 585: 6201, 838: 6295, 999: 6294},
- {140: 6292},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 6482, 2843, 2844, 2842},
+ {169: 6480},
+ {587: 6398, 601: 6303, 855: 6397, 1018: 6476},
+ {587: 6398, 601: 6303, 855: 6397, 1018: 6396},
+ {151: 6394},
// 30
- {140: 6287},
- {140: 6281},
- {16: 3862, 18: 6125, 30: 6154, 6153, 103: 603, 112: 603, 126: 603, 610, 140: 6114, 144: 610, 164: 6163, 183: 6138, 192: 6123, 199: 6164, 204: 610, 213: 6165, 218: 6148, 603, 253: 6145, 278: 6144, 309: 6137, 315: 6160, 317: 6142, 320: 6124, 328: 6140, 6158, 331: 6131, 339: 6129, 341: 6147, 345: 6135, 347: 6146, 6118, 6157, 351: 6162, 353: 6127, 360: 6119, 367: 6133, 377: 6122, 6121, 384: 6161, 388: 6149, 391: 6155, 6152, 6156, 6151, 406: 6141, 508: 3863, 572: 6117, 596: 6136, 650: 3861, 652: 6126, 656: 6159, 677: 6116, 779: 6132, 919: 6150, 943: 6139, 948: 6128, 964: 6143, 1025: 6130, 1098: 6120, 1305: 6134, 1311: 6115},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 6103, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 6105, 2785, 2786, 2784, 1291: 6104},
- {2: 867, 867, 867, 867, 867, 867, 867, 10: 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 51: 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 492: 867, 499: 867, 757: 867, 867, 867, 766: 5436, 871: 5437, 923: 6090},
+ {151: 6389},
+ {151: 6383},
+ {16: 3935, 18: 6227, 30: 6256, 6255, 109: 623, 136: 623, 623, 630, 151: 6216, 155: 630, 176: 6265, 194: 6240, 204: 6225, 211: 6266, 216: 630, 226: 6267, 230: 6250, 623, 265: 6247, 290: 6246, 322: 6239, 328: 6262, 330: 6244, 333: 6226, 340: 6242, 6260, 343: 6233, 351: 6231, 353: 6249, 357: 6237, 359: 6248, 6220, 6259, 6264, 364: 6229, 371: 6221, 379: 6235, 389: 6224, 6223, 396: 6263, 401: 6251, 404: 6257, 6254, 6258, 6253, 419: 6243, 513: 3936, 587: 6219, 614: 6238, 666: 3934, 6228, 672: 6261, 694: 6218, 797: 6234, 937: 6252, 962: 6241, 967: 6230, 982: 6245, 1045: 6232, 1118: 6222, 1328: 6236, 1334: 6217},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 6205, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 6207, 2843, 2844, 2842, 1314: 6206},
+ {2: 887, 887, 887, 887, 887, 887, 887, 10: 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 57: 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 507: 887, 515: 887, 774: 887, 887, 887, 784: 5535, 889: 5536, 941: 6192},
// 35
- {2: 1071, 1071, 1071, 1071, 1071, 1071, 1071, 10: 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 51: 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 499: 1071, 757: 5441, 5440, 5439, 842: 5442, 891: 6056},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 6051, 2785, 2786, 2784},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 6045, 2785, 2786, 2784},
- {175: 6043},
- {175: 1049},
+ {2: 1091, 1091, 1091, 1091, 1091, 1091, 1091, 10: 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 57: 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 515: 1091, 774: 5540, 5539, 5538, 859: 5541, 909: 6158},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 6153, 2843, 2844, 2842},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 6147, 2843, 2844, 2842},
+ {186: 6145},
+ {186: 1069},
// 40
- {1047, 1047, 73: 6030, 510: 6028, 653: 6027, 804: 6029, 1011: 6026},
- {1036, 1036},
- {1035, 1035},
- {478: 6025},
- {2: 872, 872, 872, 872, 872, 872, 872, 10: 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 51: 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 5995, 6001, 6002, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 476: 872, 478: 872, 872, 872, 482: 872, 485: 872, 872, 488: 872, 872, 872, 495: 872, 498: 872, 507: 872, 872, 511: 872, 518: 5998, 523: 872, 533: 872, 567: 872, 570: 872, 872, 573: 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 585: 872, 872, 872, 872, 872, 872, 872, 872, 595: 872, 872, 598: 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 651: 872, 654: 3572, 749: 3570, 3571, 757: 5441, 5440, 5439, 766: 5436, 774: 5994, 5997, 5993, 789: 5916, 792: 5991, 842: 5992, 871: 5990, 1131: 6000, 5996, 1299: 5989, 5999},
+ {1067, 1067, 79: 6132, 526: 6130, 669: 6129, 821: 6131, 1030: 6128},
+ {1056, 1056},
+ {1055, 1055},
+ {492: 6127},
+ {2: 892, 892, 892, 892, 892, 892, 892, 10: 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 57: 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 6097, 6103, 6104, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 491: 892, 892, 494: 892, 892, 892, 501: 892, 892, 892, 892, 892, 509: 892, 513: 892, 892, 521: 892, 524: 892, 533: 6100, 540: 892, 548: 892, 582: 892, 586: 892, 588: 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 600: 892, 892, 892, 892, 892, 892, 607: 892, 892, 892, 892, 892, 613: 892, 892, 616: 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 668: 892, 670: 3645, 766: 3643, 3644, 774: 5540, 5539, 5538, 784: 5535, 791: 6096, 6099, 6095, 807: 6018, 809: 6093, 859: 6094, 889: 6092, 1154: 6102, 6098, 1322: 6091, 6101},
// 45
- {257, 257, 50: 257, 475: 257, 477: 257, 483: 257, 257, 493: 257, 257, 496: 257, 257, 499: 257, 257, 2745, 503: 5964, 257, 257, 516: 257, 795: 2746, 5965, 1229: 5963},
- {862, 862, 50: 862, 475: 862, 477: 862, 483: 862, 862, 493: 862, 862, 496: 862, 862, 499: 862, 862, 504: 862, 862, 516: 5954, 944: 5956, 970: 5955},
- {1311, 1311, 50: 1311, 475: 1311, 477: 1311, 483: 1311, 1311, 493: 1311, 1311, 496: 1311, 1311, 499: 1311, 1311, 504: 1311, 2748, 772: 2749, 817: 5950},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 5945},
- {578: 3922, 917: 3921, 981: 3920},
+ {272, 272, 56: 272, 490: 272, 493: 272, 499: 272, 272, 508: 272, 510: 272, 272, 272, 515: 272, 517: 272, 2803, 6066, 272, 522: 272, 531: 272, 813: 2804, 6067, 1252: 6065},
+ {882, 882, 56: 882, 490: 882, 493: 882, 499: 882, 882, 508: 882, 510: 882, 882, 882, 515: 882, 517: 882, 520: 882, 522: 882, 531: 6056, 963: 6058, 988: 6057},
+ {1333, 1333, 56: 1333, 490: 1333, 493: 1333, 499: 1333, 1333, 508: 1333, 510: 1333, 1333, 1333, 515: 1333, 517: 1333, 520: 1333, 522: 2806, 789: 2807, 835: 6052},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 6047},
+ {594: 3997, 935: 3996, 999: 3995},
// 50
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 5932, 2785, 2786, 2784, 935: 5931, 1173: 5929, 1292: 5930},
- {476: 2608, 2607, 498: 2606, 572: 2605, 649: 2601, 713: 5928, 752: 3907, 2602, 2603, 2604, 2613, 760: 2611, 2610, 2609, 3906, 3909, 3908},
- {843, 843, 50: 843, 475: 843, 477: 843, 484: 843},
- {842, 842, 50: 842, 475: 842, 477: 842, 484: 842},
- {483: 5913, 493: 5914, 5915, 1302: 5912},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 6034, 2843, 2844, 2842, 953: 6033, 1196: 6031, 1315: 6032},
+ {491: 2661, 493: 2660, 514: 2659, 587: 2658, 664: 2654, 730: 6030, 769: 3982, 2655, 2656, 2657, 2666, 777: 2664, 2663, 2662, 3981, 3984, 3983},
+ {863, 863, 56: 863, 490: 863, 493: 863, 500: 863},
+ {862, 862, 56: 862, 490: 862, 493: 862, 500: 862},
+ {499: 6015, 508: 6016, 510: 6017, 1325: 6014},
// 55
- {499, 499, 483: 828, 493: 828, 828, 496: 2751, 504: 2752, 2748, 772: 3917, 3918},
- {483: 831, 493: 831, 831},
- {501, 501, 483: 829, 493: 829, 829},
- {253: 5897, 278: 5896},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 5738, 5733, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 5736, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 5742, 2831, 5735, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 5739, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 5740, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 5734, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 5743, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 5741, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 5737, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 482: 5745, 508: 3863, 571: 5749, 590: 5748, 650: 3861, 664: 5746, 2785, 2786, 2784, 779: 5750, 835: 5747, 983: 5751, 1167: 5744},
+ {517, 517, 499: 848, 508: 848, 510: 848, 2809, 520: 2810, 522: 2806, 789: 3992, 3993},
+ {499: 851, 508: 851, 510: 851},
+ {519, 519, 499: 849, 508: 849, 510: 849},
+ {265: 5999, 290: 5998},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 5837, 5832, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 5835, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 5841, 2889, 5834, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 5838, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 5839, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 5833, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 5842, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 5840, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 5836, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 495: 5844, 513: 3936, 588: 5848, 609: 5847, 666: 3934, 685: 5845, 2843, 2844, 2842, 797: 5849, 852: 5846, 1001: 5850, 1190: 5843},
// 60
- {17: 5606, 212: 5611, 218: 5609, 220: 5604, 5610, 282: 5608, 321: 5607, 5612, 325: 5605, 342: 5613, 383: 5614, 593: 5603, 870: 5602},
- {22: 582, 126: 582, 582, 141: 4776, 148: 582, 192: 582, 200: 582, 211: 582, 225: 582, 238: 582, 260: 582, 263: 582, 533: 582, 572: 582, 816: 4775, 833: 5575},
+ {17: 5705, 225: 5710, 230: 5708, 232: 5703, 5709, 248: 5711, 294: 5707, 334: 5706, 337: 5704, 354: 5712, 395: 5713, 606: 5702, 888: 5701},
+ {22: 602, 137: 602, 602, 152: 4873, 159: 602, 204: 602, 212: 602, 224: 602, 237: 602, 251: 602, 272: 602, 275: 602, 548: 602, 587: 602, 834: 4872, 850: 5674},
+ {593, 593},
+ {592, 592},
+ {591, 591},
+ // 65
+ {590, 590},
+ {589, 589},
+ {588, 588},
+ {587, 587},
+ {586, 586},
+ // 70
+ {585, 585},
+ {584, 584},
+ {583, 583},
+ {582, 582},
+ {581, 581},
+ // 75
+ {580, 580},
+ {579, 579},
+ {578, 578},
+ {577, 577},
+ {576, 576},
+ // 80
+ {575, 575},
+ {574, 574},
{573, 573},
{572, 572},
{571, 571},
- // 65
+ // 85
{570, 570},
{569, 569},
{568, 568},
{567, 567},
{566, 566},
- // 70
+ // 90
{565, 565},
{564, 564},
{563, 563},
{562, 562},
{561, 561},
- // 75
+ // 95
{560, 560},
{559, 559},
{558, 558},
{557, 557},
{556, 556},
- // 80
+ // 100
{555, 555},
{554, 554},
{553, 553},
{552, 552},
{551, 551},
- // 85
+ // 105
{550, 550},
{549, 549},
{548, 548},
{547, 547},
{546, 546},
- // 90
+ // 110
{545, 545},
{544, 544},
{543, 543},
{542, 542},
{541, 541},
- // 95
+ // 115
{540, 540},
{539, 539},
{538, 538},
{537, 537},
{536, 536},
- // 100
+ // 120
{535, 535},
{534, 534},
{533, 533},
{532, 532},
{531, 531},
- // 105
+ // 125
{530, 530},
{529, 529},
{528, 528},
{527, 527},
{526, 526},
- // 110
+ // 130
{525, 525},
{524, 524},
{523, 523},
{522, 522},
{521, 521},
- // 115
+ // 135
{520, 520},
- {519, 519},
{518, 518},
- {517, 517},
{516, 516},
- // 120
{515, 515},
{514, 514},
+ // 140
{513, 513},
{512, 512},
{511, 511},
- // 125
{510, 510},
{509, 509},
+ // 145
{508, 508},
{507, 507},
{506, 506},
- // 130
{505, 505},
{504, 504},
+ // 150
{503, 503},
{502, 502},
+ {501, 501},
{500, 500},
- // 135
- {498, 498},
- {497, 497},
- {496, 496},
- {495, 495},
- {494, 494},
- // 140
- {493, 493},
- {492, 492},
- {491, 491},
- {490, 490},
- {489, 489},
- // 145
- {488, 488},
- {487, 487},
- {486, 486},
- {485, 485},
- {484, 484},
- // 150
- {483, 483},
- {482, 482},
- {481, 481},
- {455, 455},
- {2: 401, 401, 401, 401, 401, 401, 401, 10: 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 51: 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 572: 5572, 1277: 5573},
+ {499, 499},
// 155
- {263, 263, 484: 263},
- {2: 867, 867, 867, 867, 867, 867, 867, 10: 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 51: 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 476: 867, 492: 867, 582: 867, 757: 867, 867, 867, 766: 5436, 871: 5437, 923: 5438},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 5434, 2785, 2786, 2784, 813: 5435},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 5277, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 5279, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 5285, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 5281, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 5278, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 5286, 3232, 2956, 3184, 5280, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 5283, 5387, 2868, 3107, 5284, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 5282, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 5288, 500: 5311, 570: 5305, 647: 5309, 649: 5294, 652: 5304, 654: 5298, 657: 5307, 664: 3517, 2785, 2786, 2784, 5299, 672: 5303, 677: 5300, 742: 5287, 5302, 805: 5289, 814: 5293, 858: 5308, 870: 5306, 941: 5290, 962: 5291, 5297, 968: 5292, 5295, 977: 5301, 979: 5310, 1129: 5388},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 5277, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 5279, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 5285, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 5281, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 5278, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 5286, 3232, 2956, 3184, 5280, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 5283, 2867, 2868, 3107, 5284, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 5282, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 5288, 500: 5311, 570: 5305, 647: 5309, 649: 5294, 652: 5304, 654: 5298, 657: 5307, 664: 3517, 2785, 2786, 2784, 5299, 672: 5303, 677: 5300, 742: 5287, 5302, 805: 5289, 814: 5293, 858: 5308, 870: 5306, 941: 5290, 962: 5291, 5297, 968: 5292, 5295, 977: 5301, 979: 5310, 1129: 5296},
+ {473, 473},
+ {2: 416, 416, 416, 416, 416, 416, 416, 10: 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 57: 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 587: 5671, 1300: 5672},
+ {278, 278, 500: 278},
+ {2: 887, 887, 887, 887, 887, 887, 887, 10: 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 57: 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, 491: 887, 507: 887, 600: 887, 774: 887, 887, 887, 784: 5535, 889: 5536, 941: 5537},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 5533, 2843, 2844, 2842, 831: 5534},
// 160
- {23: 5236, 201: 5237},
- {126: 5219, 201: 5234, 572: 5220, 1157: 5233},
- {126: 5219, 201: 5221, 572: 5220, 1157: 5218},
- {475: 5202, 496: 66, 1275: 5201},
- {28: 5196, 130: 4735, 142: 5197, 476: 5194, 511: 2759, 737: 5195, 904: 5198},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 5376, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 5378, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 5384, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 5380, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 5377, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 5385, 3300, 3015, 3252, 5379, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 5382, 5486, 2926, 3167, 5383, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 5381, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 5387, 517: 5410, 586: 5404, 663: 5408, 5393, 667: 5403, 670: 5397, 673: 5406, 681: 5398, 685: 3590, 2843, 2844, 2842, 5402, 694: 5399, 759: 5386, 5401, 822: 5388, 832: 5392, 875: 5407, 888: 5405, 960: 5389, 980: 5390, 5396, 986: 5391, 5394, 995: 5400, 997: 5409, 1152: 5487},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 5376, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 5378, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 5384, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 5380, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 5377, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 5385, 3300, 3015, 3252, 5379, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 5382, 2925, 2926, 3167, 5383, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 5381, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 5387, 517: 5410, 586: 5404, 663: 5408, 5393, 667: 5403, 670: 5397, 673: 5406, 681: 5398, 685: 3590, 2843, 2844, 2842, 5402, 694: 5399, 759: 5386, 5401, 822: 5388, 832: 5392, 875: 5407, 888: 5405, 960: 5389, 980: 5390, 5396, 986: 5391, 5394, 995: 5400, 997: 5409, 1152: 5395},
+ {23: 5335, 213: 5336},
+ {137: 5318, 213: 5333, 587: 5319, 1180: 5332},
+ {137: 5318, 213: 5320, 587: 5319, 1180: 5317},
// 165
- {28: 60, 130: 60, 142: 60, 225: 5193, 476: 60, 511: 60},
- {311: 5176},
- {382: 2725},
- {337: 2726, 814: 2727},
- {940: 2729},
+ {490: 5300, 511: 70, 1298: 5299},
+ {28: 5294, 141: 4832, 153: 5295, 491: 5292, 524: 2817, 754: 5293, 922: 5296},
+ {28: 64, 141: 64, 153: 64, 237: 5291, 491: 64, 524: 64},
+ {324: 5274},
+ {394: 2780},
// 170
- {478: 2728},
- {1, 1},
- {200: 2742, 476: 2608, 2607, 2743, 498: 2606, 507: 2592, 570: 2591, 572: 2605, 649: 2601, 656: 2741, 2713, 668: 2730, 713: 2731, 743: 2573, 752: 2732, 2602, 2603, 2604, 2613, 760: 2611, 2610, 2609, 2576, 2738, 2737, 770: 2712, 2574, 777: 2735, 2734, 780: 2736, 783: 2575, 788: 2733, 810: 2739, 829: 2740},
- {492: 4217, 572: 1873, 859: 4216},
- {457, 457, 483: 828, 493: 828, 828, 496: 2751, 504: 2752, 2748, 772: 3917, 3918},
+ {248: 2783, 349: 2781, 832: 2782},
+ {959: 2787},
+ {492: 2786},
+ {492: 2784},
+ {492: 2785},
// 175
- {459, 459, 483: 829, 493: 829, 829},
- {464, 464},
- {463, 463},
- {462, 462},
- {461, 461},
+ {1, 1},
+ {2, 2},
+ {212: 2800, 491: 2661, 2801, 2660, 514: 2659, 521: 2645, 586: 2644, 2658, 664: 2654, 672: 2799, 2768, 681: 2788, 730: 2789, 760: 2626, 769: 2790, 2655, 2656, 2657, 2666, 777: 2664, 2663, 2662, 2629, 2796, 2795, 787: 2767, 2627, 794: 2793, 2794, 2792, 801: 2628, 806: 2791, 828: 2797, 846: 2798},
+ {507: 4296, 587: 1910, 876: 4295},
+ {475, 475, 499: 848, 508: 848, 510: 848, 2809, 520: 2810, 522: 2806, 789: 3992, 3993},
// 180
- {460, 460},
- {458, 458},
- {456, 456},
- {7, 7},
- {200: 4210, 476: 2608, 2607, 4211, 498: 2606, 507: 2592, 570: 2591, 572: 2605, 649: 2601, 657: 2713, 668: 2730, 713: 2731, 743: 2573, 752: 2732, 2602, 2603, 2604, 2613, 760: 2611, 2610, 2609, 2576, 2738, 2737, 770: 2712, 2574, 777: 2735, 2734, 780: 2736, 783: 2575, 788: 2733, 810: 2739, 829: 4209},
+ {477, 477, 499: 849, 508: 849, 510: 849},
+ {482, 482},
+ {481, 481},
+ {480, 480},
+ {479, 479},
// 185
- {142: 2744},
- {3, 3},
- {257, 257, 496: 257, 501: 2745, 504: 257, 257, 795: 2746, 2747},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4208},
- {256, 256, 50: 256, 475: 256, 477: 256, 483: 256, 256, 493: 256, 256, 496: 256, 256, 499: 256, 256, 504: 256, 256, 516: 256, 256, 519: 256},
+ {478, 478},
+ {476, 476},
+ {474, 474},
+ {8, 8},
+ {212: 4289, 491: 2661, 4290, 2660, 514: 2659, 521: 2645, 586: 2644, 2658, 664: 2654, 673: 2768, 681: 2788, 730: 2789, 760: 2626, 769: 2790, 2655, 2656, 2657, 2666, 777: 2664, 2663, 2662, 2629, 2796, 2795, 787: 2767, 2627, 794: 2793, 2794, 2792, 801: 2628, 806: 2791, 828: 2797, 846: 4288},
// 190
- {1311, 1311, 496: 1311, 504: 1311, 2748, 772: 2749, 817: 2750},
- {663: 2773},
- {1310, 1310, 50: 1310, 128: 1310, 475: 1310, 477: 1310, 483: 1310, 1310, 493: 1310, 1310, 496: 1310, 1310, 499: 1310, 1310, 504: 1310},
- {883, 883, 496: 2751, 504: 2752, 773: 2753, 834: 2754},
- {511: 2759, 580: 2761, 737: 2758, 745: 2760, 886: 2768},
+ {153: 2802},
+ {4, 4},
+ {272, 272, 511: 272, 518: 2803, 520: 272, 522: 272, 813: 2804, 2805},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4287},
+ {271, 271, 56: 271, 490: 271, 493: 271, 499: 271, 271, 508: 271, 510: 271, 271, 271, 515: 271, 517: 271, 520: 271, 522: 271, 531: 271, 271, 534: 271},
// 195
- {10: 2755, 273: 2756, 1225: 2757},
- {882, 882, 50: 882, 475: 882, 477: 882, 483: 882, 882, 493: 882, 882, 497: 882, 499: 882, 882},
- {5, 5},
- {511: 891, 527: 891, 578: 891, 580: 891},
- {511: 890, 527: 890, 578: 890, 580: 890},
+ {1333, 1333, 511: 1333, 520: 1333, 522: 2806, 789: 2807, 835: 2808},
+ {680: 2831},
+ {1332, 1332, 56: 1332, 139: 1332, 490: 1332, 493: 1332, 499: 1332, 1332, 508: 1332, 510: 1332, 1332, 1332, 515: 1332, 517: 1332, 520: 1332},
+ {903, 903, 511: 2809, 520: 2810, 790: 2811, 851: 2812},
+ {524: 2817, 596: 2819, 754: 2816, 761: 2818, 905: 2826},
// 200
- {511: 2759, 527: 889, 578: 889, 580: 2761, 737: 2758, 745: 2760, 886: 2762, 1219: 2763},
- {1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 15: 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 50: 1992, 1992, 53: 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 84: 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 105: 1992, 1992, 109: 1992, 1992, 113: 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 166: 1992, 186: 1992, 214: 1992, 475: 1992, 1992, 1992, 481: 1992, 1992, 1992, 1992, 487: 1992, 491: 1992, 1992, 1992, 1992, 497: 1992, 1992, 1992, 1992, 506: 1992, 1992, 1992, 1992, 527: 1992, 572: 1992, 578: 1992, 649: 1992, 1992, 652: 1992, 656: 1992},
- {1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 15: 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 53: 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 105: 1990, 1990, 109: 1990, 1990, 113: 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 132: 1990, 1990, 1990, 1990, 166: 1990, 186: 1990, 1990, 191: 1990, 214: 1990, 254: 1990, 475: 1990, 1990, 1990, 481: 1990, 1990, 1990, 1990, 487: 1990, 491: 1990, 1990, 1990, 1990, 496: 1990, 1990, 1990, 1990, 1990, 1990, 504: 1990, 506: 1990, 1990, 1990, 1990, 527: 1990, 570: 1990, 572: 1990, 578: 1990, 649: 1990, 1990, 652: 1990, 656: 1990, 1990, 1990, 661: 1990, 743: 1990},
- {895, 895, 9: 895, 50: 895, 166: 895, 475: 895, 477: 895, 483: 895, 895, 493: 895, 895, 497: 895, 499: 895, 895, 527: 895, 578: 895},
- {894, 894, 9: 894, 50: 894, 166: 894, 475: 894, 477: 894, 483: 894, 894, 493: 894, 894, 497: 894, 499: 894, 894, 527: 894, 578: 894},
+ {10: 2813, 285: 2814, 1248: 2815},
+ {902, 902, 56: 902, 490: 902, 493: 902, 499: 902, 902, 508: 902, 510: 902, 512: 902, 515: 902, 517: 902},
+ {6, 6},
+ {524: 911, 542: 911, 594: 911, 596: 911},
+ {524: 910, 542: 910, 594: 910, 596: 910},
// 205
- {527: 888, 578: 888},
- {527: 2765, 578: 2764, 1297: 2766},
- {156: 893},
- {156: 892},
- {156: 2767},
+ {524: 2817, 542: 909, 594: 909, 596: 2819, 754: 2816, 761: 2818, 905: 2820, 1242: 2821},
+ {2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 15: 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 56: 2030, 2030, 59: 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 90: 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 111: 2030, 2030, 2030, 2030, 2030, 118: 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 134: 2030, 2030, 178: 2030, 197: 2030, 228: 2030, 490: 2030, 2030, 493: 2030, 495: 2030, 497: 2030, 2030, 2030, 2030, 506: 2030, 2030, 2030, 510: 2030, 512: 2030, 2030, 2030, 2030, 517: 2030, 521: 2030, 523: 2030, 525: 2030, 542: 2030, 587: 2030, 594: 2030, 664: 2030, 666: 2030, 2030, 672: 2030},
+ {2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 15: 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 59: 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 111: 2028, 2028, 2028, 2028, 2028, 118: 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 134: 2028, 2028, 143: 2028, 2028, 2028, 2028, 178: 2028, 197: 2028, 2028, 202: 2028, 228: 2028, 266: 2028, 490: 2028, 2028, 493: 2028, 495: 2028, 497: 2028, 2028, 2028, 2028, 506: 2028, 2028, 2028, 510: 2028, 2028, 2028, 2028, 2028, 2028, 517: 2028, 2028, 520: 2028, 2028, 523: 2028, 525: 2028, 542: 2028, 586: 2028, 2028, 594: 2028, 664: 2028, 666: 2028, 2028, 672: 2028, 2028, 2028, 678: 2028, 760: 2028},
+ {915, 915, 9: 915, 56: 915, 178: 915, 490: 915, 493: 915, 499: 915, 915, 508: 915, 510: 915, 512: 915, 515: 915, 517: 915, 542: 915, 594: 915},
+ {914, 914, 9: 914, 56: 914, 178: 914, 490: 914, 493: 914, 499: 914, 914, 508: 914, 510: 914, 512: 914, 515: 914, 517: 914, 542: 914, 594: 914},
// 210
- {884, 884, 50: 884, 475: 884, 477: 884, 483: 884, 884, 493: 884, 884, 497: 884, 499: 884, 884},
- {887, 887, 9: 2769, 50: 887, 166: 2770, 475: 887, 477: 887, 483: 887, 887, 493: 887, 887, 497: 887, 499: 887, 887},
- {511: 2759, 580: 2761, 737: 2758, 745: 2760, 886: 2772},
- {511: 2759, 580: 2761, 737: 2758, 745: 2760, 886: 2771},
- {885, 885, 50: 885, 475: 885, 477: 885, 483: 885, 885, 493: 885, 885, 497: 885, 499: 885, 885},
+ {542: 908, 594: 908},
+ {542: 2823, 594: 2822, 1320: 2824},
+ {167: 913},
+ {167: 912},
+ {167: 2825},
// 215
- {886, 886, 50: 886, 475: 886, 477: 886, 483: 886, 886, 493: 886, 886, 497: 886, 499: 886, 886},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 2777, 875: 3267, 905: 3266},
- {1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 4205, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 477: 1551, 1551, 1551, 1551, 1551, 483: 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 492: 1551, 1551, 1551, 496: 1551, 1551, 499: 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 509: 1551, 1551, 512: 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 534: 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 568: 1551, 1551, 597: 1551, 655: 1551, 659: 1551, 1551},
- {1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 4202, 1550, 1550, 1550, 1550, 1550, 483: 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 492: 1550, 1550, 1550, 496: 1550, 1550, 499: 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 509: 1550, 1550, 512: 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 534: 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 568: 1550, 1550, 597: 1550, 655: 1550, 659: 1550, 1550},
- {762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 477: 762, 762, 762, 762, 762, 483: 762, 762, 762, 762, 762, 762, 762, 762, 492: 762, 762, 762, 496: 762, 762, 499: 762, 762, 762, 762, 762, 762, 762, 762, 509: 762, 762, 512: 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 534: 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 568: 762, 762, 597: 762, 662: 4200},
+ {904, 904, 56: 904, 490: 904, 493: 904, 499: 904, 904, 508: 904, 510: 904, 512: 904, 515: 904, 517: 904},
+ {907, 907, 9: 2827, 56: 907, 178: 2828, 490: 907, 493: 907, 499: 907, 907, 508: 907, 510: 907, 512: 907, 515: 907, 517: 907},
+ {524: 2817, 596: 2819, 754: 2816, 761: 2818, 905: 2830},
+ {524: 2817, 596: 2819, 754: 2816, 761: 2818, 905: 2829},
+ {905, 905, 56: 905, 490: 905, 493: 905, 499: 905, 905, 508: 905, 510: 905, 512: 905, 515: 905, 517: 905},
// 220
- {1318, 1318, 9: 1318, 50: 1318, 128: 1318, 475: 1318, 477: 1318, 483: 1318, 1318, 493: 1318, 1318, 496: 1318, 1318, 499: 1318, 1318, 504: 1318, 1318, 510: 3371, 512: 3369, 3370, 3368, 3366, 517: 1318, 519: 1318, 527: 1318, 530: 1318, 1318, 4199, 534: 4198, 738: 3367, 3365, 1280: 4197},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4196},
- {476: 4168},
- {1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 477: 1952, 1952, 481: 1952, 483: 1952, 1952, 1952, 1952, 492: 1952, 1952, 1952, 496: 1952, 1952, 499: 1952, 1952, 1952, 4151, 1952, 1952, 1952, 1952, 509: 1952, 1952, 512: 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 522: 1952, 524: 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 534: 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 548: 1952, 1952, 558: 4148, 4146, 4145, 4153, 4147, 4149, 4150, 4152, 1204: 4144, 1248: 4143},
- {1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 477: 1927, 1927, 481: 1927, 483: 1927, 1927, 1927, 1927, 492: 1927, 1927, 1927, 496: 1927, 1927, 499: 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 509: 1927, 1927, 512: 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 522: 1927, 524: 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 534: 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 548: 1927, 1927, 558: 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927},
+ {906, 906, 56: 906, 490: 906, 493: 906, 499: 906, 906, 508: 906, 510: 906, 512: 906, 515: 906, 517: 906},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 2835, 893: 3340, 923: 3339},
+ {1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 4284, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 492: 1586, 1586, 1586, 496: 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 507: 1586, 1586, 510: 1586, 1586, 1586, 515: 1586, 1586, 1586, 1586, 1586, 1586, 522: 1586, 1586, 525: 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 549: 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 583: 1586, 1586, 1586, 615: 1586, 671: 1586, 675: 1586, 1586},
+ {1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 4281, 1585, 1585, 1585, 496: 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 507: 1585, 1585, 510: 1585, 1585, 1585, 515: 1585, 1585, 1585, 1585, 1585, 1585, 522: 1585, 1585, 525: 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 549: 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 583: 1585, 1585, 1585, 615: 1585, 671: 1585, 675: 1585, 1585},
+ {782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 492: 782, 782, 782, 496: 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 507: 782, 782, 510: 782, 782, 782, 515: 782, 782, 782, 782, 782, 782, 522: 782, 782, 525: 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 549: 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 583: 782, 782, 782, 615: 782, 679: 4279},
// 225
- {1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 477: 1900, 1900, 4115, 4114, 1900, 483: 1900, 1900, 1900, 1900, 488: 3712, 3713, 3718, 492: 1900, 1900, 1900, 496: 1900, 1900, 499: 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 509: 1900, 1900, 512: 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 4119, 1900, 3714, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 534: 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 4118, 1900, 1900, 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 4116, 568: 4125, 4126, 815: 4117, 1120: 4120, 1189: 4122, 1243: 4121, 1251: 4123, 1293: 4124},
- {1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 4111, 1849, 1849, 1849, 1849, 1849, 483: 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 492: 1849, 1849, 1849, 496: 1849, 1849, 499: 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 509: 1849, 1849, 512: 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 534: 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 568: 1849, 1849, 597: 1849, 655: 1849, 659: 1849, 1849},
- {1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 668: 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848},
- {1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 668: 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847},
- {1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 668: 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846},
+ {1340, 1340, 9: 1340, 56: 1340, 139: 1340, 490: 1340, 493: 1340, 499: 1340, 1340, 508: 1340, 510: 1340, 1340, 1340, 515: 1340, 517: 1340, 520: 1340, 522: 1340, 526: 3444, 3442, 3443, 3441, 3439, 532: 1340, 534: 1340, 542: 1340, 545: 1340, 1340, 4278, 560: 4277, 755: 3440, 3438, 1303: 4276},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4275},
+ {491: 4247},
+ {1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 492: 1990, 1990, 497: 1990, 499: 1990, 1990, 1990, 1990, 507: 1990, 1990, 510: 1990, 1990, 1990, 515: 1990, 4230, 1990, 1990, 1990, 1990, 522: 1990, 1990, 525: 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 537: 1990, 1990, 1990, 541: 1990, 1990, 1990, 1990, 1990, 1990, 1990, 549: 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 564: 1990, 573: 4227, 4225, 4224, 4232, 4226, 4228, 4229, 4231, 1227: 4223, 1271: 4222},
+ {1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 492: 1965, 1965, 497: 1965, 499: 1965, 1965, 1965, 1965, 507: 1965, 1965, 510: 1965, 1965, 1965, 515: 1965, 1965, 1965, 1965, 1965, 1965, 522: 1965, 1965, 525: 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 537: 1965, 1965, 1965, 541: 1965, 1965, 1965, 1965, 1965, 1965, 1965, 549: 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 564: 1965, 573: 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965},
// 230
- {1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 668: 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845},
- {1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 668: 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844},
- {1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1249, 1843, 1843, 1843, 1843, 1843, 483: 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 492: 1843, 1843, 1843, 496: 1843, 1843, 499: 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 509: 1843, 1843, 512: 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 534: 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 568: 1843, 1843, 597: 1843, 655: 1843, 659: 1843, 1843},
- {1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 668: 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842},
- {1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 668: 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841},
+ {1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 492: 1937, 1937, 4190, 496: 4189, 1937, 499: 1937, 1937, 1937, 1937, 3785, 3786, 3791, 507: 1937, 1937, 510: 1937, 1937, 1937, 515: 1937, 1937, 1937, 1937, 1937, 1937, 522: 1937, 1937, 525: 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 4194, 1937, 1937, 1937, 3787, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 549: 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 4193, 1937, 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 4191, 583: 4201, 4202, 4200, 833: 4192, 1140: 4195, 1213: 4197, 1266: 4196, 1274: 4198, 1316: 4199},
+ {1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 4186, 1886, 1886, 1886, 496: 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 507: 1886, 1886, 510: 1886, 1886, 1886, 515: 1886, 1886, 1886, 1886, 1886, 1886, 522: 1886, 1886, 525: 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 549: 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 583: 1886, 1886, 1886, 615: 1886, 671: 1886, 675: 1886, 1886},
+ {1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 689: 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885},
+ {1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 689: 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884},
+ {1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 689: 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883, 1883},
// 235
- {1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 668: 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840},
- {1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 668: 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839},
- {1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 668: 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838},
- {1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 668: 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837},
- {1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 668: 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836},
+ {1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 689: 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882},
+ {1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 689: 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881},
+ {1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1269, 1880, 1880, 1880, 496: 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 507: 1880, 1880, 510: 1880, 1880, 1880, 515: 1880, 1880, 1880, 1880, 1880, 1880, 522: 1880, 1880, 525: 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 549: 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 583: 1880, 1880, 1880, 615: 1880, 671: 1880, 675: 1880, 1880},
+ {1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 689: 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879},
+ {1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 689: 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878},
// 240
- {1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 668: 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835},
- {1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 668: 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834},
- {1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 668: 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833},
- {1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 668: 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832},
- {1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 4106, 1831, 1831, 1831, 1831, 1831, 483: 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 492: 1831, 1831, 1831, 496: 1831, 1831, 499: 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 509: 1831, 1831, 512: 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 534: 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 568: 1831, 1831, 597: 1831, 655: 1831, 659: 1831, 1831},
+ {1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 689: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877},
+ {1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 689: 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876},
+ {1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 689: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875},
+ {1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 689: 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874},
+ {1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 689: 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873},
// 245
- {1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 668: 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830},
- {1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 668: 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829},
- {1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 668: 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828},
- {1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 668: 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827},
- {1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 668: 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826},
+ {1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 689: 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872},
+ {1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 689: 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871},
+ {1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 689: 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870},
+ {1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 689: 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869},
+ {1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 4181, 1868, 1868, 1868, 496: 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 507: 1868, 1868, 510: 1868, 1868, 1868, 515: 1868, 1868, 1868, 1868, 1868, 1868, 522: 1868, 1868, 525: 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 549: 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 583: 1868, 1868, 1868, 615: 1868, 671: 1868, 675: 1868, 1868},
// 250
- {1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 668: 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825},
- {1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 668: 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824},
- {1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 668: 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823},
- {1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 668: 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822},
- {1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 668: 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821},
+ {1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 689: 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867},
+ {1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 689: 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866},
+ {1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 689: 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865},
+ {1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 689: 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864},
+ {1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 689: 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863},
// 255
- {1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1248, 1820, 1820, 1820, 1820, 1820, 483: 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 492: 1820, 1820, 1820, 496: 1820, 1820, 499: 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 509: 1820, 1820, 512: 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 534: 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 568: 1820, 1820, 597: 1820, 655: 1820, 659: 1820, 1820},
- {1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 668: 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819},
- {1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 668: 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818},
- {1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 668: 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817},
- {1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 668: 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816},
+ {1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 689: 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862},
+ {1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 689: 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861},
+ {1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 689: 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860},
+ {1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 689: 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859},
+ {1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 689: 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858},
// 260
- {1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 668: 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815},
- {1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 668: 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814},
- {1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 668: 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813},
- {1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 668: 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812},
- {1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 668: 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811},
+ {1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1268, 1857, 1857, 1857, 496: 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 507: 1857, 1857, 510: 1857, 1857, 1857, 515: 1857, 1857, 1857, 1857, 1857, 1857, 522: 1857, 1857, 525: 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 549: 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 583: 1857, 1857, 1857, 615: 1857, 671: 1857, 675: 1857, 1857},
+ {1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 689: 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856},
+ {1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 689: 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855},
+ {1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 689: 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854},
+ {1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 689: 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853, 1853},
// 265
- {1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 668: 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810},
- {1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1245, 1809, 4105, 1809, 1809, 1809, 483: 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 492: 1809, 1809, 1809, 496: 1809, 1809, 499: 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 509: 1809, 1809, 512: 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 534: 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 568: 1809, 1809, 597: 1809, 655: 1809, 659: 1809, 1809},
- {1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 668: 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808},
- {1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1243, 1807, 1807, 1807, 1807, 1807, 483: 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 492: 1807, 1807, 1807, 496: 1807, 1807, 499: 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 509: 1807, 1807, 512: 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 534: 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 568: 1807, 1807, 597: 1807, 655: 1807, 659: 1807, 1807},
- {1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 668: 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806},
+ {1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 689: 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852},
+ {1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 689: 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851},
+ {1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 689: 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850},
+ {1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 689: 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849},
+ {1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 689: 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848},
// 270
- {1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 668: 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805},
- {1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 668: 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804},
- {1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 668: 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803},
- {1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 668: 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802},
- {1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 668: 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801},
+ {1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 689: 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847},
+ {1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1265, 4180, 1846, 1846, 496: 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 507: 1846, 1846, 510: 1846, 1846, 1846, 515: 1846, 1846, 1846, 1846, 1846, 1846, 522: 1846, 1846, 525: 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 549: 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 583: 1846, 1846, 1846, 615: 1846, 671: 1846, 675: 1846, 1846},
+ {1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 689: 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845},
+ {1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1263, 1844, 1844, 1844, 496: 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 507: 1844, 1844, 510: 1844, 1844, 1844, 515: 1844, 1844, 1844, 1844, 1844, 1844, 522: 1844, 1844, 525: 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 549: 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 583: 1844, 1844, 1844, 615: 1844, 671: 1844, 675: 1844, 1844},
+ {1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 689: 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843},
// 275
- {1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 668: 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800},
- {1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 668: 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799},
- {1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 668: 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798},
- {1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 668: 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797},
- {1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 668: 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796},
+ {1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 689: 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842},
+ {1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 689: 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841},
+ {1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 689: 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840},
+ {1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 689: 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839},
+ {1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 689: 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838},
// 280
- {1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 668: 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795},
- {1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 668: 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794},
- {1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 668: 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793},
- {1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 668: 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792},
- {1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 668: 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791},
+ {1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 689: 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837},
+ {1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 689: 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836},
+ {1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 689: 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835},
+ {1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 689: 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834},
+ {1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 689: 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833},
// 285
- {1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 668: 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790},
- {1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 668: 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789},
- {1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 668: 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788},
- {1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 668: 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787},
- {1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 668: 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786},
+ {1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 689: 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832},
+ {1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 689: 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831},
+ {1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 689: 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830},
+ {1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 689: 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829},
+ {1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 689: 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828},
// 290
- {1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 668: 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785},
- {1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1239, 1784, 1784, 1784, 1784, 1784, 483: 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 492: 1784, 1784, 1784, 496: 1784, 1784, 499: 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 509: 1784, 1784, 512: 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 534: 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 568: 1784, 1784, 597: 1784, 655: 1784, 659: 1784, 1784},
- {1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 668: 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783},
- {1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 668: 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782},
- {1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 668: 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781},
+ {1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 689: 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827},
+ {1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 689: 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826},
+ {1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 689: 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825},
+ {1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 689: 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824},
+ {1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 689: 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823, 1823},
// 295
- {1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 668: 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780},
- {1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 668: 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779},
- {1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1242, 1778, 1778, 1778, 1778, 1778, 483: 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 492: 1778, 1778, 1778, 496: 1778, 1778, 499: 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 509: 1778, 1778, 512: 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 534: 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 568: 1778, 1778, 597: 1778, 655: 1778, 659: 1778, 1778},
- {1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 668: 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777},
- {1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 668: 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776},
+ {1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 689: 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822},
+ {1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1259, 1821, 1821, 1821, 496: 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 507: 1821, 1821, 510: 1821, 1821, 1821, 515: 1821, 1821, 1821, 1821, 1821, 1821, 522: 1821, 1821, 525: 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 549: 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 583: 1821, 1821, 1821, 615: 1821, 671: 1821, 675: 1821, 1821},
+ {1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 689: 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820},
+ {1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 689: 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819},
+ {1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 689: 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818},
// 300
- {1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 668: 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775},
- {1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 668: 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774},
- {1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 668: 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773},
- {1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 668: 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772},
- {1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 668: 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771},
+ {1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 689: 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817},
+ {1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 689: 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816},
+ {1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1262, 1815, 1815, 1815, 496: 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 507: 1815, 1815, 510: 1815, 1815, 1815, 515: 1815, 1815, 1815, 1815, 1815, 1815, 522: 1815, 1815, 525: 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 549: 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 583: 1815, 1815, 1815, 615: 1815, 671: 1815, 675: 1815, 1815},
+ {1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 689: 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814},
+ {1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 689: 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813, 1813},
// 305
- {1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 668: 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770},
- {1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 668: 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769},
- {1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 4102, 1768, 1768, 1768, 1768, 1768, 483: 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 492: 1768, 1768, 1768, 496: 1768, 1768, 499: 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 509: 1768, 1768, 512: 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 534: 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 568: 1768, 1768, 597: 1768, 655: 1768, 659: 1768, 1768},
- {1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 668: 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767},
- {1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 668: 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766},
+ {1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 689: 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812},
+ {1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 689: 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811},
+ {1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 689: 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810},
+ {1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 689: 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809},
+ {1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 689: 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808},
// 310
- {1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 668: 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765},
- {1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 668: 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764},
- {1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 668: 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763},
- {1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 668: 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762},
- {1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 668: 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761},
+ {1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 689: 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807},
+ {1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 689: 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806},
+ {1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 4177, 1805, 1805, 1805, 496: 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 507: 1805, 1805, 510: 1805, 1805, 1805, 515: 1805, 1805, 1805, 1805, 1805, 1805, 522: 1805, 1805, 525: 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 549: 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 583: 1805, 1805, 1805, 615: 1805, 671: 1805, 675: 1805, 1805},
+ {1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 689: 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804},
+ {1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 689: 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803, 1803},
// 315
- {1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 668: 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760},
- {1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 668: 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759},
- {1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 668: 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758},
- {1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 668: 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757},
- {1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 668: 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756},
+ {1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 689: 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802},
+ {1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 689: 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801},
+ {1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 689: 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800},
+ {1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 689: 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799},
+ {1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 689: 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798},
// 320
- {1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 668: 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755},
- {1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 668: 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754},
- {1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 668: 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753},
- {1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 668: 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752},
- {1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 668: 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751},
+ {1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 689: 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797},
+ {1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 689: 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796},
+ {1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 689: 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795},
+ {1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 689: 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794},
+ {1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 689: 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793},
// 325
- {1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 668: 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750},
- {1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 668: 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749},
- {1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 668: 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748},
- {1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 668: 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747},
- {1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 668: 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746},
+ {1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 689: 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792},
+ {1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 689: 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791},
+ {1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 689: 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790},
+ {1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 689: 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789},
+ {1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 689: 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788},
// 330
- {1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 668: 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745},
- {1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 668: 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744},
- {1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1226, 1743, 4101, 1743, 1743, 1743, 483: 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 492: 1743, 1743, 1743, 496: 1743, 1743, 499: 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 509: 1743, 1743, 512: 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 534: 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 568: 1743, 1743, 597: 1743, 655: 1743, 659: 1743, 1743},
- {1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1225, 1742, 4100, 1742, 1742, 1742, 483: 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 492: 1742, 1742, 1742, 496: 1742, 1742, 499: 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 509: 1742, 1742, 512: 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 534: 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 568: 1742, 1742, 597: 1742, 655: 1742, 659: 1742, 1742},
- {1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 668: 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741},
+ {1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 689: 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787},
+ {1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 689: 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786},
+ {1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 689: 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785},
+ {1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 689: 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784},
+ {1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 689: 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783},
// 335
- {1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 668: 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740},
- {1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1224, 1739, 1739, 1739, 1739, 1739, 483: 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 492: 1739, 1739, 1739, 496: 1739, 1739, 499: 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 509: 1739, 1739, 512: 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 534: 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 568: 1739, 1739, 597: 1739, 655: 1739, 659: 1739, 1739},
- {1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 668: 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738},
- {1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 668: 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737},
- {1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 668: 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736},
+ {1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 689: 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782},
+ {1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 689: 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781},
+ {1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 689: 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780},
+ {1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1246, 4176, 1779, 1779, 496: 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 507: 1779, 1779, 510: 1779, 1779, 1779, 515: 1779, 1779, 1779, 1779, 1779, 1779, 522: 1779, 1779, 525: 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 549: 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 583: 1779, 1779, 1779, 615: 1779, 671: 1779, 675: 1779, 1779},
+ {1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1245, 4175, 1778, 1778, 496: 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 507: 1778, 1778, 510: 1778, 1778, 1778, 515: 1778, 1778, 1778, 1778, 1778, 1778, 522: 1778, 1778, 525: 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 549: 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 583: 1778, 1778, 1778, 615: 1778, 671: 1778, 675: 1778, 1778},
// 340
- {1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 668: 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735},
- {1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1221, 1734, 1734, 1734, 1734, 1734, 483: 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 492: 1734, 1734, 1734, 496: 1734, 1734, 499: 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 509: 1734, 1734, 512: 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 534: 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 568: 1734, 1734, 597: 1734, 655: 1734, 659: 1734, 1734},
- {1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 668: 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733},
- {1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1222, 1732, 1732, 1732, 1732, 1732, 483: 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 492: 1732, 1732, 1732, 496: 1732, 1732, 499: 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 509: 1732, 1732, 512: 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 534: 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 568: 1732, 1732, 597: 1732, 655: 1732, 659: 1732, 1732},
- {1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 4090, 1731, 1731, 1731, 1731, 1731, 483: 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 492: 1731, 1731, 1731, 496: 1731, 1731, 499: 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 509: 1731, 1731, 512: 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 534: 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 568: 1731, 1731, 597: 1731, 655: 1731, 659: 1731, 1731},
+ {1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 689: 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777},
+ {1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 689: 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776},
+ {1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1244, 1775, 1775, 1775, 496: 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 507: 1775, 1775, 510: 1775, 1775, 1775, 515: 1775, 1775, 1775, 1775, 1775, 1775, 522: 1775, 1775, 525: 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 549: 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 583: 1775, 1775, 1775, 615: 1775, 671: 1775, 675: 1775, 1775},
+ {1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 689: 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774},
+ {1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 689: 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773},
// 345
- {1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 668: 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730},
- {1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 668: 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729},
- {1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1223, 1728, 1728, 1728, 1728, 1728, 483: 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 492: 1728, 1728, 1728, 496: 1728, 1728, 499: 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 509: 1728, 1728, 512: 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 534: 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 568: 1728, 1728, 597: 1728, 655: 1728, 659: 1728, 1728},
- {1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 668: 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727},
- {1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1246, 1726, 1726, 1726, 1726, 1726, 483: 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 492: 1726, 1726, 1726, 496: 1726, 1726, 499: 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 509: 1726, 1726, 512: 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 534: 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 568: 1726, 1726, 597: 1726, 655: 1726, 659: 1726, 1726},
+ {1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 689: 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772},
+ {1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 689: 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771},
+ {1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1241, 1770, 1770, 1770, 496: 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 507: 1770, 1770, 510: 1770, 1770, 1770, 515: 1770, 1770, 1770, 1770, 1770, 1770, 522: 1770, 1770, 525: 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 549: 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 583: 1770, 1770, 1770, 615: 1770, 671: 1770, 675: 1770, 1770},
+ {1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 689: 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769},
+ {1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1242, 1768, 1768, 1768, 496: 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 507: 1768, 1768, 510: 1768, 1768, 1768, 515: 1768, 1768, 1768, 1768, 1768, 1768, 522: 1768, 1768, 525: 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 549: 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 583: 1768, 1768, 1768, 615: 1768, 671: 1768, 675: 1768, 1768},
// 350
- {1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 668: 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725},
- {1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 668: 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724},
- {1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 668: 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723},
- {1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 668: 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722},
- {1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 668: 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721},
+ {1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 4165, 1767, 1767, 1767, 496: 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 507: 1767, 1767, 510: 1767, 1767, 1767, 515: 1767, 1767, 1767, 1767, 1767, 1767, 522: 1767, 1767, 525: 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 549: 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 583: 1767, 1767, 1767, 615: 1767, 671: 1767, 675: 1767, 1767},
+ {1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 689: 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766},
+ {1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 689: 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765},
+ {1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1243, 1764, 1764, 1764, 496: 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 507: 1764, 1764, 510: 1764, 1764, 1764, 515: 1764, 1764, 1764, 1764, 1764, 1764, 522: 1764, 1764, 525: 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 549: 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 583: 1764, 1764, 1764, 615: 1764, 671: 1764, 675: 1764, 1764},
+ {1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 689: 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763},
// 355
- {1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 668: 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720},
- {1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 668: 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719},
- {1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 668: 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718},
- {1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 668: 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717},
- {1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 668: 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716},
+ {1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1266, 1762, 1762, 1762, 496: 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 507: 1762, 1762, 510: 1762, 1762, 1762, 515: 1762, 1762, 1762, 1762, 1762, 1762, 522: 1762, 1762, 525: 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 549: 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 583: 1762, 1762, 1762, 615: 1762, 671: 1762, 675: 1762, 1762},
+ {1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 689: 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761},
+ {1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 689: 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760},
+ {1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 689: 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759},
+ {1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 689: 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758},
// 360
- {1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 668: 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715},
- {1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 668: 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714},
- {1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1233, 1713, 1713, 1713, 1713, 1713, 483: 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 492: 1713, 1713, 1713, 496: 1713, 1713, 499: 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 509: 1713, 1713, 512: 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 534: 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 568: 1713, 1713, 597: 1713, 655: 1713, 659: 1713, 1713},
- {1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 668: 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712},
- {1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 668: 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711},
+ {1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 689: 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757},
+ {1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 689: 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756},
+ {1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 689: 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755},
+ {1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 689: 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754},
+ {1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 689: 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753},
// 365
- {1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 668: 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710},
- {1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 668: 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709},
- {1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 668: 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708},
- {1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 668: 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707},
- {1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 668: 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706},
+ {1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 689: 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752},
+ {1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 689: 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751},
+ {1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 689: 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750},
+ {1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1253, 1749, 1749, 1749, 496: 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 507: 1749, 1749, 510: 1749, 1749, 1749, 515: 1749, 1749, 1749, 1749, 1749, 1749, 522: 1749, 1749, 525: 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 549: 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 583: 1749, 1749, 1749, 615: 1749, 671: 1749, 675: 1749, 1749},
+ {1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 689: 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748},
// 370
- {1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 668: 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705},
- {1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 668: 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704},
- {1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 668: 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703},
- {1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 668: 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702},
- {1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 668: 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701},
+ {1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 689: 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747},
+ {1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 689: 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746},
+ {1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 689: 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745},
+ {1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 689: 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744},
+ {1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 689: 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743},
// 375
- {1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 668: 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700},
- {1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 668: 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699},
- {1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 668: 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698},
- {1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 668: 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697},
- {1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 668: 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696},
+ {1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 689: 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742},
+ {1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 689: 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741},
+ {1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 689: 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740},
+ {1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 689: 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739},
+ {1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 689: 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738},
// 380
- {1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 668: 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695},
- {1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 668: 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694},
- {1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 668: 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693},
- {1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 668: 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692},
- {1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 668: 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691},
+ {1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 689: 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737},
+ {1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 689: 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736},
+ {1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 689: 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735},
+ {1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 689: 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734},
+ {1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 689: 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733},
// 385
- {1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1230, 1690, 1690, 1690, 1690, 1690, 483: 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 492: 1690, 1690, 1690, 496: 1690, 1690, 499: 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 509: 1690, 1690, 512: 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 534: 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 568: 1690, 1690, 597: 1690, 655: 1690, 659: 1690, 1690},
- {1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 668: 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689},
- {1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 668: 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688},
- {1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 668: 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687},
- {1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 668: 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686},
+ {1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 689: 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732},
+ {1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 689: 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731},
+ {1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 689: 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730},
+ {1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 689: 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729},
+ {1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 689: 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728},
// 390
- {1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 668: 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685},
- {1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 668: 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684},
- {1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 668: 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683},
- {1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 668: 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682},
- {1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 668: 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681},
+ {1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 689: 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727},
+ {1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1250, 1726, 1726, 1726, 496: 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 507: 1726, 1726, 510: 1726, 1726, 1726, 515: 1726, 1726, 1726, 1726, 1726, 1726, 522: 1726, 1726, 525: 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 549: 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 583: 1726, 1726, 1726, 615: 1726, 671: 1726, 675: 1726, 1726},
+ {1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 689: 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725},
+ {1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 689: 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724},
+ {1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 689: 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723},
// 395
- {1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 668: 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680},
- {1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 668: 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679},
- {1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 668: 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678},
- {1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 668: 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677},
- {1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 668: 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676},
+ {1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 689: 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722},
+ {1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 689: 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721},
+ {1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 689: 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720},
+ {1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 689: 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719},
+ {1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 689: 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718},
// 400
- {1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 668: 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675},
- {1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 668: 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674},
- {1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1228, 1673, 1673, 1673, 1673, 1673, 483: 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 492: 1673, 1673, 1673, 496: 1673, 1673, 499: 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 509: 1673, 1673, 512: 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 534: 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 568: 1673, 1673, 597: 1673, 655: 1673, 659: 1673, 1673},
- {1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1247, 1672, 1672, 1672, 1672, 1672, 483: 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 492: 1672, 1672, 1672, 496: 1672, 1672, 499: 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 509: 1672, 1672, 512: 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 534: 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 568: 1672, 1672, 597: 1672, 655: 1672, 659: 1672, 1672},
- {1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1235, 1671, 1671, 1671, 1671, 1671, 483: 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 492: 1671, 1671, 1671, 496: 1671, 1671, 499: 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 509: 1671, 1671, 512: 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 534: 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 568: 1671, 1671, 597: 1671, 655: 1671, 659: 1671, 1671},
+ {1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 689: 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717},
+ {1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 689: 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716},
+ {1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 689: 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715},
+ {1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 689: 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714},
+ {1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 689: 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713},
// 405
- {1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 668: 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670},
- {1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 668: 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669},
- {1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 668: 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668},
- {1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1237, 1667, 1667, 1667, 1667, 1667, 483: 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 492: 1667, 1667, 1667, 496: 1667, 1667, 499: 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 509: 1667, 1667, 512: 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 534: 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 568: 1667, 1667, 597: 1667, 655: 1667, 659: 1667, 1667},
- {1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1236, 1666, 1666, 1666, 1666, 1666, 483: 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 492: 1666, 1666, 1666, 496: 1666, 1666, 499: 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 509: 1666, 1666, 512: 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 534: 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 568: 1666, 1666, 597: 1666, 655: 1666, 659: 1666, 1666},
+ {1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 689: 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712},
+ {1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 689: 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711},
+ {1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 689: 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710},
+ {1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1248, 1709, 1709, 1709, 496: 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 507: 1709, 1709, 510: 1709, 1709, 1709, 515: 1709, 1709, 1709, 1709, 1709, 1709, 522: 1709, 1709, 525: 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 549: 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 583: 1709, 1709, 1709, 615: 1709, 671: 1709, 675: 1709, 1709},
+ {1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1267, 1708, 1708, 1708, 496: 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 507: 1708, 1708, 510: 1708, 1708, 1708, 515: 1708, 1708, 1708, 1708, 1708, 1708, 522: 1708, 1708, 525: 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 549: 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 583: 1708, 1708, 1708, 615: 1708, 671: 1708, 675: 1708, 1708},
// 410
- {1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 668: 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665},
- {1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 668: 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664},
- {1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 668: 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663},
- {1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 668: 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662},
- {1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 668: 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661},
+ {1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1255, 1707, 1707, 1707, 496: 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 507: 1707, 1707, 510: 1707, 1707, 1707, 515: 1707, 1707, 1707, 1707, 1707, 1707, 522: 1707, 1707, 525: 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 549: 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 583: 1707, 1707, 1707, 615: 1707, 671: 1707, 675: 1707, 1707},
+ {1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 689: 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706},
+ {1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 689: 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705},
+ {1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 689: 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704},
+ {1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1257, 1703, 1703, 1703, 496: 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 507: 1703, 1703, 510: 1703, 1703, 1703, 515: 1703, 1703, 1703, 1703, 1703, 1703, 522: 1703, 1703, 525: 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 549: 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 583: 1703, 1703, 1703, 615: 1703, 671: 1703, 675: 1703, 1703},
// 415
- {1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1227, 1660, 1660, 1660, 1660, 1660, 483: 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 492: 1660, 1660, 1660, 496: 1660, 1660, 499: 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 509: 1660, 1660, 512: 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 534: 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 568: 1660, 1660, 597: 1660, 655: 1660, 659: 1660, 1660},
- {1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 668: 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659},
- {1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 668: 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658},
- {1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 668: 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657},
- {1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 668: 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656},
+ {1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1256, 1702, 1702, 1702, 496: 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 507: 1702, 1702, 510: 1702, 1702, 1702, 515: 1702, 1702, 1702, 1702, 1702, 1702, 522: 1702, 1702, 525: 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 549: 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 583: 1702, 1702, 1702, 615: 1702, 671: 1702, 675: 1702, 1702},
+ {1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 689: 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701},
+ {1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 689: 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700},
+ {1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 689: 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699},
+ {1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 689: 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698},
// 420
- {1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 668: 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655},
- {1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 668: 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654},
- {1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 668: 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653},
- {1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 668: 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652},
- {1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 668: 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651},
+ {1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 689: 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697},
+ {1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1247, 1696, 1696, 1696, 496: 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 507: 1696, 1696, 510: 1696, 1696, 1696, 515: 1696, 1696, 1696, 1696, 1696, 1696, 522: 1696, 1696, 525: 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 549: 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 583: 1696, 1696, 1696, 615: 1696, 671: 1696, 675: 1696, 1696},
+ {1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 689: 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695},
+ {1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 689: 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694},
+ {1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 689: 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693},
// 425
- {1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 668: 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650},
- {1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 668: 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649},
- {1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 668: 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648},
- {1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 668: 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647},
- {1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 668: 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646},
+ {1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 689: 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692},
+ {1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 689: 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691},
+ {1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 689: 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690},
+ {1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 689: 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689},
+ {1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 689: 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688},
// 430
- {1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 668: 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645},
- {1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 668: 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644},
- {1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 668: 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643},
- {1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 668: 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642},
- {1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 668: 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641},
+ {1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 689: 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687},
+ {1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 689: 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686},
+ {1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 689: 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685},
+ {1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 689: 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684},
+ {1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 689: 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683},
// 435
- {1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 668: 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640},
- {1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 668: 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639},
- {1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 668: 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638},
- {1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 668: 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637},
- {1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 668: 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636},
+ {1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 689: 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682},
+ {1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 689: 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681},
+ {1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 689: 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680},
+ {1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 689: 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679},
+ {1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 689: 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678},
// 440
- {1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 668: 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635},
- {1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 668: 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634},
- {1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 668: 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633},
- {1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 668: 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632},
- {1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 668: 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631},
+ {1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 689: 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677},
+ {1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 689: 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676},
+ {1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 689: 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675},
+ {1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 689: 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674},
+ {1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 689: 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673},
// 445
- {1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 668: 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630},
- {1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 668: 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629},
- {1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 668: 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628},
- {1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 668: 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627},
- {1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 668: 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626},
+ {1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 689: 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672},
+ {1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 689: 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671},
+ {1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 689: 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670},
+ {1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 689: 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669},
+ {1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 689: 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668},
// 450
- {1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 668: 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625},
- {1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 668: 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624},
- {1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 668: 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623},
- {1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 668: 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622},
- {1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 668: 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621},
+ {1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 689: 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667},
+ {1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 689: 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666},
+ {1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 689: 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665},
+ {1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 689: 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664},
+ {1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 689: 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663},
// 455
- {1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 668: 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620},
- {1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 668: 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619},
- {1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 668: 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618},
- {1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 668: 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617},
- {1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 668: 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616},
+ {1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 689: 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662},
+ {1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 689: 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661},
+ {1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 689: 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660},
+ {1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 689: 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659},
+ {1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 689: 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658},
// 460
- {1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 668: 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615},
- {1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 668: 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614},
- {1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 668: 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613},
- {1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 668: 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612},
- {1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 668: 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611},
+ {1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 689: 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657},
+ {1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 689: 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656},
+ {1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 689: 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655},
+ {1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 689: 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654},
+ {1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 689: 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653},
// 465
- {1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 668: 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610},
- {1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 668: 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609},
- {1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 668: 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608},
- {1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 668: 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607},
- {1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 668: 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606},
+ {1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 689: 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652},
+ {1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 689: 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651},
+ {1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 689: 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650},
+ {1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 689: 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649},
+ {1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 689: 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648},
// 470
- {1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 668: 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605},
- {1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 668: 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604},
- {1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 668: 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603},
- {1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 668: 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602},
- {1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 668: 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601},
+ {1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 689: 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647},
+ {1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 689: 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646},
+ {1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 689: 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645},
+ {1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 689: 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644},
+ {1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 689: 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643},
// 475
- {1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 668: 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600},
- {1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 668: 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599},
- {1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 668: 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598},
- {1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 668: 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597},
- {1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 668: 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596},
+ {1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 689: 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642},
+ {1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 689: 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641},
+ {1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 689: 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640},
+ {1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 689: 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639},
+ {1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 689: 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638},
// 480
- {1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 668: 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595},
- {1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 668: 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594},
- {1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 668: 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593},
- {1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 668: 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592},
- {1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 668: 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591},
+ {1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 689: 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637},
+ {1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 689: 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636},
+ {1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 689: 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635},
+ {1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 689: 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634},
+ {1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 689: 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633},
// 485
- {1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 668: 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590},
- {1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 668: 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589},
- {1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 668: 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588},
- {1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 668: 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587},
- {1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 668: 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586},
+ {1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 689: 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632},
+ {1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 689: 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631},
+ {1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 689: 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630},
+ {1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 689: 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629},
+ {1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 689: 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628},
// 490
- {1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 668: 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585},
- {1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 668: 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584},
- {1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 668: 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583},
- {1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 668: 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582},
- {1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 668: 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581},
+ {1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 689: 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627},
+ {1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 689: 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626},
+ {1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 689: 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625},
+ {1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 689: 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624},
+ {1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 689: 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623},
// 495
- {1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 668: 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580},
- {1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 668: 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579},
- {1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 668: 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578},
- {1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 668: 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577},
- {1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 668: 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576},
+ {1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 689: 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622},
+ {1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 689: 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621},
+ {1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 689: 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620},
+ {1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 689: 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619},
+ {1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 689: 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618},
// 500
- {1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 668: 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575},
- {1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 668: 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574},
- {1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 668: 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573},
- {1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 668: 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572},
- {1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 668: 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571},
+ {1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 689: 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617},
+ {1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 689: 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616},
+ {1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 689: 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615},
+ {1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 689: 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614},
+ {1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 689: 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613, 1613},
// 505
- {1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 668: 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570},
- {1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 668: 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569},
- {1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 668: 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568},
- {1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 668: 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567},
- {1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 668: 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566},
+ {1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 689: 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612},
+ {1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 689: 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611},
+ {1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 689: 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610},
+ {1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 689: 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609},
+ {1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 689: 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608},
// 510
- {1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 668: 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565},
- {1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 668: 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564},
- {1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 668: 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563},
- {1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 668: 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562},
- {1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 668: 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561},
+ {1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 689: 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607},
+ {1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 689: 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606},
+ {1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 689: 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605},
+ {1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 689: 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604},
+ {1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 689: 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603},
// 515
- {1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 668: 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560},
- {1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 668: 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559},
- {1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 668: 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558},
- {1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 668: 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557},
- {1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 668: 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556},
+ {1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 689: 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602},
+ {1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 689: 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601},
+ {1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 689: 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600},
+ {1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 689: 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599},
+ {1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 689: 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598},
// 520
- {1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 668: 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555},
- {1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 668: 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554},
- {1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 668: 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553},
- {1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 668: 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552},
- {1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 4087, 1549, 1549, 1549, 1549, 1549, 483: 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 492: 1549, 1549, 1549, 496: 1549, 1549, 499: 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 509: 1549, 1549, 512: 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 534: 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 568: 1549, 1549, 597: 1549, 655: 1549, 659: 1549, 1549},
+ {1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 689: 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597},
+ {1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 689: 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596},
+ {1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 689: 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595},
+ {1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 689: 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594},
+ {1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 689: 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593},
// 525
- {1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 4076, 1548, 1548, 1548, 1548, 1548, 483: 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 492: 1548, 1548, 1548, 496: 1548, 1548, 499: 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 509: 1548, 1548, 512: 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 534: 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 568: 1548, 1548, 597: 1548, 655: 1548, 659: 1548, 1548},
- {1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 668: 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547},
- {1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 668: 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546},
- {1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 668: 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545},
- {1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 668: 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544},
+ {1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 689: 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592},
+ {1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 689: 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591},
+ {1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 689: 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590},
+ {1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 689: 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589},
+ {1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 689: 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588},
// 530
- {1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 668: 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543},
- {1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 668: 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542},
- {1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 668: 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541},
- {1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 668: 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540},
- {1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 668: 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539},
+ {1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 689: 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587},
+ {1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 4162, 1584, 1584, 1584, 496: 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 507: 1584, 1584, 510: 1584, 1584, 1584, 515: 1584, 1584, 1584, 1584, 1584, 1584, 522: 1584, 1584, 525: 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 549: 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 583: 1584, 1584, 1584, 615: 1584, 671: 1584, 675: 1584, 1584},
+ {1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 4151, 1583, 1583, 1583, 496: 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 507: 1583, 1583, 510: 1583, 1583, 1583, 515: 1583, 1583, 1583, 1583, 1583, 1583, 522: 1583, 1583, 525: 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 549: 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 583: 1583, 1583, 1583, 615: 1583, 671: 1583, 675: 1583, 1583},
+ {1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 689: 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582},
+ {1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 689: 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581},
// 535
- {1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 668: 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538},
- {1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 668: 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537},
- {1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 668: 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536},
- {1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 668: 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535},
- {1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 668: 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534},
+ {1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 689: 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580},
+ {1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 689: 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579},
+ {1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 689: 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578},
+ {1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 689: 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577},
+ {1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 689: 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576},
// 540
- {1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 668: 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533},
- {1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 668: 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532},
- {1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 668: 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531},
- {1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 668: 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530},
- {1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 668: 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529},
+ {1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 689: 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575},
+ {1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 689: 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574},
+ {1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 689: 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573},
+ {1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 689: 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572},
+ {1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 689: 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571},
// 545
- {1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 668: 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528},
- {1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 668: 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527},
- {1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 668: 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526},
- {1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 668: 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525},
- {1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 668: 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524},
+ {1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 689: 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570},
+ {1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 689: 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569},
+ {1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 689: 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568},
+ {1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 689: 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567},
+ {1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 689: 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566},
// 550
- {1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 668: 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523},
- {1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 668: 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522},
- {1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 668: 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521},
- {1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 668: 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520},
- {1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 668: 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519},
+ {1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 689: 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565},
+ {1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 689: 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564},
+ {1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 689: 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563},
+ {1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 689: 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562},
+ {1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 689: 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561},
// 555
- {1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 668: 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518},
- {1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 668: 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517},
- {1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 668: 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516},
- {1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 668: 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515},
- {1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 668: 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514},
+ {1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 689: 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560},
+ {1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 689: 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559},
+ {1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 689: 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558},
+ {1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 689: 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557},
+ {1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 689: 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556},
// 560
- {1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 668: 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513},
- {1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 668: 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512},
- {1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 668: 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511},
- {1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 668: 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510},
- {1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 668: 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509},
+ {1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 689: 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555},
+ {1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 689: 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554},
+ {1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 689: 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553, 1553},
+ {1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 689: 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552},
+ {1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 689: 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551},
// 565
- {1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 668: 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508},
- {1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 668: 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507},
- {1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 668: 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506},
- {1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 668: 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505},
- {1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 668: 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504},
+ {1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 689: 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550},
+ {1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 689: 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549},
+ {1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 689: 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548},
+ {1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 689: 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547},
+ {1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 689: 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546},
// 570
- {1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 668: 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503},
- {1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 668: 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502},
- {1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 668: 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501},
- {1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 668: 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500},
- {1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 668: 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499},
+ {1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 689: 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545},
+ {1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 689: 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544},
+ {1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 689: 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543},
+ {1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 689: 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542},
+ {1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 689: 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541},
// 575
- {1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 668: 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498},
- {1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 668: 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497},
- {1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 668: 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496},
- {1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 668: 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495},
- {1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 668: 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494},
+ {1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 689: 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540},
+ {1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 689: 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539},
+ {1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 689: 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538},
+ {1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 689: 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537},
+ {1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 689: 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536},
// 580
- {1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 668: 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493},
- {1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 668: 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492},
- {1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 668: 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491},
- {1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 668: 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490},
- {1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 668: 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489},
+ {1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 689: 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535},
+ {1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 689: 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534},
+ {1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 689: 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533},
+ {1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 689: 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532},
+ {1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 689: 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531},
// 585
- {1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 668: 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488},
- {1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 668: 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487},
- {1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 668: 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486},
- {1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 668: 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485},
- {1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 668: 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484},
+ {1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 689: 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530},
+ {1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 689: 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529},
+ {1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 689: 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528},
+ {1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 689: 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527},
+ {1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 689: 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526},
// 590
- {1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 668: 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483},
- {1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 668: 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482},
- {1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 668: 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481},
- {1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 668: 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480},
- {1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 668: 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479},
+ {1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 689: 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525},
+ {1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 689: 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524},
+ {1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 689: 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523},
+ {1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 689: 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522},
+ {1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 689: 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521},
// 595
- {1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 668: 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478},
- {1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 668: 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477},
- {1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 668: 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476},
- {1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 668: 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475},
- {1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 668: 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474},
+ {1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 689: 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520},
+ {1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 689: 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519},
+ {1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 689: 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518},
+ {1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 689: 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517},
+ {1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 689: 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516},
// 600
- {1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 668: 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473},
- {1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 668: 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472},
- {1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 668: 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471},
- {1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 668: 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470},
- {1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 668: 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469},
+ {1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 689: 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515},
+ {1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 689: 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514},
+ {1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 689: 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513},
+ {1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 689: 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512},
+ {1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 689: 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511},
// 605
- {1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 668: 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468},
- {1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 668: 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467},
- {1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 668: 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466},
- {1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 668: 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465},
- {1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 668: 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464},
+ {1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 689: 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510},
+ {1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 689: 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509},
+ {1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 689: 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508},
+ {1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 689: 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507},
+ {1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 689: 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506},
// 610
- {1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 668: 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463},
- {1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 668: 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462},
- {1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 668: 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461},
- {1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1165, 1460, 1460, 1460, 1460, 1460, 483: 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 492: 1460, 1460, 1460, 496: 1460, 1460, 499: 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 509: 1460, 1460, 512: 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 534: 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 568: 1460, 1460, 597: 1460, 655: 1460, 659: 1460, 1460},
- {1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 668: 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459},
+ {1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 689: 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505},
+ {1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 689: 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504},
+ {1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 689: 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503},
+ {1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 689: 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502},
+ {1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 689: 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501},
// 615
- {1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 668: 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458},
- {1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 668: 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457},
- {1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 668: 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456},
- {1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 668: 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455},
- {1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 668: 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454},
+ {1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 689: 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500},
+ {1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 689: 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499},
+ {1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 689: 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498},
+ {1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 689: 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497},
+ {1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 689: 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496},
// 620
- {1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 668: 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453},
- {1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 668: 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452},
- {1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 668: 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451},
- {1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 668: 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450},
- {1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 668: 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449},
+ {1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 689: 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495},
+ {1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 689: 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494},
+ {1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 689: 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493},
+ {1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 689: 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492},
+ {1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 689: 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491},
// 625
- {1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 668: 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448},
- {1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 668: 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447},
- {1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 668: 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446},
- {1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 4067, 1445, 1445, 1445, 1445, 1445, 483: 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 492: 1445, 1445, 1445, 496: 1445, 1445, 499: 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 509: 1445, 1445, 512: 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 534: 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 568: 1445, 1445, 597: 1445, 655: 1445, 659: 1445, 1445},
- {1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 668: 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444},
+ {1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 689: 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490},
+ {1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 689: 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489},
+ {1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1185, 1488, 1488, 1488, 496: 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 507: 1488, 1488, 510: 1488, 1488, 1488, 515: 1488, 1488, 1488, 1488, 1488, 1488, 522: 1488, 1488, 525: 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 549: 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 583: 1488, 1488, 1488, 615: 1488, 671: 1488, 675: 1488, 1488},
+ {1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 689: 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487},
+ {1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 689: 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486},
// 630
- {1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 668: 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443},
- {1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 668: 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442},
- {1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 668: 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441},
- {1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 668: 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440},
- {1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 668: 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439},
+ {1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 689: 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485},
+ {1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 689: 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484},
+ {1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 689: 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483},
+ {1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 689: 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482},
+ {1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 689: 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481},
// 635
- {1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 668: 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438},
- {1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 668: 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437},
- {1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 668: 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436},
- {1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 668: 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435},
- {1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 668: 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434},
+ {1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 689: 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480},
+ {1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 689: 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479},
+ {1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 689: 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478},
+ {1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 689: 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477},
+ {1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 689: 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476},
// 640
- {1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 668: 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433},
- {1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 668: 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432},
- {1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 668: 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431},
- {1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 668: 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430},
- {1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 668: 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429},
+ {1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 689: 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475},
+ {1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 689: 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474},
+ {1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 689: 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473},
+ {1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 4142, 1472, 1472, 1472, 496: 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 507: 1472, 1472, 510: 1472, 1472, 1472, 515: 1472, 1472, 1472, 1472, 1472, 1472, 522: 1472, 1472, 525: 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 549: 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 583: 1472, 1472, 1472, 615: 1472, 671: 1472, 675: 1472, 1472},
+ {1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 689: 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471},
// 645
- {1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 668: 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428},
- {1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1164, 1427, 1427, 1427, 1427, 1427, 483: 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 492: 1427, 1427, 1427, 496: 1427, 1427, 499: 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 509: 1427, 1427, 512: 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 534: 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 568: 1427, 1427, 597: 1427, 655: 1427, 659: 1427, 1427},
- {1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 668: 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426},
- {1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 668: 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425},
- {1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 668: 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424},
+ {1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 689: 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470},
+ {1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 689: 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469},
+ {1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 689: 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468},
+ {1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 689: 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467},
+ {1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 689: 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466},
// 650
- {1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 668: 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423},
- {1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 668: 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422},
- {1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 668: 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421},
- {1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 668: 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420},
- {1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 668: 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419},
+ {1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 689: 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465},
+ {1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 689: 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464},
+ {1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 689: 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463},
+ {1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 689: 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462},
+ {1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 689: 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461},
// 655
- {1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 668: 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418},
- {1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 668: 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417},
- {1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 668: 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416},
- {1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 4060, 1415, 1415, 1415, 1415, 1415, 483: 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 492: 1415, 1415, 1415, 496: 1415, 1415, 499: 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 509: 1415, 1415, 512: 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 534: 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 568: 1415, 1415, 597: 1415, 655: 1415, 659: 1415, 1415},
- {1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 4053, 1414, 1414, 1414, 1414, 1414, 483: 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 492: 1414, 1414, 1414, 496: 1414, 1414, 499: 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 509: 1414, 1414, 512: 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 534: 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 568: 1414, 1414, 597: 1414, 655: 1414, 659: 1414, 1414},
+ {1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 689: 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460},
+ {1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 689: 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459},
+ {1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 689: 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458},
+ {1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 689: 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457},
+ {1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 689: 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456},
// 660
- {1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 668: 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413},
- {1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 668: 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412},
- {1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 668: 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411},
- {1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 668: 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410},
- {1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 668: 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409},
+ {1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 689: 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455},
+ {1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1184, 1454, 1454, 1454, 496: 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 507: 1454, 1454, 510: 1454, 1454, 1454, 515: 1454, 1454, 1454, 1454, 1454, 1454, 522: 1454, 1454, 525: 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 549: 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 583: 1454, 1454, 1454, 615: 1454, 671: 1454, 675: 1454, 1454},
+ {1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 689: 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453},
+ {1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 689: 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452},
+ {1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 689: 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451},
// 665
- {1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 668: 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408},
- {1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 668: 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407},
- {1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 668: 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406},
- {1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 668: 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405},
- {1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 668: 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404},
+ {1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 689: 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450},
+ {1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 689: 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449},
+ {1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 689: 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448},
+ {1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 689: 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447},
+ {1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 689: 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446},
// 670
- {1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 668: 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403},
- {1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 668: 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402},
- {1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 668: 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401},
- {1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 668: 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400},
- {1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 668: 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399},
+ {1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 689: 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445},
+ {1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 689: 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444},
+ {1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 689: 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443},
+ {1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 4135, 1442, 1442, 1442, 496: 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 507: 1442, 1442, 510: 1442, 1442, 1442, 515: 1442, 1442, 1442, 1442, 1442, 1442, 522: 1442, 1442, 525: 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 549: 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 583: 1442, 1442, 1442, 615: 1442, 671: 1442, 675: 1442, 1442},
+ {1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 4128, 1441, 1441, 1441, 496: 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 507: 1441, 1441, 510: 1441, 1441, 1441, 515: 1441, 1441, 1441, 1441, 1441, 1441, 522: 1441, 1441, 525: 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 549: 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 583: 1441, 1441, 1441, 615: 1441, 671: 1441, 675: 1441, 1441},
// 675
- {1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 668: 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398},
- {1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 668: 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397},
- {1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 668: 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396},
- {1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 668: 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395},
- {1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 4033, 1394, 1394, 1394, 1394, 1394, 483: 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 492: 1394, 1394, 1394, 496: 1394, 1394, 499: 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 509: 1394, 1394, 512: 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 534: 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 568: 1394, 1394, 597: 1394, 655: 1394, 659: 1394, 1394},
+ {1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 689: 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440},
+ {1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 689: 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439},
+ {1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 689: 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438},
+ {1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 689: 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437},
+ {1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 689: 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436},
// 680
- {1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 4025, 1393, 1393, 1393, 1393, 1393, 483: 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 492: 1393, 1393, 1393, 496: 1393, 1393, 499: 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 509: 1393, 1393, 512: 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 534: 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 568: 1393, 1393, 597: 1393, 655: 1393, 659: 1393, 1393},
- {1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 668: 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392},
- {1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 668: 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391},
- {1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 668: 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390},
- {1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 668: 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389},
+ {1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 689: 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435},
+ {1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 689: 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434},
+ {1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 689: 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433},
+ {1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 689: 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432},
+ {1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 689: 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431},
// 685
- {1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 668: 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388},
- {1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 668: 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387},
- {1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 668: 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386},
- {1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 668: 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385},
- {1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 668: 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384},
+ {1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 689: 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430},
+ {1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 689: 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429},
+ {1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 689: 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428},
+ {1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 689: 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427},
+ {1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 689: 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426},
// 690
- {1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 668: 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383},
- {1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 668: 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382},
- {1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 668: 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381},
- {1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 668: 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380},
- {1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 668: 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379},
+ {1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 689: 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425},
+ {1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 689: 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424},
+ {1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 689: 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423},
+ {1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 689: 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422},
+ {1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 4108, 1421, 1421, 1421, 496: 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 507: 1421, 1421, 510: 1421, 1421, 1421, 515: 1421, 1421, 1421, 1421, 1421, 1421, 522: 1421, 1421, 525: 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 549: 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 583: 1421, 1421, 1421, 615: 1421, 671: 1421, 675: 1421, 1421},
// 695
- {1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 668: 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378},
- {1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 668: 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377},
- {1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 668: 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376},
- {1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 477: 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 499: 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 509: 1338, 1338, 512: 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 534: 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 568: 1338, 1338, 584: 1338, 593: 1338, 1338, 597: 1338, 645: 1338, 1338, 1338, 1338},
- {1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 477: 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 499: 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 509: 1337, 1337, 512: 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 534: 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 568: 1337, 1337, 584: 1337, 593: 1337, 1337, 597: 1337, 645: 1337, 1337, 1337, 1337},
+ {1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 4100, 1420, 1420, 1420, 496: 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 507: 1420, 1420, 510: 1420, 1420, 1420, 515: 1420, 1420, 1420, 1420, 1420, 1420, 522: 1420, 1420, 525: 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 549: 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 583: 1420, 1420, 1420, 615: 1420, 671: 1420, 675: 1420, 1420},
+ {1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 689: 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419},
+ {1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 689: 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418},
+ {1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 689: 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417},
+ {1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 689: 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416},
// 700
- {1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 477: 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 499: 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 509: 1336, 1336, 512: 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 534: 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 568: 1336, 1336, 584: 1336, 593: 1336, 1336, 597: 1336, 645: 1336, 1336, 1336, 1336},
- {1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 477: 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 499: 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 509: 1335, 1335, 512: 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 534: 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 568: 1335, 1335, 584: 1335, 593: 1335, 1335, 597: 1335, 645: 1335, 1335, 1335, 1335},
- {1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 477: 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 499: 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 509: 1334, 1334, 512: 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 534: 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 568: 1334, 1334, 584: 1334, 593: 1334, 1334, 597: 1334, 645: 1334, 1334, 1334, 1334},
- {1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 477: 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 499: 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 509: 1333, 1333, 512: 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 534: 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 568: 1333, 1333, 584: 1333, 593: 1333, 1333, 597: 1333, 645: 1333, 1333, 1333, 1333},
- {1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 477: 1332, 4024, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 499: 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 509: 1332, 1332, 512: 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 534: 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 568: 1332, 1332, 584: 1332, 593: 1332, 1332, 597: 1332, 645: 1332, 1332, 1332, 1332},
+ {1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 689: 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415},
+ {1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 689: 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414},
+ {1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 689: 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413},
+ {1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 689: 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412},
+ {1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 689: 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411},
// 705
- {478: 4021, 579: 4022, 583: 4023},
- {1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 477: 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 499: 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 509: 1330, 1330, 512: 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 534: 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 568: 1330, 1330, 584: 1330, 593: 1330, 1330, 597: 1330, 645: 1330, 1330, 1330, 1330},
- {1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 477: 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 499: 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 509: 1329, 1329, 512: 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 534: 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 568: 1329, 1329, 584: 1329, 593: 1329, 1329, 597: 1329, 645: 1329, 1329, 1329, 1329},
- {1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 477: 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 499: 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 509: 1326, 1326, 512: 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 534: 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 568: 1326, 1326, 584: 1326, 593: 1326, 1326, 597: 1326, 645: 1326, 1326, 1326, 1326},
- {1321, 1321, 9: 3438, 50: 1321, 128: 1321, 475: 1321, 477: 1321, 483: 1321, 1321, 493: 1321, 1321, 496: 1321, 1321, 499: 1321, 1321, 504: 1321},
+ {1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 689: 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410},
+ {1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 689: 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409},
+ {1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 689: 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408},
+ {1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 689: 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407},
+ {1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 689: 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406},
// 710
- {1320, 1320, 9: 1320, 50: 1320, 128: 1320, 475: 1320, 477: 1320, 483: 1320, 1320, 493: 1320, 1320, 496: 1320, 1320, 499: 1320, 1320, 504: 1320, 1320, 517: 1320, 519: 1320, 527: 1320, 530: 1320, 1320},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 1240, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4019},
- {1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 477: 1294, 1294, 1294, 1294, 1294, 483: 1294, 1294, 1294, 1294, 3376, 1294, 1294, 1294, 492: 1294, 1294, 1294, 496: 1294, 1294, 499: 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 509: 1294, 1294, 512: 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 534: 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 568: 1294, 1294, 597: 3377},
- {1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 477: 1293, 1293, 1293, 1293, 1293, 483: 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 492: 1293, 1293, 1293, 496: 1293, 1293, 499: 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 509: 1293, 1293, 512: 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 534: 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 568: 1293, 1293, 597: 1293, 655: 4014, 659: 1293, 1293},
- {1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 477: 1290, 1290, 1290, 1290, 1290, 483: 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 492: 1290, 1290, 1290, 496: 1290, 1290, 499: 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 509: 1290, 1290, 512: 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 534: 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 568: 1290, 1290, 597: 1290, 659: 4010, 4011},
+ {1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 689: 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405},
+ {1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 689: 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404},
+ {1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 689: 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403},
+ {1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 689: 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402},
+ {1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 689: 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401},
// 715
- {1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 477: 1289, 1289, 1289, 1289, 1289, 483: 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 492: 1289, 1289, 1289, 496: 1289, 1289, 499: 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 509: 1289, 1289, 512: 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 534: 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 568: 1289, 1289, 597: 1289},
- {1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 477: 1288, 1288, 1288, 1288, 1288, 483: 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 492: 1288, 1288, 1288, 496: 1288, 1288, 499: 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 509: 1288, 1288, 512: 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 534: 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 568: 1288, 1288, 597: 1288},
- {1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 477: 1287, 1287, 1287, 1287, 1287, 483: 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 492: 1287, 1287, 1287, 496: 1287, 1287, 499: 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 509: 1287, 1287, 512: 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 534: 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 568: 1287, 1287, 597: 1287},
- {1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 477: 1285, 1285, 1285, 1285, 1285, 483: 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 492: 1285, 1285, 1285, 496: 1285, 1285, 499: 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 509: 1285, 1285, 512: 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 534: 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 568: 1285, 1285, 597: 1285},
- {1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 477: 1284, 1284, 1284, 1284, 1284, 483: 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 492: 1284, 1284, 1284, 496: 1284, 1284, 499: 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 509: 1284, 1284, 512: 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 534: 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 568: 1284, 1284, 597: 1284},
+ {1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 689: 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400},
+ {1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 689: 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399},
+ {1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 689: 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398},
+ {1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 492: 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 515: 1360, 1360, 1360, 1360, 1360, 1360, 522: 1360, 1360, 525: 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 549: 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 583: 1360, 1360, 1360, 599: 1360, 606: 1360, 612: 1360, 615: 1360, 661: 1360, 1360, 1360, 665: 1360},
+ {1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 492: 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 515: 1359, 1359, 1359, 1359, 1359, 1359, 522: 1359, 1359, 525: 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 549: 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 583: 1359, 1359, 1359, 599: 1359, 606: 1359, 612: 1359, 615: 1359, 661: 1359, 1359, 1359, 665: 1359},
// 720
- {1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 477: 1283, 1283, 1283, 1283, 1283, 483: 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 492: 1283, 1283, 1283, 496: 1283, 1283, 499: 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 509: 1283, 1283, 512: 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 534: 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 568: 1283, 1283, 597: 1283},
- {1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 477: 1282, 1282, 1282, 1282, 1282, 483: 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 492: 1282, 1282, 1282, 496: 1282, 1282, 499: 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 509: 1282, 1282, 512: 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 534: 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 568: 1282, 1282, 597: 1282},
- {1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 477: 1281, 1281, 1281, 1281, 1281, 483: 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 492: 1281, 1281, 1281, 496: 1281, 1281, 499: 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 509: 1281, 1281, 512: 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 534: 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 568: 1281, 1281, 597: 1281},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3374, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 4009, 3279, 3360, 3278, 3275},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3374, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 4008, 3279, 3360, 3278, 3275},
+ {1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 492: 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 515: 1358, 1358, 1358, 1358, 1358, 1358, 522: 1358, 1358, 525: 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 549: 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 583: 1358, 1358, 1358, 599: 1358, 606: 1358, 612: 1358, 615: 1358, 661: 1358, 1358, 1358, 665: 1358},
+ {1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 492: 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 515: 1357, 1357, 1357, 1357, 1357, 1357, 522: 1357, 1357, 525: 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 549: 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 583: 1357, 1357, 1357, 599: 1357, 606: 1357, 612: 1357, 615: 1357, 661: 1357, 1357, 1357, 665: 1357},
+ {1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 492: 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 515: 1356, 1356, 1356, 1356, 1356, 1356, 522: 1356, 1356, 525: 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 549: 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 583: 1356, 1356, 1356, 599: 1356, 606: 1356, 612: 1356, 615: 1356, 661: 1356, 1356, 1356, 665: 1356},
+ {1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 492: 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 515: 1355, 1355, 1355, 1355, 1355, 1355, 522: 1355, 1355, 525: 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 549: 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 583: 1355, 1355, 1355, 599: 1355, 606: 1355, 612: 1355, 615: 1355, 661: 1355, 1355, 1355, 665: 1355},
+ {1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 492: 4099, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 515: 1354, 1354, 1354, 1354, 1354, 1354, 522: 1354, 1354, 525: 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 549: 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 583: 1354, 1354, 1354, 599: 1354, 606: 1354, 612: 1354, 615: 1354, 661: 1354, 1354, 1354, 665: 1354},
// 725
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3374, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 4007, 3279, 3360, 3278, 3275},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3374, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 4006, 3279, 3360, 3278, 3275},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3374, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 4005, 3279, 3360, 3278, 3275},
- {1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 477: 1274, 1274, 1274, 1274, 1274, 483: 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 492: 1274, 1274, 1274, 496: 1274, 1274, 499: 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 509: 1274, 1274, 512: 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 534: 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 568: 1274, 1274, 597: 1274},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 2607, 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3905, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 2605, 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 649: 2601, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3904, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3902, 752: 3907, 2602, 2603, 2604, 2613, 760: 2611, 2610, 2609, 3906, 3909, 3908, 782: 3903},
+ {492: 4096, 595: 4097, 597: 4098},
+ {1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 492: 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 515: 1352, 1352, 1352, 1352, 1352, 1352, 522: 1352, 1352, 525: 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 549: 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 583: 1352, 1352, 1352, 599: 1352, 606: 1352, 612: 1352, 615: 1352, 661: 1352, 1352, 1352, 665: 1352},
+ {1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 492: 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 515: 1351, 1351, 1351, 1351, 1351, 1351, 522: 1351, 1351, 525: 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 549: 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 583: 1351, 1351, 1351, 599: 1351, 606: 1351, 612: 1351, 615: 1351, 661: 1351, 1351, 1351, 665: 1351},
+ {1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 492: 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 515: 1348, 1348, 1348, 1348, 1348, 1348, 522: 1348, 1348, 525: 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 549: 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 583: 1348, 1348, 1348, 599: 1348, 606: 1348, 612: 1348, 615: 1348, 661: 1348, 1348, 1348, 665: 1348},
+ {1343, 1343, 9: 3511, 56: 1343, 139: 1343, 490: 1343, 493: 1343, 499: 1343, 1343, 508: 1343, 510: 1343, 1343, 1343, 515: 1343, 517: 1343, 520: 1343},
// 730
- {476: 3897},
- {476: 2608, 713: 3896},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3893, 2785, 2786, 2784},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3374, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3892, 3279, 3360, 3278, 3275},
- {476: 3887},
+ {1342, 1342, 9: 1342, 56: 1342, 139: 1342, 490: 1342, 493: 1342, 499: 1342, 1342, 508: 1342, 510: 1342, 1342, 1342, 515: 1342, 517: 1342, 520: 1342, 522: 1342, 532: 1342, 534: 1342, 542: 1342, 545: 1342, 1342},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 1260, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4094},
+ {1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 492: 1316, 1316, 1316, 496: 1316, 1316, 3449, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 507: 1316, 1316, 510: 1316, 1316, 1316, 515: 1316, 1316, 1316, 1316, 1316, 1316, 522: 1316, 1316, 525: 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 549: 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 583: 1316, 1316, 1316, 615: 3450},
+ {1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 492: 1315, 1315, 1315, 496: 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 507: 1315, 1315, 510: 1315, 1315, 1315, 515: 1315, 1315, 1315, 1315, 1315, 1315, 522: 1315, 1315, 525: 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 549: 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 583: 1315, 1315, 1315, 615: 1315, 671: 4089, 675: 1315, 1315},
+ {1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 492: 1312, 1312, 1312, 496: 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 507: 1312, 1312, 510: 1312, 1312, 1312, 515: 1312, 1312, 1312, 1312, 1312, 1312, 522: 1312, 1312, 525: 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 549: 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 583: 1312, 1312, 1312, 615: 1312, 675: 4085, 4086},
// 735
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 546: 1094, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3874, 1218: 3875},
- {476: 3816},
- {476: 3813},
- {476: 3805},
- {476: 1244},
+ {1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 492: 1311, 1311, 1311, 496: 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 507: 1311, 1311, 510: 1311, 1311, 1311, 515: 1311, 1311, 1311, 1311, 1311, 1311, 522: 1311, 1311, 525: 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 549: 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 583: 1311, 1311, 1311, 615: 1311},
+ {1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 492: 1310, 1310, 1310, 496: 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 507: 1310, 1310, 510: 1310, 1310, 1310, 515: 1310, 1310, 1310, 1310, 1310, 1310, 522: 1310, 1310, 525: 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 549: 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 583: 1310, 1310, 1310, 615: 1310},
+ {1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 492: 1309, 1309, 1309, 496: 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 507: 1309, 1309, 510: 1309, 1309, 1309, 515: 1309, 1309, 1309, 1309, 1309, 1309, 522: 1309, 1309, 525: 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 549: 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 583: 1309, 1309, 1309, 615: 1309},
+ {1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 492: 1307, 1307, 1307, 496: 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 507: 1307, 1307, 510: 1307, 1307, 1307, 515: 1307, 1307, 1307, 1307, 1307, 1307, 522: 1307, 1307, 525: 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 549: 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 583: 1307, 1307, 1307, 615: 1307},
+ {1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 492: 1306, 1306, 1306, 496: 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 507: 1306, 1306, 510: 1306, 1306, 1306, 515: 1306, 1306, 1306, 1306, 1306, 1306, 522: 1306, 1306, 525: 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 549: 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 583: 1306, 1306, 1306, 615: 1306},
// 740
- {476: 1241},
- {476: 1238},
- {476: 1234},
- {476: 1232},
- {476: 1231},
+ {1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 492: 1305, 1305, 1305, 496: 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 507: 1305, 1305, 510: 1305, 1305, 1305, 515: 1305, 1305, 1305, 1305, 1305, 1305, 522: 1305, 1305, 525: 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 549: 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 583: 1305, 1305, 1305, 615: 1305},
+ {1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 492: 1304, 1304, 1304, 496: 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 507: 1304, 1304, 510: 1304, 1304, 1304, 515: 1304, 1304, 1304, 1304, 1304, 1304, 522: 1304, 1304, 525: 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 549: 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 583: 1304, 1304, 1304, 615: 1304},
+ {1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 492: 1303, 1303, 1303, 496: 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 507: 1303, 1303, 510: 1303, 1303, 1303, 515: 1303, 1303, 1303, 1303, 1303, 1303, 522: 1303, 1303, 525: 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 549: 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 583: 1303, 1303, 1303, 615: 1303},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3447, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 4084, 3352, 3433, 3351, 3348},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3447, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 4083, 3352, 3433, 3351, 3348},
// 745
- {476: 1229},
- {1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 483: 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 492: 1218, 1218, 1218, 496: 1218, 1218, 499: 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 509: 1218, 1218, 512: 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 534: 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 568: 1218, 1218, 597: 1218},
- {1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 483: 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 492: 1217, 1217, 1217, 496: 1217, 1217, 499: 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 509: 1217, 1217, 512: 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 534: 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 568: 1217, 1217, 597: 1217},
- {1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 483: 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 492: 1216, 1216, 1216, 496: 1216, 1216, 499: 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 509: 1216, 1216, 512: 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 534: 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 568: 1216, 1216, 597: 1216},
- {1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 483: 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 492: 1215, 1215, 1215, 496: 1215, 1215, 499: 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 509: 1215, 1215, 512: 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 534: 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 568: 1215, 1215, 597: 1215},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3447, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 4082, 3352, 3433, 3351, 3348},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3447, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 4081, 3352, 3433, 3351, 3348},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3447, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 4080, 3352, 3433, 3351, 3348},
+ {1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 492: 1296, 1296, 1296, 496: 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 507: 1296, 1296, 510: 1296, 1296, 1296, 515: 1296, 1296, 1296, 1296, 1296, 1296, 522: 1296, 1296, 525: 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 549: 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 583: 1296, 1296, 1296, 615: 1296},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 2660, 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3980, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 2658, 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 664: 2654, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3979, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3977, 769: 3982, 2655, 2656, 2657, 2666, 777: 2664, 2663, 2662, 3981, 3984, 3983, 800: 3978},
// 750
- {1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 483: 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 492: 1214, 1214, 1214, 496: 1214, 1214, 499: 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 509: 1214, 1214, 512: 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 534: 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 568: 1214, 1214, 597: 1214},
- {1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 483: 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 492: 1213, 1213, 1213, 496: 1213, 1213, 499: 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 509: 1213, 1213, 512: 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 534: 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 568: 1213, 1213, 597: 1213},
- {1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 483: 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 492: 1212, 1212, 1212, 496: 1212, 1212, 499: 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 509: 1212, 1212, 512: 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 534: 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 568: 1212, 1212, 597: 1212},
- {1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 483: 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 492: 1211, 1211, 1211, 496: 1211, 1211, 499: 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 509: 1211, 1211, 512: 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 534: 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 568: 1211, 1211, 597: 1211},
- {1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 483: 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 492: 1210, 1210, 1210, 496: 1210, 1210, 499: 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 509: 1210, 1210, 512: 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 534: 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 568: 1210, 1210, 597: 1210},
+ {491: 3972},
+ {491: 2661, 730: 3971},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 3968, 2843, 2844, 2842},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3447, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3967, 3352, 3433, 3351, 3348},
+ {491: 3960},
// 755
- {1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 483: 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 492: 1209, 1209, 1209, 496: 1209, 1209, 499: 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 509: 1209, 1209, 512: 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 534: 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 568: 1209, 1209, 597: 1209},
- {1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 483: 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 492: 1208, 1208, 1208, 496: 1208, 1208, 499: 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 509: 1208, 1208, 512: 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 534: 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 568: 1208, 1208, 597: 1208},
- {476: 3802},
- {476: 3799},
- {1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 3796, 1220, 1220, 1220, 1220, 1220, 483: 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 492: 1220, 1220, 1220, 496: 1220, 1220, 499: 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 509: 1220, 1220, 512: 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 534: 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 568: 1220, 1220, 597: 1220, 1100: 3797},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 561: 1114, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3947, 1241: 3948},
+ {491: 3889},
+ {491: 3886},
+ {491: 3878},
+ {491: 1264},
// 760
- {476: 3794},
- {1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 3790, 1126, 1126, 1126, 1126, 1126, 483: 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 492: 1126, 1126, 1126, 496: 1126, 1126, 499: 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 509: 1126, 1126, 512: 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 534: 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 568: 1126, 1126, 597: 1126, 1231: 3789},
- {476: 3781},
- {476: 3777},
- {476: 3772},
+ {491: 1261},
+ {491: 1258},
+ {491: 1254},
+ {491: 1252},
+ {491: 1251},
// 765
- {476: 3769},
- {476: 3764},
- {476: 3755},
- {476: 3748},
- {476: 3743},
+ {491: 1249},
+ {1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 496: 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 507: 1238, 1238, 510: 1238, 1238, 1238, 515: 1238, 1238, 1238, 1238, 1238, 1238, 522: 1238, 1238, 525: 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 549: 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 583: 1238, 1238, 1238, 615: 1238},
+ {1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 496: 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 507: 1237, 1237, 510: 1237, 1237, 1237, 515: 1237, 1237, 1237, 1237, 1237, 1237, 522: 1237, 1237, 525: 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 549: 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 583: 1237, 1237, 1237, 615: 1237},
+ {1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 496: 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 507: 1236, 1236, 510: 1236, 1236, 1236, 515: 1236, 1236, 1236, 1236, 1236, 1236, 522: 1236, 1236, 525: 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 549: 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 583: 1236, 1236, 1236, 615: 1236},
+ {1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 496: 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 507: 1235, 1235, 510: 1235, 1235, 1235, 515: 1235, 1235, 1235, 1235, 1235, 1235, 522: 1235, 1235, 525: 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 549: 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 583: 1235, 1235, 1235, 615: 1235},
// 770
- {476: 3706},
- {476: 3692},
- {476: 3675},
- {1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 477: 1173, 1173, 1173, 1173, 1173, 483: 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 492: 1173, 1173, 1173, 496: 1173, 1173, 499: 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 509: 1173, 1173, 512: 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 534: 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 568: 1173, 1173, 597: 1173},
- {476: 3668},
+ {1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 496: 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 507: 1234, 1234, 510: 1234, 1234, 1234, 515: 1234, 1234, 1234, 1234, 1234, 1234, 522: 1234, 1234, 525: 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 549: 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 583: 1234, 1234, 1234, 615: 1234},
+ {1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 496: 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 507: 1233, 1233, 510: 1233, 1233, 1233, 515: 1233, 1233, 1233, 1233, 1233, 1233, 522: 1233, 1233, 525: 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 549: 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 583: 1233, 1233, 1233, 615: 1233},
+ {1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 496: 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 507: 1232, 1232, 510: 1232, 1232, 1232, 515: 1232, 1232, 1232, 1232, 1232, 1232, 522: 1232, 1232, 525: 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 549: 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 583: 1232, 1232, 1232, 615: 1232},
+ {1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 496: 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 507: 1231, 1231, 510: 1231, 1231, 1231, 515: 1231, 1231, 1231, 1231, 1231, 1231, 522: 1231, 1231, 525: 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 549: 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 583: 1231, 1231, 1231, 615: 1231},
+ {1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 496: 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 507: 1230, 1230, 510: 1230, 1230, 1230, 515: 1230, 1230, 1230, 1230, 1230, 1230, 522: 1230, 1230, 525: 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 549: 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 583: 1230, 1230, 1230, 615: 1230},
// 775
- {476: 1167},
- {476: 1166},
- {1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 477: 1158, 1158, 1158, 1158, 1158, 483: 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 492: 1158, 1158, 1158, 496: 1158, 1158, 499: 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 509: 1158, 1158, 512: 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 534: 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 568: 1158, 1158, 597: 1158},
- {476: 3665},
- {476: 3662},
+ {1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 496: 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 507: 1229, 1229, 510: 1229, 1229, 1229, 515: 1229, 1229, 1229, 1229, 1229, 1229, 522: 1229, 1229, 525: 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 549: 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 583: 1229, 1229, 1229, 615: 1229},
+ {1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 496: 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 507: 1228, 1228, 510: 1228, 1228, 1228, 515: 1228, 1228, 1228, 1228, 1228, 1228, 522: 1228, 1228, 525: 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 549: 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 583: 1228, 1228, 1228, 615: 1228},
+ {491: 3875},
+ {491: 3872},
+ {1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 3869, 1240, 1240, 1240, 496: 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 507: 1240, 1240, 510: 1240, 1240, 1240, 515: 1240, 1240, 1240, 1240, 1240, 1240, 522: 1240, 1240, 525: 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 549: 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 583: 1240, 1240, 1240, 615: 1240, 1120: 3870},
// 780
- {476: 3654},
- {476: 3646},
- {476: 3638},
- {476: 3624},
- {476: 3612},
+ {491: 3867},
+ {1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 3863, 1146, 1146, 1146, 496: 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 507: 1146, 1146, 510: 1146, 1146, 1146, 515: 1146, 1146, 1146, 1146, 1146, 1146, 522: 1146, 1146, 525: 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 549: 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 583: 1146, 1146, 1146, 615: 1146, 1254: 3862},
+ {491: 3854},
+ {491: 3850},
+ {491: 3845},
// 785
- {476: 3607},
- {476: 3602},
- {476: 3597},
- {476: 3592},
- {476: 3587},
+ {491: 3842},
+ {491: 3837},
+ {491: 3828},
+ {491: 3821},
+ {491: 3816},
// 790
- {476: 3582},
- {476: 3569},
- {476: 3566},
- {476: 3563},
- {476: 3560},
+ {491: 3779},
+ {491: 3765},
+ {491: 3748},
+ {1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 492: 1193, 1193, 1193, 496: 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 507: 1193, 1193, 510: 1193, 1193, 1193, 515: 1193, 1193, 1193, 1193, 1193, 1193, 522: 1193, 1193, 525: 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 549: 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 583: 1193, 1193, 1193, 615: 1193},
+ {491: 3741},
// 795
- {476: 3557},
- {476: 3554},
- {476: 3550},
- {476: 3544},
- {476: 3531},
+ {491: 1187},
+ {491: 1186},
+ {1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 492: 1178, 1178, 1178, 496: 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 507: 1178, 1178, 510: 1178, 1178, 1178, 515: 1178, 1178, 1178, 1178, 1178, 1178, 522: 1178, 1178, 525: 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 549: 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 583: 1178, 1178, 1178, 615: 1178},
+ {491: 3738},
+ {491: 3735},
// 800
- {476: 3526},
- {476: 3521},
- {476: 3363},
- {765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 477: 765, 765, 765, 765, 765, 483: 765, 765, 765, 765, 765, 765, 765, 765, 492: 765, 765, 765, 496: 765, 765, 499: 765, 765, 765, 765, 765, 765, 765, 765, 509: 765, 765, 512: 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 534: 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 568: 765, 765, 597: 765},
- {764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 477: 764, 764, 764, 764, 764, 483: 764, 764, 764, 764, 764, 764, 764, 764, 492: 764, 764, 764, 496: 764, 764, 499: 764, 764, 764, 764, 764, 764, 764, 764, 509: 764, 764, 512: 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 534: 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 568: 764, 764, 597: 764},
+ {491: 3727},
+ {491: 3719},
+ {491: 3711},
+ {491: 3697},
+ {491: 3685},
// 805
- {763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 477: 763, 763, 763, 763, 763, 483: 763, 763, 763, 763, 763, 763, 763, 763, 492: 763, 763, 763, 496: 763, 763, 499: 763, 763, 763, 763, 763, 763, 763, 763, 509: 763, 763, 512: 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 534: 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 763, 568: 763, 763, 597: 763},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3364},
- {9: 3372, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3520},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3519},
+ {491: 3680},
+ {491: 3675},
+ {491: 3670},
+ {491: 3665},
+ {491: 3660},
// 810
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3518},
- {2: 1944, 1944, 1944, 1944, 1944, 1944, 1944, 10: 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 51: 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 476: 1944, 478: 1944, 1944, 1944, 482: 1944, 485: 1944, 1944, 488: 1944, 1944, 1944, 495: 1944, 498: 1944, 507: 1944, 1944, 511: 1944, 533: 1944, 567: 1944, 570: 1944, 1944, 573: 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 585: 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 595: 1944, 1944, 598: 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 651: 1944},
- {2: 1943, 1943, 1943, 1943, 1943, 1943, 1943, 10: 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 51: 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 476: 1943, 478: 1943, 1943, 1943, 482: 1943, 485: 1943, 1943, 488: 1943, 1943, 1943, 495: 1943, 498: 1943, 507: 1943, 1943, 511: 1943, 533: 1943, 567: 1943, 570: 1943, 1943, 573: 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 585: 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 595: 1943, 1943, 598: 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 651: 1943},
- {2: 1942, 1942, 1942, 1942, 1942, 1942, 1942, 10: 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 51: 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 476: 1942, 478: 1942, 1942, 1942, 482: 1942, 485: 1942, 1942, 488: 1942, 1942, 1942, 495: 1942, 498: 1942, 507: 1942, 1942, 511: 1942, 533: 1942, 567: 1942, 570: 1942, 1942, 573: 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 585: 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 595: 1942, 1942, 598: 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 651: 1942},
- {2: 1941, 1941, 1941, 1941, 1941, 1941, 1941, 10: 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 51: 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 476: 1941, 478: 1941, 1941, 1941, 482: 1941, 485: 1941, 1941, 488: 1941, 1941, 1941, 495: 1941, 498: 1941, 507: 1941, 1941, 511: 1941, 533: 1941, 567: 1941, 570: 1941, 1941, 573: 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 585: 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 595: 1941, 1941, 598: 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 651: 1941},
+ {491: 3655},
+ {491: 3642},
+ {491: 3639},
+ {491: 3636},
+ {491: 3633},
// 815
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3374, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3373, 3279, 3360, 3278, 3275},
- {50: 3378, 487: 3376, 597: 3377},
- {476: 1240},
- {762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 477: 762, 762, 762, 762, 762, 483: 762, 762, 762, 762, 762, 762, 762, 762, 492: 762, 762, 762, 496: 762, 762, 499: 762, 762, 762, 762, 762, 762, 762, 762, 509: 762, 762, 512: 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 534: 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 568: 762, 762, 597: 762},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 533: 3515, 664: 3517, 2785, 2786, 2784, 742: 3514, 876: 3513},
+ {491: 3630},
+ {491: 3627},
+ {491: 3623},
+ {491: 3617},
+ {491: 3604},
// 820
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3374, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3512, 3279, 3360, 3278, 3275},
- {149: 949, 492: 949, 503: 3380, 746: 949, 1273: 3379},
- {149: 3384, 492: 3385, 746: 952, 889: 3383},
- {10: 3381, 185: 3382},
- {149: 948, 492: 948, 746: 948},
+ {491: 3599},
+ {491: 3594},
+ {491: 3436},
+ {785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 492: 785, 785, 785, 496: 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 507: 785, 785, 510: 785, 785, 785, 515: 785, 785, 785, 785, 785, 785, 522: 785, 785, 525: 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 549: 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 583: 785, 785, 785, 615: 785},
+ {784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 492: 784, 784, 784, 496: 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 507: 784, 784, 510: 784, 784, 784, 515: 784, 784, 784, 784, 784, 784, 522: 784, 784, 525: 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 549: 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 583: 784, 784, 784, 615: 784},
// 825
- {149: 947, 492: 947, 746: 947},
- {746: 3388, 751: 3389},
- {276: 3387},
- {276: 3386},
- {746: 950},
+ {783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 492: 783, 783, 783, 496: 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 507: 783, 783, 510: 783, 783, 783, 515: 783, 783, 783, 783, 783, 783, 522: 783, 783, 525: 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 549: 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 583: 783, 783, 783, 615: 783},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3437},
+ {9: 3445, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3593},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3592},
// 830
- {746: 951},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 3427, 664: 3426, 2785, 2786, 2784, 928: 3429, 1171: 3430, 1359: 3428},
- {958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 477: 958, 958, 958, 958, 958, 483: 958, 958, 958, 958, 958, 958, 958, 958, 492: 958, 958, 958, 496: 958, 958, 499: 958, 958, 958, 958, 958, 958, 958, 958, 509: 958, 958, 512: 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 534: 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 568: 958, 958, 597: 958},
- {1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 668: 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849},
- {1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 668: 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3591},
+ {2: 1982, 1982, 1982, 1982, 1982, 1982, 1982, 10: 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 57: 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 491: 1982, 1982, 494: 1982, 1982, 1982, 501: 1982, 1982, 1982, 1982, 1982, 509: 1982, 513: 1982, 1982, 521: 1982, 524: 1982, 548: 1982, 582: 1982, 586: 1982, 588: 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 600: 1982, 1982, 1982, 1982, 1982, 1982, 607: 1982, 1982, 1982, 1982, 1982, 613: 1982, 1982, 616: 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 668: 1982},
+ {2: 1981, 1981, 1981, 1981, 1981, 1981, 1981, 10: 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 57: 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 491: 1981, 1981, 494: 1981, 1981, 1981, 501: 1981, 1981, 1981, 1981, 1981, 509: 1981, 513: 1981, 1981, 521: 1981, 524: 1981, 548: 1981, 582: 1981, 586: 1981, 588: 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 600: 1981, 1981, 1981, 1981, 1981, 1981, 607: 1981, 1981, 1981, 1981, 1981, 613: 1981, 1981, 616: 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 668: 1981},
+ {2: 1980, 1980, 1980, 1980, 1980, 1980, 1980, 10: 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 57: 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 491: 1980, 1980, 494: 1980, 1980, 1980, 501: 1980, 1980, 1980, 1980, 1980, 509: 1980, 513: 1980, 1980, 521: 1980, 524: 1980, 548: 1980, 582: 1980, 586: 1980, 588: 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 600: 1980, 1980, 1980, 1980, 1980, 1980, 607: 1980, 1980, 1980, 1980, 1980, 613: 1980, 1980, 616: 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 668: 1980},
+ {2: 1979, 1979, 1979, 1979, 1979, 1979, 1979, 10: 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 57: 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 491: 1979, 1979, 494: 1979, 1979, 1979, 501: 1979, 1979, 1979, 1979, 1979, 509: 1979, 513: 1979, 1979, 521: 1979, 524: 1979, 548: 1979, 582: 1979, 586: 1979, 588: 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 600: 1979, 1979, 1979, 1979, 1979, 1979, 607: 1979, 1979, 1979, 1979, 1979, 613: 1979, 1979, 616: 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 668: 1979},
// 835
- {1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 668: 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831},
- {1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 668: 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820},
- {1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 668: 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809},
- {1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 668: 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807},
- {1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 668: 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3447, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3446, 3352, 3433, 3351, 3348},
+ {56: 3451, 498: 3449, 615: 3450},
+ {491: 1260},
+ {782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 492: 782, 782, 782, 496: 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 507: 782, 782, 510: 782, 782, 782, 515: 782, 782, 782, 782, 782, 782, 522: 782, 782, 525: 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 549: 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 583: 782, 782, 782, 615: 782},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 548: 3588, 685: 3590, 2843, 2844, 2842, 759: 3587, 894: 3586},
// 840
- {1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 668: 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778},
- {1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 668: 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768},
- {1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 668: 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743, 1743},
- {1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 668: 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742},
- {1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 668: 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3447, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3585, 3352, 3433, 3351, 3348},
+ {160: 969, 507: 969, 519: 3453, 763: 969, 1296: 3452},
+ {160: 3457, 507: 3458, 763: 972, 908: 3456},
+ {10: 3454, 196: 3455},
+ {160: 968, 507: 968, 763: 968},
// 845
- {1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 668: 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734},
- {1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 668: 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732},
- {1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 668: 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731},
- {1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 668: 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728},
- {1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 668: 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726},
+ {160: 967, 507: 967, 763: 967},
+ {763: 3461, 768: 3462},
+ {288: 3460},
+ {288: 3459},
+ {763: 970},
// 850
- {1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 668: 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713},
- {1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 668: 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690},
- {1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 668: 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673},
- {1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 668: 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672},
- {1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 668: 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671},
+ {763: 971},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 3500, 685: 3499, 2843, 2844, 2842, 946: 3502, 1194: 3503, 1382: 3501},
+ {978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 492: 978, 978, 978, 496: 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 507: 978, 978, 510: 978, 978, 978, 515: 978, 978, 978, 978, 978, 978, 522: 978, 978, 525: 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 549: 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 583: 978, 978, 978, 615: 978},
+ {1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 689: 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886},
+ {1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 689: 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880},
// 855
- {1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 668: 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667},
- {1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 668: 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666},
- {1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 668: 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660},
- {1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 668: 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551},
- {1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 668: 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550},
+ {1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 689: 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868},
+ {1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 689: 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857},
+ {1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 689: 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846},
+ {1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 689: 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844},
+ {1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 689: 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821},
// 860
- {1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 668: 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549},
- {1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 668: 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548},
- {1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 668: 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460},
- {1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 668: 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445},
- {1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 668: 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427},
+ {1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 689: 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815},
+ {1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 689: 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805},
+ {1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 689: 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779},
+ {1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 689: 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778},
+ {1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 689: 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775},
// 865
- {1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 668: 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415},
- {1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 668: 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414},
- {1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 668: 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394},
- {1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 668: 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393},
- {1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 477: 1000, 1000, 1000, 1000, 1000, 483: 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 496: 1000, 1000, 499: 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 509: 1000, 1000, 512: 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 534: 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 568: 1000, 1000, 597: 1000},
+ {1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 689: 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770},
+ {1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 689: 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768},
+ {1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 689: 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767},
+ {1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 689: 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764},
+ {1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 689: 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762},
// 870
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 997, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 491: 997, 505: 997, 527: 997, 530: 997, 997, 664: 3426, 2785, 2786, 2784, 928: 3433, 1272: 3432, 1360: 3431},
- {971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 477: 971, 971, 971, 971, 971, 483: 971, 971, 971, 971, 971, 971, 971, 971, 492: 971, 971, 971, 496: 971, 971, 499: 971, 971, 971, 971, 971, 971, 971, 971, 509: 971, 971, 512: 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 534: 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, 568: 971, 971, 597: 971},
- {970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 477: 970, 970, 970, 970, 970, 483: 970, 970, 970, 970, 970, 970, 970, 970, 492: 970, 970, 970, 496: 970, 970, 499: 970, 970, 970, 970, 970, 970, 970, 970, 509: 970, 970, 512: 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 534: 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 568: 970, 970, 597: 970},
- {969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 477: 969, 969, 969, 969, 969, 483: 969, 969, 969, 969, 969, 969, 969, 969, 492: 969, 969, 969, 496: 969, 969, 499: 969, 969, 969, 969, 969, 969, 969, 969, 509: 969, 969, 512: 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 534: 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 568: 969, 969, 597: 969},
- {50: 3511},
+ {1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 689: 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749},
+ {1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 689: 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726},
+ {1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 689: 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709},
+ {1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 689: 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708},
+ {1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 689: 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707},
// 875
- {50: 995, 491: 3435, 505: 995, 527: 995, 530: 995, 995, 1276: 3434},
- {50: 996, 491: 996, 505: 996, 527: 996, 530: 996, 996},
- {50: 993, 505: 3441, 527: 993, 530: 993, 993, 1279: 3440},
- {663: 3436},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 2777, 875: 3267, 905: 3437},
+ {1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 689: 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703},
+ {1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 689: 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702},
+ {1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 689: 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696},
+ {1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 689: 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586},
+ {1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 689: 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585},
// 880
- {9: 3438, 50: 994, 505: 994, 527: 994, 530: 994, 994},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 2777, 875: 3439},
- {1319, 1319, 9: 1319, 50: 1319, 128: 1319, 475: 1319, 477: 1319, 483: 1319, 1319, 493: 1319, 1319, 496: 1319, 1319, 499: 1319, 1319, 504: 1319, 1319, 517: 1319, 519: 1319, 527: 1319, 530: 1319, 1319},
- {50: 991, 527: 3446, 530: 3447, 3448, 1278: 3444, 1358: 3445},
- {663: 3442},
+ {1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 689: 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584},
+ {1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 689: 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583},
+ {1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 689: 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488},
+ {1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 689: 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472},
+ {1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 689: 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454},
// 885
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 2777, 875: 3267, 905: 3443},
- {9: 3438, 50: 992, 527: 992, 530: 992, 992},
- {50: 998},
- {151: 3459, 171: 3455, 511: 3449, 566: 3460, 576: 3451, 3450, 580: 3457, 3458, 824: 3456, 984: 3453, 1356: 3454, 3452},
- {151: 989, 171: 989, 511: 989, 566: 989, 576: 989, 989, 580: 989, 989},
+ {1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 689: 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442},
+ {1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 689: 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441},
+ {1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 689: 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421},
+ {1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 689: 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420},
+ {1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 492: 1020, 1020, 1020, 496: 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 510: 1020, 1020, 1020, 515: 1020, 1020, 1020, 1020, 1020, 1020, 522: 1020, 1020, 525: 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 549: 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 583: 1020, 1020, 1020, 615: 1020},
// 890
- {151: 988, 171: 988, 511: 988, 566: 988, 576: 988, 988, 580: 988, 988},
- {151: 987, 171: 987, 511: 987, 566: 987, 576: 987, 987, 580: 987, 987},
- {2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 50: 2239, 136: 2239, 153: 2239, 475: 2239, 2239, 2239, 479: 2239, 2239, 2239, 2239, 2239, 487: 2239, 491: 2239, 2239, 495: 2239, 498: 2239, 506: 2239, 2239, 2239, 572: 2239, 584: 2239, 593: 2239, 2239, 645: 2239, 2239, 2239, 2239, 2239, 2239, 652: 2239},
- {2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 50: 2238, 136: 2238, 153: 2238, 197: 2238, 475: 2238, 2238, 2238, 479: 2238, 2238, 2238, 2238, 2238, 487: 2238, 491: 2238, 2238, 495: 2238, 498: 2238, 506: 2238, 2238, 2238, 572: 2238, 584: 2238, 593: 2238, 2238, 645: 2238, 2238, 2238, 2238, 2238, 2238, 652: 2238},
- {2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 50: 2237, 136: 2237, 153: 2237, 197: 2237, 475: 2237, 2237, 2237, 479: 2237, 2237, 2237, 2237, 2237, 487: 2237, 491: 2237, 2237, 495: 2237, 498: 2237, 506: 2237, 2237, 2237, 572: 2237, 584: 2237, 593: 2237, 2237, 645: 2237, 2237, 2237, 2237, 2237, 2237, 652: 2237},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 1017, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 506: 1017, 522: 1017, 542: 1017, 545: 1017, 1017, 685: 3499, 2843, 2844, 2842, 946: 3506, 1295: 3505, 1383: 3504},
+ {991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 492: 991, 991, 991, 496: 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 507: 991, 991, 510: 991, 991, 991, 515: 991, 991, 991, 991, 991, 991, 522: 991, 991, 525: 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 549: 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, 583: 991, 991, 991, 615: 991},
+ {990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 492: 990, 990, 990, 496: 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 507: 990, 990, 510: 990, 990, 990, 515: 990, 990, 990, 990, 990, 990, 522: 990, 990, 525: 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 549: 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 583: 990, 990, 990, 615: 990},
+ {989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 492: 989, 989, 989, 496: 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 507: 989, 989, 510: 989, 989, 989, 515: 989, 989, 989, 989, 989, 989, 522: 989, 989, 525: 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 549: 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 583: 989, 989, 989, 615: 989},
+ {56: 3584},
// 895
- {50: 990},
- {50: 986},
- {50: 985},
- {136: 3506},
- {136: 3504},
+ {56: 1015, 506: 3508, 522: 1015, 542: 1015, 545: 1015, 1015, 1299: 3507},
+ {56: 1016, 506: 1016, 522: 1016, 542: 1016, 545: 1016, 1016},
+ {56: 1013, 522: 3514, 542: 1013, 545: 1013, 1013, 1302: 3513},
+ {680: 3509},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 2835, 893: 3340, 923: 3510},
// 900
- {136: 3502},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3509},
- {578: 3508},
- {151: 3459, 171: 3461, 511: 3449, 576: 3451, 3450, 580: 3463, 3464, 824: 3462, 984: 3466, 1170: 3465},
- {136: 3506, 153: 3507},
+ {9: 3511, 56: 1014, 522: 1014, 542: 1014, 545: 1014, 1014},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 2835, 893: 3512},
+ {1341, 1341, 9: 1341, 56: 1341, 139: 1341, 490: 1341, 493: 1341, 499: 1341, 1341, 508: 1341, 510: 1341, 1341, 1341, 515: 1341, 517: 1341, 520: 1341, 522: 1341, 532: 1341, 534: 1341, 542: 1341, 545: 1341, 1341},
+ {56: 1011, 542: 3519, 545: 3520, 3521, 1301: 3517, 1381: 3518},
+ {680: 3515},
// 905
- {136: 3504, 153: 3505},
- {136: 3502, 153: 3503},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3469},
- {510: 3467},
- {50: 978, 510: 978},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 2835, 893: 3340, 923: 3516},
+ {9: 3511, 56: 1012, 542: 1012, 545: 1012, 1012},
+ {56: 1018},
+ {162: 3532, 171: 3528, 524: 3522, 581: 3533, 592: 3524, 3523, 596: 3530, 598: 3531, 841: 3529, 1002: 3526, 1379: 3527, 3525},
+ {162: 1009, 171: 1009, 524: 1009, 581: 1009, 592: 1009, 1009, 596: 1009, 598: 1009},
// 910
- {151: 3459, 171: 3461, 511: 3449, 576: 3451, 3450, 580: 3463, 3464, 824: 3462, 984: 3466, 1170: 3468},
- {50: 979},
- {105: 3490, 3486, 109: 3483, 3498, 113: 3485, 3482, 3484, 3488, 3489, 3494, 3493, 3492, 3496, 3497, 3491, 3495, 3487, 510: 3371, 512: 3369, 3370, 3368, 3366, 535: 3480, 3477, 3479, 3478, 3474, 3476, 3475, 3472, 3473, 3471, 3481, 738: 3367, 3365, 800: 3470, 820: 3499},
- {1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 483: 1123, 1123, 1123, 1123, 488: 1123, 1123, 1123, 492: 1123, 1123, 1123, 496: 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 509: 1123, 1123, 512: 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 534: 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 568: 1123, 1123, 572: 1123, 649: 1123},
- {1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 483: 1122, 1122, 1122, 1122, 488: 1122, 1122, 1122, 492: 1122, 1122, 1122, 496: 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 509: 1122, 1122, 512: 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 534: 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 568: 1122, 1122, 572: 1122, 649: 1122},
+ {162: 1008, 171: 1008, 524: 1008, 581: 1008, 592: 1008, 1008, 596: 1008, 598: 1008},
+ {162: 1007, 171: 1007, 524: 1007, 581: 1007, 592: 1007, 1007, 596: 1007, 598: 1007},
+ {2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 56: 2279, 147: 2279, 164: 2279, 490: 2279, 2279, 493: 2279, 2279, 2279, 2279, 2279, 2279, 2279, 506: 2279, 2279, 509: 2279, 513: 2279, 2279, 521: 2279, 523: 2279, 587: 2279, 599: 2279, 606: 2279, 612: 2279, 661: 2279, 2279, 2279, 2279, 2279, 2279, 2279},
+ {2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 56: 2278, 147: 2278, 164: 2278, 209: 2278, 490: 2278, 2278, 493: 2278, 2278, 2278, 2278, 2278, 2278, 2278, 506: 2278, 2278, 509: 2278, 513: 2278, 2278, 521: 2278, 523: 2278, 587: 2278, 599: 2278, 606: 2278, 612: 2278, 661: 2278, 2278, 2278, 2278, 2278, 2278, 2278},
+ {2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 56: 2277, 147: 2277, 164: 2277, 209: 2277, 490: 2277, 2277, 493: 2277, 2277, 2277, 2277, 2277, 2277, 2277, 506: 2277, 2277, 509: 2277, 513: 2277, 2277, 521: 2277, 523: 2277, 587: 2277, 599: 2277, 606: 2277, 612: 2277, 661: 2277, 2277, 2277, 2277, 2277, 2277, 2277},
// 915
- {1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 483: 1121, 1121, 1121, 1121, 488: 1121, 1121, 1121, 492: 1121, 1121, 1121, 496: 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 509: 1121, 1121, 512: 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 534: 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 568: 1121, 1121, 572: 1121, 649: 1121},
- {1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 483: 1120, 1120, 1120, 1120, 488: 1120, 1120, 1120, 492: 1120, 1120, 1120, 496: 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 509: 1120, 1120, 512: 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 534: 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 568: 1120, 1120, 572: 1120, 649: 1120},
- {1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 483: 1119, 1119, 1119, 1119, 488: 1119, 1119, 1119, 492: 1119, 1119, 1119, 496: 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 509: 1119, 1119, 512: 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 534: 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 568: 1119, 1119, 572: 1119, 649: 1119},
- {1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 483: 1118, 1118, 1118, 1118, 488: 1118, 1118, 1118, 492: 1118, 1118, 1118, 496: 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 509: 1118, 1118, 512: 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 534: 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 568: 1118, 1118, 572: 1118, 649: 1118},
- {1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 483: 1117, 1117, 1117, 1117, 488: 1117, 1117, 1117, 492: 1117, 1117, 1117, 496: 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 509: 1117, 1117, 512: 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 534: 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 568: 1117, 1117, 572: 1117, 649: 1117},
+ {56: 1010},
+ {56: 1006},
+ {56: 1005},
+ {147: 3579},
+ {147: 3577},
// 920
- {1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 483: 1116, 1116, 1116, 1116, 488: 1116, 1116, 1116, 492: 1116, 1116, 1116, 496: 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 509: 1116, 1116, 512: 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 534: 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 568: 1116, 1116, 572: 1116, 649: 1116},
- {1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 483: 1115, 1115, 1115, 1115, 488: 1115, 1115, 1115, 492: 1115, 1115, 1115, 496: 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 509: 1115, 1115, 512: 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 534: 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 568: 1115, 1115, 572: 1115, 649: 1115},
- {1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 483: 1114, 1114, 1114, 1114, 488: 1114, 1114, 1114, 492: 1114, 1114, 1114, 496: 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 509: 1114, 1114, 512: 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 534: 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 568: 1114, 1114, 572: 1114, 649: 1114},
- {1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 483: 1113, 1113, 1113, 1113, 488: 1113, 1113, 1113, 492: 1113, 1113, 1113, 496: 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 509: 1113, 1113, 512: 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 534: 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 568: 1113, 1113, 572: 1113, 649: 1113},
- {1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 483: 1112, 1112, 1112, 1112, 488: 1112, 1112, 1112, 492: 1112, 1112, 1112, 496: 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 509: 1112, 1112, 512: 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 534: 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 568: 1112, 1112, 572: 1112, 649: 1112},
+ {147: 3575},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3582},
+ {594: 3581},
+ {162: 3532, 171: 3534, 524: 3522, 592: 3524, 3523, 596: 3536, 598: 3537, 841: 3535, 1002: 3539, 1193: 3538},
+ {147: 3579, 164: 3580},
// 925
- {1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 483: 1111, 1111, 1111, 1111, 488: 1111, 1111, 1111, 492: 1111, 1111, 1111, 496: 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 509: 1111, 1111, 512: 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 534: 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 568: 1111, 1111, 572: 1111, 649: 1111},
- {1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 483: 1110, 1110, 1110, 1110, 488: 1110, 1110, 1110, 492: 1110, 1110, 1110, 496: 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 509: 1110, 1110, 512: 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 534: 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 568: 1110, 1110, 572: 1110, 649: 1110},
- {1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 483: 1109, 1109, 1109, 1109, 488: 1109, 1109, 1109, 492: 1109, 1109, 1109, 496: 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 509: 1109, 1109, 512: 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 534: 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 568: 1109, 1109, 572: 1109, 649: 1109},
- {1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 483: 1108, 1108, 1108, 1108, 488: 1108, 1108, 1108, 492: 1108, 1108, 1108, 496: 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 509: 1108, 1108, 512: 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 534: 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 568: 1108, 1108, 572: 1108, 649: 1108},
- {1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 483: 1107, 1107, 1107, 1107, 488: 1107, 1107, 1107, 492: 1107, 1107, 1107, 496: 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 509: 1107, 1107, 512: 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 534: 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 568: 1107, 1107, 572: 1107, 649: 1107},
+ {147: 3577, 164: 3578},
+ {147: 3575, 164: 3576},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3542},
+ {526: 3540},
+ {56: 998, 526: 998},
// 930
- {1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 483: 1106, 1106, 1106, 1106, 488: 1106, 1106, 1106, 492: 1106, 1106, 1106, 496: 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 509: 1106, 1106, 512: 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 534: 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 568: 1106, 1106, 572: 1106, 649: 1106},
- {1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 483: 1105, 1105, 1105, 1105, 488: 1105, 1105, 1105, 492: 1105, 1105, 1105, 496: 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 509: 1105, 1105, 512: 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 534: 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 568: 1105, 1105, 572: 1105, 649: 1105},
- {1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 483: 1104, 1104, 1104, 1104, 488: 1104, 1104, 1104, 492: 1104, 1104, 1104, 496: 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 509: 1104, 1104, 512: 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 534: 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 568: 1104, 1104, 572: 1104, 649: 1104},
- {1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 483: 1103, 1103, 1103, 1103, 488: 1103, 1103, 1103, 492: 1103, 1103, 1103, 496: 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 509: 1103, 1103, 512: 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 534: 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 568: 1103, 1103, 572: 1103, 649: 1103},
- {1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 483: 1102, 1102, 1102, 1102, 488: 1102, 1102, 1102, 492: 1102, 1102, 1102, 496: 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 509: 1102, 1102, 512: 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 534: 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 568: 1102, 1102, 572: 1102, 649: 1102},
+ {162: 3532, 171: 3534, 524: 3522, 592: 3524, 3523, 596: 3536, 598: 3537, 841: 3535, 1002: 3539, 1193: 3541},
+ {56: 999},
+ {111: 3559, 3563, 114: 3556, 3571, 118: 3558, 121: 3555, 3557, 3561, 3562, 126: 3567, 3566, 3565, 3569, 3570, 3564, 3568, 134: 3560, 526: 3444, 3442, 3443, 3441, 3439, 549: 3553, 3550, 3552, 3551, 3547, 3549, 3548, 3545, 3546, 3544, 3554, 755: 3440, 3438, 812: 3543, 827: 3572},
+ {1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 510: 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 525: 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 549: 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 583: 1143, 1143, 1143, 587: 1143, 664: 1143, 666: 1143, 1143},
+ {1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 510: 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 525: 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 549: 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 583: 1142, 1142, 1142, 587: 1142, 664: 1142, 666: 1142, 1142},
// 935
- {1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 483: 1101, 1101, 1101, 1101, 488: 1101, 1101, 1101, 492: 1101, 1101, 1101, 496: 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 509: 1101, 1101, 512: 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 534: 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 568: 1101, 1101, 572: 1101, 649: 1101},
- {1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 483: 1100, 1100, 1100, 1100, 488: 1100, 1100, 1100, 492: 1100, 1100, 1100, 496: 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 509: 1100, 1100, 512: 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 534: 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 568: 1100, 1100, 572: 1100, 649: 1100},
- {1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 483: 1099, 1099, 1099, 1099, 488: 1099, 1099, 1099, 492: 1099, 1099, 1099, 496: 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 509: 1099, 1099, 512: 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 534: 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 568: 1099, 1099, 572: 1099, 649: 1099},
- {1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 483: 1098, 1098, 1098, 1098, 488: 1098, 1098, 1098, 492: 1098, 1098, 1098, 496: 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 509: 1098, 1098, 512: 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 534: 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 568: 1098, 1098, 572: 1098, 649: 1098},
- {1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 483: 1097, 1097, 1097, 1097, 488: 1097, 1097, 1097, 492: 1097, 1097, 1097, 496: 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 509: 1097, 1097, 512: 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 534: 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 568: 1097, 1097, 572: 1097, 649: 1097},
+ {1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 510: 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 525: 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 549: 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 583: 1141, 1141, 1141, 587: 1141, 664: 1141, 666: 1141, 1141},
+ {1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 510: 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 525: 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 549: 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 583: 1140, 1140, 1140, 587: 1140, 664: 1140, 666: 1140, 1140},
+ {1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 510: 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 525: 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 549: 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 583: 1139, 1139, 1139, 587: 1139, 664: 1139, 666: 1139, 1139},
+ {1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 510: 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 525: 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 549: 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 583: 1138, 1138, 1138, 587: 1138, 664: 1138, 666: 1138, 1138},
+ {1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 510: 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 525: 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 549: 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 583: 1137, 1137, 1137, 587: 1137, 664: 1137, 666: 1137, 1137},
// 940
- {1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 483: 1096, 1096, 1096, 1096, 488: 1096, 1096, 1096, 492: 1096, 1096, 1096, 496: 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 509: 1096, 1096, 512: 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 534: 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 568: 1096, 1096, 572: 1096, 649: 1096},
- {1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 483: 1095, 1095, 1095, 1095, 488: 1095, 1095, 1095, 492: 1095, 1095, 1095, 496: 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 509: 1095, 1095, 512: 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 534: 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 568: 1095, 1095, 572: 1095, 649: 1095},
- {136: 3500, 153: 3501},
- {50: 981, 510: 981},
- {50: 974, 510: 974},
+ {1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 510: 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 525: 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 549: 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 583: 1136, 1136, 1136, 587: 1136, 664: 1136, 666: 1136, 1136},
+ {1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 510: 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 525: 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 549: 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 583: 1135, 1135, 1135, 587: 1135, 664: 1135, 666: 1135, 1135},
+ {1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 510: 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 525: 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 549: 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 583: 1134, 1134, 1134, 587: 1134, 664: 1134, 666: 1134, 1134},
+ {1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 510: 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 525: 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 549: 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 583: 1133, 1133, 1133, 587: 1133, 664: 1133, 666: 1133, 1133},
+ {1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 510: 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 525: 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 549: 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 583: 1132, 1132, 1132, 587: 1132, 664: 1132, 666: 1132, 1132},
// 945
- {50: 982, 510: 982},
- {50: 975, 510: 975},
- {50: 983, 510: 983},
- {50: 976, 510: 976},
- {50: 984, 510: 984},
+ {1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 510: 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 525: 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 549: 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 583: 1131, 1131, 1131, 587: 1131, 664: 1131, 666: 1131, 1131},
+ {1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 510: 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 525: 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 549: 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 583: 1130, 1130, 1130, 587: 1130, 664: 1130, 666: 1130, 1130},
+ {1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 510: 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 525: 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 549: 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 583: 1129, 1129, 1129, 587: 1129, 664: 1129, 666: 1129, 1129},
+ {1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 510: 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 525: 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 549: 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 583: 1128, 1128, 1128, 587: 1128, 664: 1128, 666: 1128, 1128},
+ {1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 510: 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 525: 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 549: 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 583: 1127, 1127, 1127, 587: 1127, 664: 1127, 666: 1127, 1127},
// 950
- {50: 977, 510: 977},
- {50: 980, 510: 980},
- {105: 3490, 3486, 109: 3483, 3498, 113: 3485, 3482, 3484, 3488, 3489, 3494, 3493, 3492, 3496, 3497, 3491, 3495, 3487, 510: 3371, 512: 3369, 3370, 3368, 3366, 535: 3480, 3477, 3479, 3478, 3474, 3476, 3475, 3472, 3473, 3471, 3481, 738: 3367, 3365, 800: 3470, 820: 3510},
- {136: 3500},
- {999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 477: 999, 999, 999, 999, 999, 483: 999, 999, 999, 999, 999, 999, 999, 999, 492: 999, 999, 999, 496: 999, 999, 499: 999, 999, 999, 999, 999, 999, 999, 999, 509: 999, 999, 512: 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 534: 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 568: 999, 999, 597: 999},
+ {1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 510: 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 525: 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 549: 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 583: 1126, 1126, 1126, 587: 1126, 664: 1126, 666: 1126, 1126},
+ {1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 510: 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 525: 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 549: 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 583: 1125, 1125, 1125, 587: 1125, 664: 1125, 666: 1125, 1125},
+ {1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 510: 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 525: 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 549: 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 583: 1124, 1124, 1124, 587: 1124, 664: 1124, 666: 1124, 1124},
+ {1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 510: 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 525: 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 549: 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 583: 1123, 1123, 1123, 587: 1123, 664: 1123, 666: 1123, 1123},
+ {1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 510: 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 525: 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 549: 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 583: 1122, 1122, 1122, 587: 1122, 664: 1122, 666: 1122, 1122},
// 955
- {1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 477: 1276, 1276, 1276, 1276, 1276, 483: 1276, 1276, 1276, 1276, 3376, 1276, 1276, 1276, 492: 1276, 1276, 1276, 496: 1276, 1276, 499: 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 509: 1276, 1276, 512: 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 534: 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 568: 1276, 1276, 597: 1276},
- {1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 477: 1286, 1286, 1286, 1286, 1286, 483: 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 492: 1286, 1286, 1286, 496: 1286, 1286, 499: 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 509: 1286, 1286, 512: 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 534: 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 568: 1286, 1286, 597: 1286},
- {769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 512: 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 534: 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 568: 769, 769, 572: 769, 584: 769, 593: 769, 769, 597: 769, 645: 769, 769, 769, 769, 769, 769, 652: 769},
- {768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 512: 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 534: 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 568: 768, 768, 572: 768, 584: 768, 593: 768, 768, 597: 768, 645: 768, 768, 768, 768, 768, 768, 652: 768},
- {268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 512: 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 568: 268, 268, 571: 268, 268, 584: 268, 593: 268, 268, 597: 268, 645: 268, 268, 268, 268, 268, 268, 652: 268, 268, 656: 268, 661: 268, 663: 268, 669: 268, 268, 268},
+ {1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 510: 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 525: 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 549: 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 583: 1121, 1121, 1121, 587: 1121, 664: 1121, 666: 1121, 1121},
+ {1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 510: 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 525: 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 549: 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 583: 1120, 1120, 1120, 587: 1120, 664: 1120, 666: 1120, 1120},
+ {1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 510: 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 525: 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 549: 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 583: 1119, 1119, 1119, 587: 1119, 664: 1119, 666: 1119, 1119},
+ {1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 510: 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 525: 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 549: 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 583: 1118, 1118, 1118, 587: 1118, 664: 1118, 666: 1118, 1118},
+ {1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 510: 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 525: 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 549: 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 583: 1117, 1117, 1117, 587: 1117, 664: 1117, 666: 1117, 1117},
// 960
- {267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 512: 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 568: 267, 267, 571: 267, 267, 584: 267, 593: 267, 267, 597: 267, 645: 267, 267, 267, 267, 267, 267, 652: 267, 267, 656: 267, 661: 267, 663: 267, 669: 267, 267, 267},
- {1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 477: 1958, 1958, 481: 1958, 483: 1958, 1958, 1958, 1958, 492: 1958, 1958, 1958, 496: 1958, 1958, 499: 1958, 1958, 1958, 503: 1958, 1958, 1958, 1958, 509: 1958, 1958, 512: 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 522: 1958, 524: 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 534: 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 548: 1958, 1958, 738: 3367, 3365},
- {1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 477: 1959, 1959, 481: 1959, 483: 1959, 1959, 1959, 1959, 492: 1959, 1959, 1959, 496: 1959, 1959, 499: 1959, 1959, 1959, 503: 1959, 1959, 1959, 1959, 509: 1959, 3371, 512: 1959, 3370, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 522: 1959, 524: 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 534: 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 548: 1959, 1959, 738: 3367, 3365},
- {1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 477: 1960, 1960, 481: 1960, 483: 1960, 1960, 1960, 1960, 492: 1960, 1960, 1960, 496: 1960, 1960, 499: 1960, 1960, 1960, 503: 1960, 1960, 1960, 1960, 509: 1960, 3371, 512: 1960, 3370, 1960, 3366, 1960, 1960, 1960, 1960, 1960, 522: 1960, 524: 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 534: 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 548: 1960, 1960, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3522},
+ {1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 510: 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 525: 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 549: 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 583: 1116, 1116, 1116, 587: 1116, 664: 1116, 666: 1116, 1116},
+ {1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 510: 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 525: 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 549: 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 583: 1115, 1115, 1115, 587: 1115, 664: 1115, 666: 1115, 1115},
+ {147: 3573, 164: 3574},
+ {56: 1001, 526: 1001},
+ {56: 994, 526: 994},
// 965
- {50: 3523, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {149: 3384, 492: 3385, 746: 952, 889: 3524},
- {746: 3388, 751: 3525},
- {959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 477: 959, 959, 959, 959, 959, 483: 959, 959, 959, 959, 959, 959, 959, 959, 492: 959, 959, 959, 496: 959, 959, 499: 959, 959, 959, 959, 959, 959, 959, 959, 509: 959, 959, 512: 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 534: 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, 568: 959, 959, 597: 959},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3527},
+ {56: 1002, 526: 1002},
+ {56: 995, 526: 995},
+ {56: 1003, 526: 1003},
+ {56: 996, 526: 996},
+ {56: 1004, 526: 1004},
// 970
- {50: 3528, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {149: 3384, 492: 3385, 746: 952, 889: 3529},
- {746: 3388, 751: 3530},
- {960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 477: 960, 960, 960, 960, 960, 483: 960, 960, 960, 960, 960, 960, 960, 960, 492: 960, 960, 960, 496: 960, 960, 499: 960, 960, 960, 960, 960, 960, 960, 960, 509: 960, 960, 512: 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 534: 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, 568: 960, 960, 597: 960},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3532},
+ {56: 997, 526: 997},
+ {56: 1000, 526: 1000},
+ {111: 3559, 3563, 114: 3556, 3571, 118: 3558, 121: 3555, 3557, 3561, 3562, 126: 3567, 3566, 3565, 3569, 3570, 3564, 3568, 134: 3560, 526: 3444, 3442, 3443, 3441, 3439, 549: 3553, 3550, 3552, 3551, 3547, 3549, 3548, 3545, 3546, 3544, 3554, 755: 3440, 3438, 812: 3543, 827: 3583},
+ {147: 3573},
+ {1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 492: 1019, 1019, 1019, 496: 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 507: 1019, 1019, 510: 1019, 1019, 1019, 515: 1019, 1019, 1019, 1019, 1019, 1019, 522: 1019, 1019, 525: 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 549: 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 583: 1019, 1019, 1019, 615: 1019},
// 975
- {9: 3534, 50: 957, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365, 1102: 3533},
- {50: 3541},
- {511: 3449, 576: 3451, 3450, 580: 3536, 824: 3535},
- {9: 3538, 50: 954, 1103: 3540},
- {9: 3538, 50: 954, 1103: 3537},
+ {1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 492: 1298, 1298, 1298, 496: 1298, 1298, 3449, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 507: 1298, 1298, 510: 1298, 1298, 1298, 515: 1298, 1298, 1298, 1298, 1298, 1298, 522: 1298, 1298, 525: 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 549: 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 583: 1298, 1298, 1298, 615: 1298},
+ {1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 492: 1308, 1308, 1308, 496: 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 507: 1308, 1308, 510: 1308, 1308, 1308, 515: 1308, 1308, 1308, 1308, 1308, 1308, 522: 1308, 1308, 525: 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 549: 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 583: 1308, 1308, 1308, 615: 1308},
+ {789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 525: 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 549: 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 583: 789, 789, 789, 587: 789, 599: 789, 606: 789, 612: 789, 615: 789, 661: 789, 789, 789, 789, 789, 789, 789},
+ {788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 525: 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 549: 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 583: 788, 788, 788, 587: 788, 599: 788, 606: 788, 612: 788, 615: 788, 661: 788, 788, 788, 788, 788, 788, 788},
+ {283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 525: 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 583: 283, 283, 283, 587: 283, 283, 599: 283, 606: 283, 612: 283, 615: 283, 661: 283, 283, 283, 283, 283, 283, 283, 669: 283, 672: 283, 677: 283, 283, 680: 283, 682: 283, 283, 283},
// 980
- {50: 955},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3539},
- {50: 953, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {50: 956},
- {149: 3384, 492: 3385, 746: 952, 889: 3542},
+ {282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 525: 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 583: 282, 282, 282, 587: 282, 282, 599: 282, 606: 282, 612: 282, 615: 282, 661: 282, 282, 282, 282, 282, 282, 282, 669: 282, 672: 282, 677: 282, 282, 680: 282, 682: 282, 282, 282},
+ {1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 492: 1996, 1996, 497: 1996, 499: 1996, 1996, 1996, 1996, 507: 1996, 1996, 510: 1996, 1996, 1996, 515: 1996, 517: 1996, 1996, 1996, 1996, 522: 1996, 1996, 525: 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 537: 1996, 1996, 1996, 541: 1996, 1996, 1996, 1996, 1996, 1996, 1996, 549: 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 564: 1996, 755: 3440, 3438},
+ {1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 492: 1997, 1997, 497: 1997, 499: 1997, 1997, 1997, 1997, 507: 1997, 1997, 510: 1997, 1997, 1997, 515: 1997, 517: 1997, 1997, 1997, 1997, 522: 1997, 1997, 525: 1997, 3444, 1997, 3443, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 537: 1997, 1997, 1997, 541: 1997, 1997, 1997, 1997, 1997, 1997, 1997, 549: 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 564: 1997, 755: 3440, 3438},
+ {1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 492: 1998, 1998, 497: 1998, 499: 1998, 1998, 1998, 1998, 507: 1998, 1998, 510: 1998, 1998, 1998, 515: 1998, 517: 1998, 1998, 1998, 1998, 522: 1998, 1998, 525: 1998, 3444, 1998, 3443, 1998, 3439, 1998, 1998, 1998, 1998, 1998, 537: 1998, 1998, 1998, 541: 1998, 1998, 1998, 1998, 1998, 1998, 1998, 549: 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 564: 1998, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3595},
// 985
- {746: 3388, 751: 3543},
- {961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 477: 961, 961, 961, 961, 961, 483: 961, 961, 961, 961, 961, 961, 961, 961, 492: 961, 961, 961, 496: 961, 961, 499: 961, 961, 961, 961, 961, 961, 961, 961, 509: 961, 961, 512: 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 534: 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 568: 961, 961, 597: 961},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3545},
- {9: 3534, 50: 957, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365, 1102: 3546},
- {50: 3547},
+ {56: 3596, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {160: 3457, 507: 3458, 763: 972, 908: 3597},
+ {763: 3461, 768: 3598},
+ {979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 492: 979, 979, 979, 496: 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 507: 979, 979, 510: 979, 979, 979, 515: 979, 979, 979, 979, 979, 979, 522: 979, 979, 525: 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 549: 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 583: 979, 979, 979, 615: 979},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3600},
// 990
- {149: 3384, 492: 3385, 746: 952, 889: 3548},
- {746: 3388, 751: 3549},
- {962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 477: 962, 962, 962, 962, 962, 483: 962, 962, 962, 962, 962, 962, 962, 962, 492: 962, 962, 962, 496: 962, 962, 499: 962, 962, 962, 962, 962, 962, 962, 962, 509: 962, 962, 512: 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 534: 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, 568: 962, 962, 597: 962},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3374, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3551, 3279, 3360, 3278, 3275},
- {50: 3552, 487: 3376, 597: 3377},
+ {56: 3601, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {160: 3457, 507: 3458, 763: 972, 908: 3602},
+ {763: 3461, 768: 3603},
+ {980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 492: 980, 980, 980, 496: 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 507: 980, 980, 510: 980, 980, 980, 515: 980, 980, 980, 980, 980, 980, 522: 980, 980, 525: 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 549: 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 583: 980, 980, 980, 615: 980},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3605},
// 995
- {746: 3388, 751: 3553},
- {963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 477: 963, 963, 963, 963, 963, 483: 963, 963, 963, 963, 963, 963, 963, 963, 492: 963, 963, 963, 496: 963, 963, 499: 963, 963, 963, 963, 963, 963, 963, 963, 509: 963, 963, 512: 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 534: 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 568: 963, 963, 597: 963},
- {50: 3555},
- {746: 3388, 751: 3556},
- {964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 477: 964, 964, 964, 964, 964, 483: 964, 964, 964, 964, 964, 964, 964, 964, 492: 964, 964, 964, 496: 964, 964, 499: 964, 964, 964, 964, 964, 964, 964, 964, 509: 964, 964, 512: 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 534: 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 964, 568: 964, 964, 597: 964},
+ {9: 3607, 56: 977, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438, 1122: 3606},
+ {56: 3614},
+ {524: 3522, 592: 3524, 3523, 596: 3609, 841: 3608},
+ {9: 3611, 56: 974, 1123: 3613},
+ {9: 3611, 56: 974, 1123: 3610},
// 1000
- {50: 3558},
- {746: 3388, 751: 3559},
- {965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 477: 965, 965, 965, 965, 965, 483: 965, 965, 965, 965, 965, 965, 965, 965, 492: 965, 965, 965, 496: 965, 965, 499: 965, 965, 965, 965, 965, 965, 965, 965, 509: 965, 965, 512: 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 534: 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 568: 965, 965, 597: 965},
- {50: 3561},
- {746: 3388, 751: 3562},
+ {56: 975},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3612},
+ {56: 973, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {56: 976},
+ {160: 3457, 507: 3458, 763: 972, 908: 3615},
// 1005
- {966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 477: 966, 966, 966, 966, 966, 483: 966, 966, 966, 966, 966, 966, 966, 966, 492: 966, 966, 966, 496: 966, 966, 499: 966, 966, 966, 966, 966, 966, 966, 966, 509: 966, 966, 512: 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 534: 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 568: 966, 966, 597: 966},
- {50: 3564},
- {746: 3388, 751: 3565},
- {967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 477: 967, 967, 967, 967, 967, 483: 967, 967, 967, 967, 967, 967, 967, 967, 492: 967, 967, 967, 496: 967, 967, 499: 967, 967, 967, 967, 967, 967, 967, 967, 509: 967, 967, 512: 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 534: 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 568: 967, 967, 597: 967},
- {50: 3567},
+ {763: 3461, 768: 3616},
+ {981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 492: 981, 981, 981, 496: 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 507: 981, 981, 510: 981, 981, 981, 515: 981, 981, 981, 981, 981, 981, 522: 981, 981, 525: 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 549: 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 583: 981, 981, 981, 615: 981},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3618},
+ {9: 3607, 56: 977, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438, 1122: 3619},
+ {56: 3620},
// 1010
- {746: 3388, 751: 3568},
- {968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 477: 968, 968, 968, 968, 968, 483: 968, 968, 968, 968, 968, 968, 968, 968, 492: 968, 968, 968, 496: 968, 968, 499: 968, 968, 968, 968, 968, 968, 968, 968, 509: 968, 968, 512: 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 534: 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 568: 968, 968, 597: 968},
- {2: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 10: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 51: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 476: 1255, 478: 1255, 1255, 1255, 482: 1255, 485: 1255, 1255, 488: 1255, 1255, 1255, 495: 1255, 498: 1255, 507: 1255, 1255, 511: 1255, 533: 1255, 567: 1255, 570: 1255, 1255, 573: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 585: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 595: 1255, 1255, 598: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 651: 1255, 654: 3572, 749: 3570, 3571, 789: 3573, 792: 3574, 821: 3576, 3575},
- {2: 1259, 1259, 1259, 1259, 1259, 1259, 1259, 10: 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 51: 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 476: 1259, 478: 1259, 1259, 1259, 482: 1259, 485: 1259, 1259, 488: 1259, 1259, 1259, 495: 1259, 498: 1259, 507: 1259, 1259, 511: 1259, 518: 1259, 523: 1259, 533: 1259, 567: 1259, 570: 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 585: 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 595: 1259, 1259, 598: 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 649: 1259, 651: 1259, 654: 1259, 749: 1259, 1259, 757: 1259, 1259, 1259, 766: 1259, 774: 1259, 1259, 1259},
- {2: 1258, 1258, 1258, 1258, 1258, 1258, 1258, 10: 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 51: 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 476: 1258, 478: 1258, 1258, 1258, 482: 1258, 485: 1258, 1258, 488: 1258, 1258, 1258, 495: 1258, 498: 1258, 507: 1258, 1258, 511: 1258, 518: 1258, 523: 1258, 533: 1258, 567: 1258, 570: 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 585: 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 595: 1258, 1258, 598: 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 649: 1258, 651: 1258, 654: 1258, 749: 1258, 1258, 757: 1258, 1258, 1258, 766: 1258, 774: 1258, 1258, 1258},
+ {160: 3457, 507: 3458, 763: 972, 908: 3621},
+ {763: 3461, 768: 3622},
+ {982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 492: 982, 982, 982, 496: 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 507: 982, 982, 510: 982, 982, 982, 515: 982, 982, 982, 982, 982, 982, 522: 982, 982, 525: 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 549: 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 583: 982, 982, 982, 615: 982},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3447, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3624, 3352, 3433, 3351, 3348},
+ {56: 3625, 498: 3449, 615: 3450},
// 1015
- {2: 1257, 1257, 1257, 1257, 1257, 1257, 1257, 10: 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 51: 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 476: 1257, 478: 1257, 1257, 1257, 482: 1257, 485: 1257, 1257, 488: 1257, 1257, 1257, 495: 1257, 498: 1257, 507: 1257, 1257, 511: 1257, 518: 1257, 523: 1257, 533: 1257, 567: 1257, 570: 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 585: 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 595: 1257, 1257, 598: 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 649: 1257, 651: 1257, 654: 1257, 749: 1257, 1257, 757: 1257, 1257, 1257, 766: 1257, 774: 1257, 1257, 1257},
- {2: 1256, 1256, 1256, 1256, 1256, 1256, 1256, 10: 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 51: 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 476: 1256, 478: 1256, 1256, 1256, 482: 1256, 485: 1256, 1256, 488: 1256, 1256, 1256, 495: 1256, 498: 1256, 507: 1256, 1256, 511: 1256, 533: 1256, 567: 1256, 570: 1256, 1256, 573: 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 585: 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 595: 1256, 1256, 598: 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 651: 1256, 654: 3581},
- {2: 1254, 1254, 1254, 1254, 1254, 1254, 1254, 10: 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 51: 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 476: 1254, 478: 1254, 1254, 1254, 482: 1254, 485: 1254, 1254, 488: 1254, 1254, 1254, 495: 1254, 498: 1254, 507: 1254, 1254, 511: 1254, 533: 1254, 567: 1254, 570: 1254, 1254, 573: 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 585: 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 595: 1254, 1254, 598: 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 651: 1254},
- {2: 1251, 1251, 1251, 1251, 1251, 1251, 1251, 10: 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 51: 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 476: 1251, 478: 1251, 1251, 1251, 482: 1251, 485: 1251, 1251, 488: 1251, 1251, 1251, 495: 1251, 498: 1251, 507: 1251, 1251, 511: 1251, 533: 1251, 567: 1251, 570: 1251, 1251, 573: 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 585: 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 595: 1251, 1251, 598: 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 651: 1251},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3577},
+ {763: 3461, 768: 3626},
+ {983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 492: 983, 983, 983, 496: 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 507: 983, 983, 510: 983, 983, 983, 515: 983, 983, 983, 983, 983, 983, 522: 983, 983, 525: 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 549: 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 583: 983, 983, 983, 615: 983},
+ {56: 3628},
+ {763: 3461, 768: 3629},
+ {984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 492: 984, 984, 984, 496: 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 507: 984, 984, 510: 984, 984, 984, 515: 984, 984, 984, 984, 984, 984, 522: 984, 984, 525: 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 549: 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 583: 984, 984, 984, 615: 984},
// 1020
- {50: 3578, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3579},
- {1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 477: 1137, 1137, 1137, 1137, 1137, 483: 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 492: 1137, 1137, 1137, 496: 1137, 1137, 499: 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 509: 1137, 1137, 512: 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 534: 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 568: 1137, 1137, 597: 1137},
- {972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 477: 972, 972, 972, 972, 972, 483: 972, 972, 972, 972, 972, 972, 972, 972, 492: 972, 972, 972, 496: 972, 972, 499: 972, 972, 972, 972, 972, 972, 972, 972, 509: 972, 972, 512: 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 534: 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 568: 972, 972, 597: 972},
- {2: 1250, 1250, 1250, 1250, 1250, 1250, 1250, 10: 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 51: 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 476: 1250, 478: 1250, 1250, 1250, 482: 1250, 485: 1250, 1250, 488: 1250, 1250, 1250, 495: 1250, 498: 1250, 507: 1250, 1250, 511: 1250, 533: 1250, 567: 1250, 570: 1250, 1250, 573: 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 585: 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 595: 1250, 1250, 598: 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 651: 1250},
+ {56: 3631},
+ {763: 3461, 768: 3632},
+ {985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 492: 985, 985, 985, 496: 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 507: 985, 985, 510: 985, 985, 985, 515: 985, 985, 985, 985, 985, 985, 522: 985, 985, 525: 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 549: 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 583: 985, 985, 985, 615: 985},
+ {56: 3634},
+ {763: 3461, 768: 3635},
// 1025
- {2: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 10: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 51: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 476: 1255, 478: 1255, 1255, 1255, 482: 1255, 485: 1255, 1255, 488: 1255, 1255, 1255, 495: 1255, 498: 1255, 507: 1255, 1255, 511: 1255, 533: 1255, 567: 1255, 570: 1255, 1255, 573: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 585: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 595: 1255, 1255, 598: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 651: 1255, 654: 3572, 749: 3570, 3571, 789: 3573, 792: 3574, 821: 3583, 3575},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3584},
- {50: 3585, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3586},
- {1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 477: 1138, 1138, 1138, 1138, 1138, 483: 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 492: 1138, 1138, 1138, 496: 1138, 1138, 499: 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 509: 1138, 1138, 512: 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 534: 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 568: 1138, 1138, 597: 1138},
+ {986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 492: 986, 986, 986, 496: 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 507: 986, 986, 510: 986, 986, 986, 515: 986, 986, 986, 986, 986, 986, 522: 986, 986, 525: 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 549: 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 583: 986, 986, 986, 615: 986},
+ {56: 3637},
+ {763: 3461, 768: 3638},
+ {987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 492: 987, 987, 987, 496: 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 507: 987, 987, 510: 987, 987, 987, 515: 987, 987, 987, 987, 987, 987, 522: 987, 987, 525: 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 549: 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 583: 987, 987, 987, 615: 987},
+ {56: 3640},
// 1030
- {2: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 10: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 51: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 476: 1255, 478: 1255, 1255, 1255, 482: 1255, 485: 1255, 1255, 488: 1255, 1255, 1255, 495: 1255, 498: 1255, 507: 1255, 1255, 511: 1255, 533: 1255, 567: 1255, 570: 1255, 1255, 573: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 585: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 595: 1255, 1255, 598: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 651: 1255, 654: 3572, 749: 3570, 3571, 789: 3573, 792: 3574, 821: 3588, 3575},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3589},
- {50: 3590, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3591},
- {1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 477: 1139, 1139, 1139, 1139, 1139, 483: 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 492: 1139, 1139, 1139, 496: 1139, 1139, 499: 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 509: 1139, 1139, 512: 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 534: 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 568: 1139, 1139, 597: 1139},
+ {763: 3461, 768: 3641},
+ {988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 492: 988, 988, 988, 496: 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 507: 988, 988, 510: 988, 988, 988, 515: 988, 988, 988, 988, 988, 988, 522: 988, 988, 525: 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 549: 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, 583: 988, 988, 988, 615: 988},
+ {2: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 10: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 57: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 491: 1275, 1275, 494: 1275, 1275, 1275, 501: 1275, 1275, 1275, 1275, 1275, 509: 1275, 513: 1275, 1275, 521: 1275, 524: 1275, 548: 1275, 582: 1275, 586: 1275, 588: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 600: 1275, 1275, 1275, 1275, 1275, 1275, 607: 1275, 1275, 1275, 1275, 1275, 613: 1275, 1275, 616: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 668: 1275, 670: 3645, 766: 3643, 3644, 807: 3646, 809: 3647, 838: 3649, 3648},
+ {2: 1279, 1279, 1279, 1279, 1279, 1279, 1279, 10: 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 57: 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 491: 1279, 1279, 494: 1279, 1279, 1279, 501: 1279, 1279, 1279, 1279, 1279, 509: 1279, 513: 1279, 1279, 521: 1279, 524: 1279, 533: 1279, 540: 1279, 548: 1279, 582: 1279, 586: 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 600: 1279, 1279, 1279, 1279, 1279, 1279, 607: 1279, 1279, 1279, 1279, 1279, 613: 1279, 1279, 616: 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 664: 1279, 668: 1279, 670: 1279, 766: 1279, 1279, 774: 1279, 1279, 1279, 784: 1279, 791: 1279, 1279, 1279},
+ {2: 1278, 1278, 1278, 1278, 1278, 1278, 1278, 10: 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 57: 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 491: 1278, 1278, 494: 1278, 1278, 1278, 501: 1278, 1278, 1278, 1278, 1278, 509: 1278, 513: 1278, 1278, 521: 1278, 524: 1278, 533: 1278, 540: 1278, 548: 1278, 582: 1278, 586: 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 600: 1278, 1278, 1278, 1278, 1278, 1278, 607: 1278, 1278, 1278, 1278, 1278, 613: 1278, 1278, 616: 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 664: 1278, 668: 1278, 670: 1278, 766: 1278, 1278, 774: 1278, 1278, 1278, 784: 1278, 791: 1278, 1278, 1278},
// 1035
- {2: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 10: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 51: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 476: 1255, 478: 1255, 1255, 1255, 482: 1255, 485: 1255, 1255, 488: 1255, 1255, 1255, 495: 1255, 498: 1255, 507: 1255, 1255, 511: 1255, 533: 1255, 567: 1255, 570: 1255, 1255, 573: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 585: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 595: 1255, 1255, 598: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 651: 1255, 654: 3572, 749: 3570, 3571, 789: 3573, 792: 3574, 821: 3593, 3575},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3594},
- {50: 3595, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3596},
- {1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 477: 1140, 1140, 1140, 1140, 1140, 483: 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 492: 1140, 1140, 1140, 496: 1140, 1140, 499: 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 509: 1140, 1140, 512: 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 534: 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 568: 1140, 1140, 597: 1140},
+ {2: 1277, 1277, 1277, 1277, 1277, 1277, 1277, 10: 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 57: 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 491: 1277, 1277, 494: 1277, 1277, 1277, 501: 1277, 1277, 1277, 1277, 1277, 509: 1277, 513: 1277, 1277, 521: 1277, 524: 1277, 533: 1277, 540: 1277, 548: 1277, 582: 1277, 586: 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 600: 1277, 1277, 1277, 1277, 1277, 1277, 607: 1277, 1277, 1277, 1277, 1277, 613: 1277, 1277, 616: 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 664: 1277, 668: 1277, 670: 1277, 766: 1277, 1277, 774: 1277, 1277, 1277, 784: 1277, 791: 1277, 1277, 1277},
+ {2: 1276, 1276, 1276, 1276, 1276, 1276, 1276, 10: 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 57: 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 491: 1276, 1276, 494: 1276, 1276, 1276, 501: 1276, 1276, 1276, 1276, 1276, 509: 1276, 513: 1276, 1276, 521: 1276, 524: 1276, 548: 1276, 582: 1276, 586: 1276, 588: 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 600: 1276, 1276, 1276, 1276, 1276, 1276, 607: 1276, 1276, 1276, 1276, 1276, 613: 1276, 1276, 616: 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 668: 1276, 670: 3654},
+ {2: 1274, 1274, 1274, 1274, 1274, 1274, 1274, 10: 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 57: 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 491: 1274, 1274, 494: 1274, 1274, 1274, 501: 1274, 1274, 1274, 1274, 1274, 509: 1274, 513: 1274, 1274, 521: 1274, 524: 1274, 548: 1274, 582: 1274, 586: 1274, 588: 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 600: 1274, 1274, 1274, 1274, 1274, 1274, 607: 1274, 1274, 1274, 1274, 1274, 613: 1274, 1274, 616: 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 668: 1274},
+ {2: 1271, 1271, 1271, 1271, 1271, 1271, 1271, 10: 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 57: 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 491: 1271, 1271, 494: 1271, 1271, 1271, 501: 1271, 1271, 1271, 1271, 1271, 509: 1271, 513: 1271, 1271, 521: 1271, 524: 1271, 548: 1271, 582: 1271, 586: 1271, 588: 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 600: 1271, 1271, 1271, 1271, 1271, 1271, 607: 1271, 1271, 1271, 1271, 1271, 613: 1271, 1271, 616: 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 668: 1271},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3650},
// 1040
- {2: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 10: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 51: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 476: 1255, 478: 1255, 1255, 1255, 482: 1255, 485: 1255, 1255, 488: 1255, 1255, 1255, 495: 1255, 498: 1255, 507: 1255, 1255, 511: 1255, 533: 1255, 567: 1255, 570: 1255, 1255, 573: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 585: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 595: 1255, 1255, 598: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 651: 1255, 654: 3572, 749: 3570, 3571, 789: 3573, 792: 3574, 821: 3598, 3575},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3599},
- {50: 3600, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3601},
- {1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 477: 1141, 1141, 1141, 1141, 1141, 483: 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 492: 1141, 1141, 1141, 496: 1141, 1141, 499: 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 509: 1141, 1141, 512: 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 534: 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 568: 1141, 1141, 597: 1141},
+ {56: 3651, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3652},
+ {1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 492: 1157, 1157, 1157, 496: 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 507: 1157, 1157, 510: 1157, 1157, 1157, 515: 1157, 1157, 1157, 1157, 1157, 1157, 522: 1157, 1157, 525: 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 549: 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 583: 1157, 1157, 1157, 615: 1157},
+ {992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 492: 992, 992, 992, 496: 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 507: 992, 992, 510: 992, 992, 992, 515: 992, 992, 992, 992, 992, 992, 522: 992, 992, 525: 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 549: 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, 583: 992, 992, 992, 615: 992},
+ {2: 1270, 1270, 1270, 1270, 1270, 1270, 1270, 10: 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 57: 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 491: 1270, 1270, 494: 1270, 1270, 1270, 501: 1270, 1270, 1270, 1270, 1270, 509: 1270, 513: 1270, 1270, 521: 1270, 524: 1270, 548: 1270, 582: 1270, 586: 1270, 588: 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 600: 1270, 1270, 1270, 1270, 1270, 1270, 607: 1270, 1270, 1270, 1270, 1270, 613: 1270, 1270, 616: 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 668: 1270},
// 1045
- {2: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 10: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 51: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 476: 1255, 478: 1255, 1255, 1255, 482: 1255, 485: 1255, 1255, 488: 1255, 1255, 1255, 495: 1255, 498: 1255, 507: 1255, 1255, 511: 1255, 533: 1255, 567: 1255, 570: 1255, 1255, 573: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 585: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 595: 1255, 1255, 598: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 651: 1255, 654: 3572, 749: 3570, 3571, 789: 3573, 792: 3574, 821: 3603, 3575},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3604},
- {50: 3605, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3606},
- {1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 477: 1142, 1142, 1142, 1142, 1142, 483: 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 492: 1142, 1142, 1142, 496: 1142, 1142, 499: 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 509: 1142, 1142, 512: 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 534: 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 568: 1142, 1142, 597: 1142},
+ {2: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 10: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 57: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 491: 1275, 1275, 494: 1275, 1275, 1275, 501: 1275, 1275, 1275, 1275, 1275, 509: 1275, 513: 1275, 1275, 521: 1275, 524: 1275, 548: 1275, 582: 1275, 586: 1275, 588: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 600: 1275, 1275, 1275, 1275, 1275, 1275, 607: 1275, 1275, 1275, 1275, 1275, 613: 1275, 1275, 616: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 668: 1275, 670: 3645, 766: 3643, 3644, 807: 3646, 809: 3647, 838: 3656, 3648},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3657},
+ {56: 3658, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3659},
+ {1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 492: 1158, 1158, 1158, 496: 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 507: 1158, 1158, 510: 1158, 1158, 1158, 515: 1158, 1158, 1158, 1158, 1158, 1158, 522: 1158, 1158, 525: 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 549: 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 583: 1158, 1158, 1158, 615: 1158},
// 1050
- {2: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 10: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 51: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 476: 1255, 478: 1255, 1255, 1255, 482: 1255, 485: 1255, 1255, 488: 1255, 1255, 1255, 495: 1255, 498: 1255, 507: 1255, 1255, 511: 1255, 533: 1255, 567: 1255, 570: 1255, 1255, 573: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 585: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 595: 1255, 1255, 598: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 651: 1255, 654: 3572, 749: 3570, 3571, 789: 3573, 792: 3574, 821: 3608, 3575},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3609},
- {50: 3610, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3611},
- {1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 477: 1143, 1143, 1143, 1143, 1143, 483: 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 492: 1143, 1143, 1143, 496: 1143, 1143, 499: 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 509: 1143, 1143, 512: 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 534: 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 568: 1143, 1143, 597: 1143},
+ {2: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 10: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 57: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 491: 1275, 1275, 494: 1275, 1275, 1275, 501: 1275, 1275, 1275, 1275, 1275, 509: 1275, 513: 1275, 1275, 521: 1275, 524: 1275, 548: 1275, 582: 1275, 586: 1275, 588: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 600: 1275, 1275, 1275, 1275, 1275, 1275, 607: 1275, 1275, 1275, 1275, 1275, 613: 1275, 1275, 616: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 668: 1275, 670: 3645, 766: 3643, 3644, 807: 3646, 809: 3647, 838: 3661, 3648},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3662},
+ {56: 3663, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3664},
+ {1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 492: 1159, 1159, 1159, 496: 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 507: 1159, 1159, 510: 1159, 1159, 1159, 515: 1159, 1159, 1159, 1159, 1159, 1159, 522: 1159, 1159, 525: 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 549: 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 583: 1159, 1159, 1159, 615: 1159},
// 1055
- {2: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 10: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 51: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 476: 1255, 478: 1255, 1255, 1255, 482: 1255, 485: 1255, 1255, 488: 1255, 1255, 1255, 495: 1255, 498: 1255, 507: 1255, 1255, 511: 1255, 533: 1255, 567: 1255, 570: 1255, 1255, 573: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 585: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 595: 1255, 1255, 598: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 651: 1255, 654: 3572, 749: 3570, 3571, 789: 3573, 792: 3574, 821: 3613, 3575},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3614, 782: 3615},
- {1940, 1940, 9: 1940, 50: 1940, 128: 1940, 484: 1940, 505: 1940, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {9: 3616, 50: 1311, 128: 1311, 505: 2748, 772: 2749, 817: 3617},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3623},
+ {2: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 10: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 57: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 491: 1275, 1275, 494: 1275, 1275, 1275, 501: 1275, 1275, 1275, 1275, 1275, 509: 1275, 513: 1275, 1275, 521: 1275, 524: 1275, 548: 1275, 582: 1275, 586: 1275, 588: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 600: 1275, 1275, 1275, 1275, 1275, 1275, 607: 1275, 1275, 1275, 1275, 1275, 613: 1275, 1275, 616: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 668: 1275, 670: 3645, 766: 3643, 3644, 807: 3646, 809: 3647, 838: 3666, 3648},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3667},
+ {56: 3668, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3669},
+ {1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 492: 1160, 1160, 1160, 496: 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 507: 1160, 1160, 510: 1160, 1160, 1160, 515: 1160, 1160, 1160, 1160, 1160, 1160, 522: 1160, 1160, 525: 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 549: 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 583: 1160, 1160, 1160, 615: 1160},
// 1060
- {50: 1130, 128: 3619, 1274: 3618},
- {50: 3621},
- {478: 3620},
- {50: 1129},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3622},
+ {2: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 10: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 57: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 491: 1275, 1275, 494: 1275, 1275, 1275, 501: 1275, 1275, 1275, 1275, 1275, 509: 1275, 513: 1275, 1275, 521: 1275, 524: 1275, 548: 1275, 582: 1275, 586: 1275, 588: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 600: 1275, 1275, 1275, 1275, 1275, 1275, 607: 1275, 1275, 1275, 1275, 1275, 613: 1275, 1275, 616: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 668: 1275, 670: 3645, 766: 3643, 3644, 807: 3646, 809: 3647, 838: 3671, 3648},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3672},
+ {56: 3673, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3674},
+ {1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 492: 1161, 1161, 1161, 496: 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 507: 1161, 1161, 510: 1161, 1161, 1161, 515: 1161, 1161, 1161, 1161, 1161, 1161, 522: 1161, 1161, 525: 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 549: 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 583: 1161, 1161, 1161, 615: 1161},
// 1065
- {1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 477: 1144, 1144, 1144, 1144, 1144, 483: 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 492: 1144, 1144, 1144, 496: 1144, 1144, 499: 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 509: 1144, 1144, 512: 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 534: 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 568: 1144, 1144, 597: 1144},
- {1939, 1939, 9: 1939, 50: 1939, 128: 1939, 484: 1939, 505: 1939, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 523: 3628, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 654: 3627, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3625, 749: 3570, 3571, 789: 3626},
- {50: 3636, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3614, 782: 3634},
+ {2: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 10: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 57: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 491: 1275, 1275, 494: 1275, 1275, 1275, 501: 1275, 1275, 1275, 1275, 1275, 509: 1275, 513: 1275, 1275, 521: 1275, 524: 1275, 548: 1275, 582: 1275, 586: 1275, 588: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 600: 1275, 1275, 1275, 1275, 1275, 1275, 607: 1275, 1275, 1275, 1275, 1275, 613: 1275, 1275, 616: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 668: 1275, 670: 3645, 766: 3643, 3644, 807: 3646, 809: 3647, 838: 3676, 3648},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3677},
+ {56: 3678, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3679},
+ {1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 492: 1162, 1162, 1162, 496: 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 507: 1162, 1162, 510: 1162, 1162, 1162, 515: 1162, 1162, 1162, 1162, 1162, 1162, 522: 1162, 1162, 525: 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 549: 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 583: 1162, 1162, 1162, 615: 1162},
// 1070
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3631},
- {50: 3629},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3630},
- {1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 477: 1145, 1145, 1145, 1145, 1145, 483: 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 492: 1145, 1145, 1145, 496: 1145, 1145, 499: 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 509: 1145, 1145, 512: 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 534: 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 568: 1145, 1145, 597: 1145},
- {50: 3632, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {2: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 10: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 57: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 491: 1275, 1275, 494: 1275, 1275, 1275, 501: 1275, 1275, 1275, 1275, 1275, 509: 1275, 513: 1275, 1275, 521: 1275, 524: 1275, 548: 1275, 582: 1275, 586: 1275, 588: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 600: 1275, 1275, 1275, 1275, 1275, 1275, 607: 1275, 1275, 1275, 1275, 1275, 613: 1275, 1275, 616: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 668: 1275, 670: 3645, 766: 3643, 3644, 807: 3646, 809: 3647, 838: 3681, 3648},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3682},
+ {56: 3683, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3684},
+ {1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 492: 1163, 1163, 1163, 496: 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 507: 1163, 1163, 510: 1163, 1163, 1163, 515: 1163, 1163, 1163, 1163, 1163, 1163, 522: 1163, 1163, 525: 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 549: 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 583: 1163, 1163, 1163, 615: 1163},
// 1075
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3633},
- {1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 477: 1147, 1147, 1147, 1147, 1147, 483: 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 492: 1147, 1147, 1147, 496: 1147, 1147, 499: 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 509: 1147, 1147, 512: 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 534: 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 568: 1147, 1147, 597: 1147},
- {9: 3616, 50: 3635},
- {1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 477: 1148, 1148, 1148, 1148, 1148, 483: 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 492: 1148, 1148, 1148, 496: 1148, 1148, 499: 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 509: 1148, 1148, 512: 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 534: 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 568: 1148, 1148, 597: 1148},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3637},
+ {2: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 10: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 57: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 491: 1275, 1275, 494: 1275, 1275, 1275, 501: 1275, 1275, 1275, 1275, 1275, 509: 1275, 513: 1275, 1275, 521: 1275, 524: 1275, 548: 1275, 582: 1275, 586: 1275, 588: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 600: 1275, 1275, 1275, 1275, 1275, 1275, 607: 1275, 1275, 1275, 1275, 1275, 613: 1275, 1275, 616: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 668: 1275, 670: 3645, 766: 3643, 3644, 807: 3646, 809: 3647, 838: 3686, 3648},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3687, 800: 3688},
+ {1978, 1978, 9: 1978, 56: 1978, 139: 1978, 500: 1978, 522: 1978, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {9: 3689, 56: 1333, 139: 1333, 522: 2806, 789: 2807, 835: 3690},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3696},
// 1080
- {1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 477: 1146, 1146, 1146, 1146, 1146, 483: 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 492: 1146, 1146, 1146, 496: 1146, 1146, 499: 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 509: 1146, 1146, 512: 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 534: 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 568: 1146, 1146, 597: 1146},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 654: 3640, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3639},
- {50: 3644, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3641},
- {50: 3642, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {56: 1150, 139: 3692, 1297: 3691},
+ {56: 3694},
+ {492: 3693},
+ {56: 1149},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3695},
// 1085
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3643},
- {1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 477: 1149, 1149, 1149, 1149, 1149, 483: 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 492: 1149, 1149, 1149, 496: 1149, 1149, 499: 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 509: 1149, 1149, 512: 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 534: 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 568: 1149, 1149, 597: 1149},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3645},
- {1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 477: 1150, 1150, 1150, 1150, 1150, 483: 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 492: 1150, 1150, 1150, 496: 1150, 1150, 499: 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 509: 1150, 1150, 512: 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 534: 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 568: 1150, 1150, 597: 1150},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 654: 3648, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3647},
+ {1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 492: 1164, 1164, 1164, 496: 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 507: 1164, 1164, 510: 1164, 1164, 1164, 515: 1164, 1164, 1164, 1164, 1164, 1164, 522: 1164, 1164, 525: 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 549: 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 583: 1164, 1164, 1164, 615: 1164},
+ {1977, 1977, 9: 1977, 56: 1977, 139: 1977, 500: 1977, 522: 1977, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 540: 3701, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 670: 3700, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3698, 766: 3643, 3644, 807: 3699},
+ {56: 3709, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3687, 800: 3707},
// 1090
- {50: 3652, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3649},
- {50: 3650, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3651},
- {1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 477: 1151, 1151, 1151, 1151, 1151, 483: 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 492: 1151, 1151, 1151, 496: 1151, 1151, 499: 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 509: 1151, 1151, 512: 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 534: 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 568: 1151, 1151, 597: 1151},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3704},
+ {56: 3702},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3703},
+ {1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 492: 1165, 1165, 1165, 496: 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 507: 1165, 1165, 510: 1165, 1165, 1165, 515: 1165, 1165, 1165, 1165, 1165, 1165, 522: 1165, 1165, 525: 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 549: 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 583: 1165, 1165, 1165, 615: 1165},
+ {56: 3705, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
// 1095
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3653},
- {1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 477: 1152, 1152, 1152, 1152, 1152, 483: 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 492: 1152, 1152, 1152, 496: 1152, 1152, 499: 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 509: 1152, 1152, 512: 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 534: 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 568: 1152, 1152, 597: 1152},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 654: 3656, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3655},
- {50: 3660, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3657},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3706},
+ {1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 492: 1167, 1167, 1167, 496: 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 507: 1167, 1167, 510: 1167, 1167, 1167, 515: 1167, 1167, 1167, 1167, 1167, 1167, 522: 1167, 1167, 525: 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 549: 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 583: 1167, 1167, 1167, 615: 1167},
+ {9: 3689, 56: 3708},
+ {1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 492: 1168, 1168, 1168, 496: 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 507: 1168, 1168, 510: 1168, 1168, 1168, 515: 1168, 1168, 1168, 1168, 1168, 1168, 522: 1168, 1168, 525: 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 549: 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 583: 1168, 1168, 1168, 615: 1168},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3710},
// 1100
- {50: 3658, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3659},
- {1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 477: 1153, 1153, 1153, 1153, 1153, 483: 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 492: 1153, 1153, 1153, 496: 1153, 1153, 499: 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 509: 1153, 1153, 512: 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 534: 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 568: 1153, 1153, 597: 1153},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 3661},
- {1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 477: 1154, 1154, 1154, 1154, 1154, 483: 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 492: 1154, 1154, 1154, 496: 1154, 1154, 499: 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 509: 1154, 1154, 512: 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 534: 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 568: 1154, 1154, 597: 1154},
+ {1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 492: 1166, 1166, 1166, 496: 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 507: 1166, 1166, 510: 1166, 1166, 1166, 515: 1166, 1166, 1166, 1166, 1166, 1166, 522: 1166, 1166, 525: 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 549: 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 583: 1166, 1166, 1166, 615: 1166},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 670: 3713, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3712},
+ {56: 3717, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3714},
+ {56: 3715, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
// 1105
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3614, 782: 3663},
- {9: 3616, 50: 3664},
- {1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 477: 1155, 1155, 1155, 1155, 1155, 483: 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 492: 1155, 1155, 1155, 496: 1155, 1155, 499: 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 509: 1155, 1155, 512: 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 534: 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 568: 1155, 1155, 597: 1155},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3614, 782: 3666},
- {9: 3616, 50: 3667},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3716},
+ {1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 492: 1169, 1169, 1169, 496: 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 507: 1169, 1169, 510: 1169, 1169, 1169, 515: 1169, 1169, 1169, 1169, 1169, 1169, 522: 1169, 1169, 525: 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 549: 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 583: 1169, 1169, 1169, 615: 1169},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3718},
+ {1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 492: 1170, 1170, 1170, 496: 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 507: 1170, 1170, 510: 1170, 1170, 1170, 515: 1170, 1170, 1170, 1170, 1170, 1170, 522: 1170, 1170, 525: 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 549: 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 583: 1170, 1170, 1170, 615: 1170},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 670: 3721, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3720},
// 1110
- {1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 477: 1156, 1156, 1156, 1156, 1156, 483: 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 492: 1156, 1156, 1156, 496: 1156, 1156, 499: 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 509: 1156, 1156, 512: 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 534: 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 568: 1156, 1156, 597: 1156},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3669},
- {9: 3670, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3671},
- {9: 3672, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {56: 3725, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3722},
+ {56: 3723, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3724},
+ {1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 492: 1171, 1171, 1171, 496: 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 507: 1171, 1171, 510: 1171, 1171, 1171, 515: 1171, 1171, 1171, 1171, 1171, 1171, 522: 1171, 1171, 525: 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 549: 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 583: 1171, 1171, 1171, 615: 1171},
// 1115
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3673},
- {50: 3674, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 477: 1172, 1172, 1172, 1172, 1172, 483: 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 492: 1172, 1172, 1172, 496: 1172, 1172, 499: 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 509: 1172, 1172, 512: 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 534: 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 568: 1172, 1172, 597: 1172},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3676, 1194: 3678, 1249: 3679, 1337: 3680, 3677},
- {50: 3688, 503: 3689, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3726},
+ {1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 492: 1172, 1172, 1172, 496: 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 507: 1172, 1172, 510: 1172, 1172, 1172, 515: 1172, 1172, 1172, 1172, 1172, 1172, 522: 1172, 1172, 525: 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 549: 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 583: 1172, 1172, 1172, 615: 1172},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 670: 3729, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3728},
+ {56: 3733, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3730},
// 1120
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 503: 3682, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3681},
- {2: 1163, 1163, 1163, 1163, 1163, 1163, 1163, 10: 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 51: 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 476: 1163, 478: 1163, 1163, 1163, 482: 1163, 485: 1163, 1163, 488: 1163, 1163, 1163, 495: 1163, 498: 1163, 503: 1163, 507: 1163, 1163, 511: 1163, 533: 1163, 567: 1163, 570: 1163, 1163, 573: 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 585: 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 595: 1163, 1163, 598: 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 651: 1163},
- {2: 1162, 1162, 1162, 1162, 1162, 1162, 1162, 10: 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 51: 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 476: 1162, 478: 1162, 1162, 1162, 482: 1162, 485: 1162, 1162, 488: 1162, 1162, 1162, 495: 1162, 498: 1162, 503: 1162, 507: 1162, 1162, 511: 1162, 533: 1162, 567: 1162, 570: 1162, 1162, 573: 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 585: 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 595: 1162, 1162, 598: 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 651: 1162},
- {2: 1161, 1161, 1161, 1161, 1161, 1161, 1161, 10: 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 51: 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 476: 1161, 478: 1161, 1161, 1161, 482: 1161, 485: 1161, 1161, 488: 1161, 1161, 1161, 495: 1161, 498: 1161, 503: 1161, 507: 1161, 1161, 511: 1161, 533: 1161, 567: 1161, 570: 1161, 1161, 573: 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 585: 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 595: 1161, 1161, 598: 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 651: 1161},
- {503: 3685, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {56: 3731, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3732},
+ {1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 492: 1173, 1173, 1173, 496: 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 507: 1173, 1173, 510: 1173, 1173, 1173, 515: 1173, 1173, 1173, 1173, 1173, 1173, 522: 1173, 1173, 525: 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 549: 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 583: 1173, 1173, 1173, 615: 1173},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 3734},
+ {1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 492: 1174, 1174, 1174, 496: 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 507: 1174, 1174, 510: 1174, 1174, 1174, 515: 1174, 1174, 1174, 1174, 1174, 1174, 522: 1174, 1174, 525: 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 549: 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 583: 1174, 1174, 1174, 615: 1174},
// 1125
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3683},
- {50: 3684, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 477: 1178, 1178, 1178, 1178, 1178, 483: 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 492: 1178, 1178, 1178, 496: 1178, 1178, 499: 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 509: 1178, 1178, 512: 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 534: 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 568: 1178, 1178, 597: 1178},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3686},
- {50: 3687, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3687, 800: 3736},
+ {9: 3689, 56: 3737},
+ {1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 492: 1175, 1175, 1175, 496: 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 507: 1175, 1175, 510: 1175, 1175, 1175, 515: 1175, 1175, 1175, 1175, 1175, 1175, 522: 1175, 1175, 525: 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 549: 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 583: 1175, 1175, 1175, 615: 1175},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3687, 800: 3739},
+ {9: 3689, 56: 3740},
// 1130
- {1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 477: 1177, 1177, 1177, 1177, 1177, 483: 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 492: 1177, 1177, 1177, 496: 1177, 1177, 499: 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 509: 1177, 1177, 512: 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 534: 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 568: 1177, 1177, 597: 1177},
- {1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 477: 1180, 1180, 1180, 1180, 1180, 483: 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 492: 1180, 1180, 1180, 496: 1180, 1180, 499: 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 509: 1180, 1180, 512: 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 534: 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 568: 1180, 1180, 597: 1180},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3690},
- {50: 3691, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 477: 1179, 1179, 1179, 1179, 1179, 483: 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 492: 1179, 1179, 1179, 496: 1179, 1179, 499: 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 509: 1179, 1179, 512: 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 534: 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 568: 1179, 1179, 597: 1179},
+ {1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 492: 1176, 1176, 1176, 496: 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 507: 1176, 1176, 510: 1176, 1176, 1176, 515: 1176, 1176, 1176, 1176, 1176, 1176, 522: 1176, 1176, 525: 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 549: 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 583: 1176, 1176, 1176, 615: 1176},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3742},
+ {9: 3743, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3744},
+ {9: 3745, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
// 1135
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3693},
- {9: 3694, 503: 3695, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3701},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3696},
- {50: 3697, 497: 3698, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3746},
+ {56: 3747, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 492: 1192, 1192, 1192, 496: 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 507: 1192, 1192, 510: 1192, 1192, 1192, 515: 1192, 1192, 1192, 1192, 1192, 1192, 522: 1192, 1192, 525: 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 549: 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 583: 1192, 1192, 1192, 615: 1192},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3749, 1218: 3751, 1272: 3752, 1360: 3753, 3750},
+ {56: 3761, 519: 3762, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
// 1140
- {1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 477: 1185, 1185, 1185, 1185, 1185, 483: 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 492: 1185, 1185, 1185, 496: 1185, 1185, 499: 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 509: 1185, 1185, 512: 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 534: 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 568: 1185, 1185, 597: 1185},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3699},
- {50: 3700, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 477: 1183, 1183, 1183, 1183, 1183, 483: 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 492: 1183, 1183, 1183, 496: 1183, 1183, 499: 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 509: 1183, 1183, 512: 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 534: 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 568: 1183, 1183, 597: 1183},
- {9: 3703, 50: 3702, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 519: 3755, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3754},
+ {2: 1183, 1183, 1183, 1183, 1183, 1183, 1183, 10: 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 57: 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 491: 1183, 1183, 494: 1183, 1183, 1183, 501: 1183, 1183, 1183, 1183, 1183, 509: 1183, 513: 1183, 1183, 519: 1183, 521: 1183, 524: 1183, 548: 1183, 582: 1183, 586: 1183, 588: 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 600: 1183, 1183, 1183, 1183, 1183, 1183, 607: 1183, 1183, 1183, 1183, 1183, 613: 1183, 1183, 616: 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 668: 1183},
+ {2: 1182, 1182, 1182, 1182, 1182, 1182, 1182, 10: 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 57: 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 491: 1182, 1182, 494: 1182, 1182, 1182, 501: 1182, 1182, 1182, 1182, 1182, 509: 1182, 513: 1182, 1182, 519: 1182, 521: 1182, 524: 1182, 548: 1182, 582: 1182, 586: 1182, 588: 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 600: 1182, 1182, 1182, 1182, 1182, 1182, 607: 1182, 1182, 1182, 1182, 1182, 613: 1182, 1182, 616: 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 668: 1182},
+ {2: 1181, 1181, 1181, 1181, 1181, 1181, 1181, 10: 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 57: 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 491: 1181, 1181, 494: 1181, 1181, 1181, 501: 1181, 1181, 1181, 1181, 1181, 509: 1181, 513: 1181, 1181, 519: 1181, 521: 1181, 524: 1181, 548: 1181, 582: 1181, 586: 1181, 588: 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 600: 1181, 1181, 1181, 1181, 1181, 1181, 607: 1181, 1181, 1181, 1181, 1181, 613: 1181, 1181, 616: 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 668: 1181},
+ {519: 3758, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
// 1145
- {1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 477: 1186, 1186, 1186, 1186, 1186, 483: 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 492: 1186, 1186, 1186, 496: 1186, 1186, 499: 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 509: 1186, 1186, 512: 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 534: 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 568: 1186, 1186, 597: 1186},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3704},
- {50: 3705, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 477: 1184, 1184, 1184, 1184, 1184, 483: 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 492: 1184, 1184, 1184, 496: 1184, 1184, 499: 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 509: 1184, 1184, 512: 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 534: 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 568: 1184, 1184, 597: 1184},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3707},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3756},
+ {56: 3757, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 492: 1198, 1198, 1198, 496: 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 507: 1198, 1198, 510: 1198, 1198, 1198, 515: 1198, 1198, 1198, 1198, 1198, 1198, 522: 1198, 1198, 525: 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 549: 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 583: 1198, 1198, 1198, 615: 1198},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3759},
+ {56: 3760, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
// 1150
- {488: 3712, 3713, 3718, 523: 3714, 547: 3720, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3742},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3741},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3740},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3739},
+ {1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 492: 1197, 1197, 1197, 496: 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 507: 1197, 1197, 510: 1197, 1197, 1197, 515: 1197, 1197, 1197, 1197, 1197, 1197, 522: 1197, 1197, 525: 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 549: 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 583: 1197, 1197, 1197, 615: 1197},
+ {1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 492: 1200, 1200, 1200, 496: 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 507: 1200, 1200, 510: 1200, 1200, 1200, 515: 1200, 1200, 1200, 1200, 1200, 1200, 522: 1200, 1200, 525: 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 549: 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 583: 1200, 1200, 1200, 615: 1200},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3763},
+ {56: 3764, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 492: 1199, 1199, 1199, 496: 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 507: 1199, 1199, 510: 1199, 1199, 1199, 515: 1199, 1199, 1199, 1199, 1199, 1199, 522: 1199, 1199, 525: 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 549: 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 583: 1199, 1199, 1199, 615: 1199},
// 1155
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3736, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3735},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3730, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3729},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3728},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3727},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3726},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3766},
+ {9: 3767, 519: 3768, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3774},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3769},
+ {56: 3770, 512: 3771, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
// 1160
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3725},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3724},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3723},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3721},
- {50: 3722, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 492: 1205, 1205, 1205, 496: 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 507: 1205, 1205, 510: 1205, 1205, 1205, 515: 1205, 1205, 1205, 1205, 1205, 1205, 522: 1205, 1205, 525: 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 549: 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 583: 1205, 1205, 1205, 615: 1205},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3772},
+ {56: 3773, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 492: 1203, 1203, 1203, 496: 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 507: 1203, 1203, 510: 1203, 1203, 1203, 515: 1203, 1203, 1203, 1203, 1203, 1203, 522: 1203, 1203, 525: 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 549: 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 583: 1203, 1203, 1203, 615: 1203},
+ {9: 3776, 56: 3775, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
// 1165
- {1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 477: 1187, 1187, 1187, 1187, 1187, 483: 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 492: 1187, 1187, 1187, 496: 1187, 1187, 499: 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 509: 1187, 1187, 512: 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 534: 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 568: 1187, 1187, 597: 1187},
- {1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 477: 1295, 1295, 1295, 1295, 1295, 483: 1295, 1295, 1295, 1295, 488: 1295, 1295, 1295, 492: 1295, 1295, 1295, 496: 1295, 1295, 499: 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 509: 1295, 1295, 512: 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 534: 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 568: 1295, 1295},
- {1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 477: 1296, 1296, 1296, 1296, 1296, 483: 1296, 1296, 1296, 1296, 488: 1296, 1296, 1296, 492: 1296, 1296, 1296, 496: 1296, 1296, 499: 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 509: 1296, 1296, 512: 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 534: 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 3719, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 568: 1296, 1296},
- {1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 477: 1297, 1297, 1297, 1297, 1297, 483: 1297, 1297, 1297, 1297, 488: 1297, 1297, 1297, 492: 1297, 1297, 1297, 496: 1297, 1297, 499: 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 509: 1297, 1297, 512: 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 534: 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 3719, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 568: 1297, 1297},
- {1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 477: 1298, 1298, 1298, 1298, 1298, 483: 1298, 1298, 1298, 1298, 488: 1298, 1298, 1298, 492: 1298, 1298, 1298, 496: 1298, 1298, 499: 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 509: 1298, 1298, 512: 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 534: 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 3719, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 568: 1298, 1298},
+ {1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 492: 1206, 1206, 1206, 496: 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 507: 1206, 1206, 510: 1206, 1206, 1206, 515: 1206, 1206, 1206, 1206, 1206, 1206, 522: 1206, 1206, 525: 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 549: 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 583: 1206, 1206, 1206, 615: 1206},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3777},
+ {56: 3778, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 492: 1204, 1204, 1204, 496: 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 507: 1204, 1204, 510: 1204, 1204, 1204, 515: 1204, 1204, 1204, 1204, 1204, 1204, 522: 1204, 1204, 525: 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 549: 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 583: 1204, 1204, 1204, 615: 1204},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3780},
// 1170
- {1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 477: 1299, 1299, 1299, 1299, 1299, 483: 1299, 1299, 1299, 1299, 488: 1299, 1299, 1299, 492: 1299, 1299, 1299, 496: 1299, 1299, 499: 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 509: 1299, 1299, 512: 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 534: 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 3719, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 568: 1299, 1299},
- {1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 477: 1300, 1300, 1300, 1300, 1300, 483: 1300, 1300, 1300, 1300, 488: 1300, 1300, 1300, 492: 1300, 1300, 1300, 496: 1300, 1300, 499: 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 509: 1300, 1300, 512: 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 534: 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 3719, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 568: 1300, 1300},
- {1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 477: 1304, 1304, 1304, 1304, 1304, 483: 1304, 1304, 1304, 1304, 488: 1304, 1304, 3718, 492: 1304, 1304, 1304, 496: 1304, 1304, 499: 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 509: 1304, 1304, 512: 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 3714, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 534: 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 3715, 3716, 1304, 3719, 1304, 3717, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 568: 1304, 1304},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 1240, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3731},
- {105: 3490, 3486, 109: 3483, 3498, 113: 3485, 3482, 3484, 3488, 3489, 3494, 3493, 3492, 3496, 3497, 3491, 3495, 3487, 510: 3371, 512: 3369, 3370, 3368, 3366, 535: 3480, 3477, 3479, 3478, 3474, 3476, 3475, 3472, 3473, 3471, 3481, 738: 3367, 3365, 800: 3470, 820: 3732},
+ {503: 3785, 3786, 3791, 540: 3787, 563: 3793, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3815},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3814},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3813},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3812},
// 1175
- {1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 477: 1302, 1302, 1302, 1302, 1302, 483: 1302, 1302, 1302, 1302, 488: 1302, 1302, 1302, 492: 1302, 1302, 1302, 496: 1302, 1302, 499: 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 509: 1302, 1302, 512: 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 534: 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 568: 1302, 1302},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3734},
- {1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 477: 1301, 1301, 1301, 1301, 1301, 483: 1301, 1301, 1301, 1301, 488: 1301, 1301, 3718, 492: 1301, 1301, 1301, 496: 1301, 1301, 499: 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 509: 1301, 1301, 512: 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 3714, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 534: 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 3715, 3716, 1301, 3719, 1301, 3717, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 568: 1301, 1301},
- {1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 477: 1305, 1305, 1305, 1305, 1305, 483: 1305, 1305, 1305, 1305, 488: 1305, 1305, 3718, 492: 1305, 1305, 1305, 496: 1305, 1305, 499: 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 509: 1305, 1305, 512: 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 3714, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 534: 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 3715, 3716, 1305, 3719, 1305, 3717, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 568: 1305, 1305},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 1240, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3737},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3809, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3808},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3803, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3802},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3801},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3800},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3799},
// 1180
- {105: 3490, 3486, 109: 3483, 3498, 113: 3485, 3482, 3484, 3488, 3489, 3494, 3493, 3492, 3496, 3497, 3491, 3495, 3487, 510: 3371, 512: 3369, 3370, 3368, 3366, 535: 3480, 3477, 3479, 3478, 3474, 3476, 3475, 3472, 3473, 3471, 3481, 738: 3367, 3365, 800: 3470, 820: 3738},
- {1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 477: 1303, 1303, 1303, 1303, 1303, 483: 1303, 1303, 1303, 1303, 488: 1303, 1303, 1303, 492: 1303, 1303, 1303, 496: 1303, 1303, 499: 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 509: 1303, 1303, 512: 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 534: 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 568: 1303, 1303},
- {1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 477: 1306, 1306, 1306, 1306, 1306, 483: 1306, 1306, 1306, 1306, 488: 3712, 3713, 3718, 492: 1306, 1306, 1306, 496: 1306, 1306, 499: 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 509: 1306, 1306, 512: 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 3714, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 534: 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 3715, 3716, 1306, 3719, 1306, 3717, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 568: 1306, 1306},
- {1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 477: 1307, 1307, 1307, 1307, 1307, 483: 1307, 1307, 1307, 1307, 488: 3712, 3713, 3718, 492: 1307, 1307, 1307, 496: 1307, 1307, 499: 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 509: 1307, 1307, 512: 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 3714, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 534: 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 3715, 3716, 1307, 3719, 1307, 3717, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 568: 1307, 1307},
- {1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 477: 1308, 1308, 1308, 1308, 1308, 483: 1308, 1308, 1308, 1308, 488: 3712, 3713, 3718, 492: 1308, 1308, 1308, 496: 1308, 1308, 499: 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 509: 1308, 1308, 512: 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 3714, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 534: 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 3715, 3716, 1308, 3719, 1308, 3717, 3710, 3711, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 568: 1308, 1308},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3798},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3797},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3796},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3794},
+ {56: 3795, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
// 1185
- {1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 477: 1309, 1309, 1309, 1309, 1309, 483: 1309, 1309, 1309, 1309, 488: 3712, 3713, 3718, 492: 1309, 1309, 1309, 496: 1309, 1309, 499: 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 509: 1309, 1309, 512: 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 3714, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 534: 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 3715, 3716, 3709, 3719, 1309, 3717, 3710, 3711, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 568: 1309, 1309},
- {105: 3490, 3486, 109: 3483, 3498, 113: 3485, 3482, 3484, 3488, 3489, 3494, 3493, 3492, 3496, 3497, 3491, 3495, 3487, 535: 3480, 3477, 3479, 3478, 3474, 3476, 3475, 3472, 3473, 3471, 3481, 800: 3470, 820: 3744},
- {503: 3745},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3746},
- {50: 3747, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 492: 1207, 1207, 1207, 496: 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 507: 1207, 1207, 510: 1207, 1207, 1207, 515: 1207, 1207, 1207, 1207, 1207, 1207, 522: 1207, 1207, 525: 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 549: 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 583: 1207, 1207, 1207, 615: 1207},
+ {1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 492: 1317, 1317, 1317, 496: 1317, 1317, 499: 1317, 1317, 1317, 1317, 1317, 1317, 1317, 507: 1317, 1317, 510: 1317, 1317, 1317, 515: 1317, 1317, 1317, 1317, 1317, 1317, 522: 1317, 1317, 525: 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 549: 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 583: 1317, 1317, 1317},
+ {1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 492: 1318, 1318, 1318, 496: 1318, 1318, 499: 1318, 1318, 1318, 1318, 1318, 1318, 1318, 507: 1318, 1318, 510: 1318, 1318, 1318, 515: 1318, 1318, 1318, 1318, 1318, 1318, 522: 1318, 1318, 525: 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 549: 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 3792, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 583: 1318, 1318, 1318},
+ {1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 492: 1319, 1319, 1319, 496: 1319, 1319, 499: 1319, 1319, 1319, 1319, 1319, 1319, 1319, 507: 1319, 1319, 510: 1319, 1319, 1319, 515: 1319, 1319, 1319, 1319, 1319, 1319, 522: 1319, 1319, 525: 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 549: 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 3792, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 583: 1319, 1319, 1319},
+ {1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 492: 1320, 1320, 1320, 496: 1320, 1320, 499: 1320, 1320, 1320, 1320, 1320, 1320, 1320, 507: 1320, 1320, 510: 1320, 1320, 1320, 515: 1320, 1320, 1320, 1320, 1320, 1320, 522: 1320, 1320, 525: 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 549: 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 3792, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 583: 1320, 1320, 1320},
// 1190
- {1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 477: 1189, 1189, 1189, 1189, 1189, 483: 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 492: 1189, 1189, 1189, 496: 1189, 1189, 499: 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 509: 1189, 1189, 512: 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 534: 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 568: 1189, 1189, 597: 1189},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3749},
- {9: 3750, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {581: 3751},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3752},
+ {1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 492: 1321, 1321, 1321, 496: 1321, 1321, 499: 1321, 1321, 1321, 1321, 1321, 1321, 1321, 507: 1321, 1321, 510: 1321, 1321, 1321, 515: 1321, 1321, 1321, 1321, 1321, 1321, 522: 1321, 1321, 525: 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 549: 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 3792, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 583: 1321, 1321, 1321},
+ {1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 492: 1322, 1322, 1322, 496: 1322, 1322, 499: 1322, 1322, 1322, 1322, 1322, 1322, 1322, 507: 1322, 1322, 510: 1322, 1322, 1322, 515: 1322, 1322, 1322, 1322, 1322, 1322, 522: 1322, 1322, 525: 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 549: 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 3792, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 583: 1322, 1322, 1322},
+ {1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 492: 1326, 1326, 1326, 496: 1326, 1326, 499: 1326, 1326, 1326, 1326, 1326, 1326, 3791, 507: 1326, 1326, 510: 1326, 1326, 1326, 515: 1326, 1326, 1326, 1326, 1326, 1326, 522: 1326, 1326, 525: 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 3787, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 549: 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 3788, 3789, 1326, 3792, 1326, 3790, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 583: 1326, 1326, 1326},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 1260, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3804},
+ {111: 3559, 3563, 114: 3556, 3571, 118: 3558, 121: 3555, 3557, 3561, 3562, 126: 3567, 3566, 3565, 3569, 3570, 3564, 3568, 134: 3560, 526: 3444, 3442, 3443, 3441, 3439, 549: 3553, 3550, 3552, 3551, 3547, 3549, 3548, 3545, 3546, 3544, 3554, 755: 3440, 3438, 812: 3543, 827: 3805},
// 1195
- {105: 3490, 3486, 109: 3483, 3498, 113: 3485, 3482, 3484, 3488, 3489, 3494, 3493, 3492, 3496, 3497, 3491, 3495, 3487, 510: 3371, 512: 3369, 3370, 3368, 3366, 535: 3480, 3477, 3479, 3478, 3474, 3476, 3475, 3472, 3473, 3471, 3481, 738: 3367, 3365, 800: 3470, 820: 3753},
- {50: 3754},
- {1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 477: 1190, 1190, 1190, 1190, 1190, 483: 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 492: 1190, 1190, 1190, 496: 1190, 1190, 499: 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 509: 1190, 1190, 512: 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 534: 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 568: 1190, 1190, 597: 1190},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3756},
- {9: 3757, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 492: 1324, 1324, 1324, 496: 1324, 1324, 499: 1324, 1324, 1324, 1324, 1324, 1324, 1324, 507: 1324, 1324, 510: 1324, 1324, 1324, 515: 1324, 1324, 1324, 1324, 1324, 1324, 522: 1324, 1324, 525: 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 549: 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 583: 1324, 1324, 1324},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3807},
+ {1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 492: 1323, 1323, 1323, 496: 1323, 1323, 499: 1323, 1323, 1323, 1323, 1323, 1323, 3791, 507: 1323, 1323, 510: 1323, 1323, 1323, 515: 1323, 1323, 1323, 1323, 1323, 1323, 522: 1323, 1323, 525: 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 3787, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 549: 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 3788, 3789, 1323, 3792, 1323, 3790, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 583: 1323, 1323, 1323},
+ {1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 492: 1327, 1327, 1327, 496: 1327, 1327, 499: 1327, 1327, 1327, 1327, 1327, 1327, 3791, 507: 1327, 1327, 510: 1327, 1327, 1327, 515: 1327, 1327, 1327, 1327, 1327, 1327, 522: 1327, 1327, 525: 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 3787, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 549: 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 3788, 3789, 1327, 3792, 1327, 3790, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 583: 1327, 1327, 1327},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 1260, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3810},
// 1200
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3759, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3758},
- {50: 3763, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 1240, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3760},
- {105: 3490, 3486, 109: 3483, 3498, 113: 3485, 3482, 3484, 3488, 3489, 3494, 3493, 3492, 3496, 3497, 3491, 3495, 3487, 510: 3371, 512: 3369, 3370, 3368, 3366, 535: 3480, 3477, 3479, 3478, 3474, 3476, 3475, 3472, 3473, 3471, 3481, 738: 3367, 3365, 800: 3470, 820: 3761},
- {50: 3762, 488: 3733},
+ {111: 3559, 3563, 114: 3556, 3571, 118: 3558, 121: 3555, 3557, 3561, 3562, 126: 3567, 3566, 3565, 3569, 3570, 3564, 3568, 134: 3560, 526: 3444, 3442, 3443, 3441, 3439, 549: 3553, 3550, 3552, 3551, 3547, 3549, 3548, 3545, 3546, 3544, 3554, 755: 3440, 3438, 812: 3543, 827: 3811},
+ {1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 492: 1325, 1325, 1325, 496: 1325, 1325, 499: 1325, 1325, 1325, 1325, 1325, 1325, 1325, 507: 1325, 1325, 510: 1325, 1325, 1325, 515: 1325, 1325, 1325, 1325, 1325, 1325, 522: 1325, 1325, 525: 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 549: 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 583: 1325, 1325, 1325},
+ {1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 492: 1328, 1328, 1328, 496: 1328, 1328, 499: 1328, 1328, 1328, 1328, 3785, 3786, 3791, 507: 1328, 1328, 510: 1328, 1328, 1328, 515: 1328, 1328, 1328, 1328, 1328, 1328, 522: 1328, 1328, 525: 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 3787, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 549: 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 3788, 3789, 1328, 3792, 1328, 3790, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 583: 1328, 1328, 1328},
+ {1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 492: 1329, 1329, 1329, 496: 1329, 1329, 499: 1329, 1329, 1329, 1329, 3785, 3786, 3791, 507: 1329, 1329, 510: 1329, 1329, 1329, 515: 1329, 1329, 1329, 1329, 1329, 1329, 522: 1329, 1329, 525: 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 3787, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 549: 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 3788, 3789, 1329, 3792, 1329, 3790, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 583: 1329, 1329, 1329},
+ {1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 492: 1330, 1330, 1330, 496: 1330, 1330, 499: 1330, 1330, 1330, 1330, 3785, 3786, 3791, 507: 1330, 1330, 510: 1330, 1330, 1330, 515: 1330, 1330, 1330, 1330, 1330, 1330, 522: 1330, 1330, 525: 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 3787, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 549: 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 3788, 3789, 1330, 3792, 1330, 3790, 3783, 3784, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 583: 1330, 1330, 1330},
// 1205
- {1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 477: 1191, 1191, 1191, 1191, 1191, 483: 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 492: 1191, 1191, 1191, 496: 1191, 1191, 499: 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 509: 1191, 1191, 512: 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 534: 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 568: 1191, 1191, 597: 1191},
- {1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 477: 1192, 1192, 1192, 1192, 1192, 483: 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 492: 1192, 1192, 1192, 496: 1192, 1192, 499: 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 509: 1192, 1192, 512: 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 534: 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 568: 1192, 1192, 597: 1192},
- {50: 1934, 511: 3766, 1059: 3765, 3767},
- {50: 1933},
- {50: 1932},
+ {1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 492: 1331, 1331, 1331, 496: 1331, 1331, 499: 1331, 1331, 1331, 1331, 3785, 3786, 3791, 507: 1331, 1331, 510: 1331, 1331, 1331, 515: 1331, 1331, 1331, 1331, 1331, 1331, 522: 1331, 1331, 525: 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 3787, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 549: 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 3788, 3789, 3782, 3792, 1331, 3790, 3783, 3784, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 583: 1331, 1331, 1331},
+ {111: 3559, 3563, 114: 3556, 3571, 118: 3558, 121: 3555, 3557, 3561, 3562, 126: 3567, 3566, 3565, 3569, 3570, 3564, 3568, 134: 3560, 549: 3553, 3550, 3552, 3551, 3547, 3549, 3548, 3545, 3546, 3544, 3554, 812: 3543, 827: 3817},
+ {519: 3818},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3819},
+ {56: 3820, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
// 1210
- {50: 3768},
- {1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 477: 1193, 1193, 1193, 1193, 1193, 483: 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 492: 1193, 1193, 1193, 496: 1193, 1193, 499: 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 509: 1193, 1193, 512: 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 534: 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 568: 1193, 1193, 597: 1193},
- {50: 1934, 511: 3766, 1059: 3765, 3770},
- {50: 3771},
- {1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 477: 1194, 1194, 1194, 1194, 1194, 483: 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 492: 1194, 1194, 1194, 496: 1194, 1194, 499: 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 509: 1194, 1194, 512: 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 534: 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 568: 1194, 1194, 597: 1194},
+ {1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 492: 1209, 1209, 1209, 496: 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 507: 1209, 1209, 510: 1209, 1209, 1209, 515: 1209, 1209, 1209, 1209, 1209, 1209, 522: 1209, 1209, 525: 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 549: 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 583: 1209, 1209, 1209, 615: 1209},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3822},
+ {9: 3823, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {598: 3824},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3825},
// 1215
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3773},
- {9: 3774, 488: 3712, 3713, 3718, 523: 3714, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 3775},
- {50: 3776, 488: 3712, 3713, 3718, 523: 3714, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711},
- {1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 477: 1196, 1196, 1196, 1196, 1196, 483: 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 492: 1196, 1196, 1196, 496: 1196, 1196, 499: 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 509: 1196, 1196, 512: 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 534: 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 568: 1196, 1196, 597: 1196},
+ {111: 3559, 3563, 114: 3556, 3571, 118: 3558, 121: 3555, 3557, 3561, 3562, 126: 3567, 3566, 3565, 3569, 3570, 3564, 3568, 134: 3560, 526: 3444, 3442, 3443, 3441, 3439, 549: 3553, 3550, 3552, 3551, 3547, 3549, 3548, 3545, 3546, 3544, 3554, 755: 3440, 3438, 812: 3543, 827: 3826},
+ {56: 3827},
+ {1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 492: 1210, 1210, 1210, 496: 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 507: 1210, 1210, 510: 1210, 1210, 1210, 515: 1210, 1210, 1210, 1210, 1210, 1210, 522: 1210, 1210, 525: 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 549: 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 583: 1210, 1210, 1210, 615: 1210},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3829},
+ {9: 3830, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
// 1220
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 1936, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3614, 782: 3778, 830: 3779},
- {9: 3616, 50: 1935},
- {50: 3780},
- {1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 477: 1197, 1197, 1197, 1197, 1197, 483: 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 492: 1197, 1197, 1197, 496: 1197, 1197, 499: 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 509: 1197, 1197, 512: 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 534: 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 568: 1197, 1197, 597: 1197},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3614, 782: 3782},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3832, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3831},
+ {56: 3836, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 1260, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3833},
+ {111: 3559, 3563, 114: 3556, 3571, 118: 3558, 121: 3555, 3557, 3561, 3562, 126: 3567, 3566, 3565, 3569, 3570, 3564, 3568, 134: 3560, 526: 3444, 3442, 3443, 3441, 3439, 549: 3553, 3550, 3552, 3551, 3547, 3549, 3548, 3545, 3546, 3544, 3554, 755: 3440, 3438, 812: 3543, 827: 3834},
+ {56: 3835, 503: 3806},
// 1225
- {9: 3616, 50: 3783, 484: 3784},
- {1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 477: 1202, 1202, 1202, 1202, 1202, 483: 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 492: 1202, 1202, 1202, 496: 1202, 1202, 499: 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 509: 1202, 1202, 512: 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 534: 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 568: 1202, 1202, 597: 1202},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 533: 3787, 664: 3517, 2785, 2786, 2784, 742: 3786, 811: 3785},
- {50: 3788},
- {771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 50: 771, 103: 771, 112: 771, 475: 771, 771, 771, 479: 771, 771, 771, 771, 771, 487: 771, 491: 771, 771, 495: 771, 498: 771, 506: 771, 771, 771, 771, 533: 771, 572: 771, 584: 771, 593: 771, 771, 645: 771, 771, 771, 771, 771, 771, 652: 771, 661: 771},
+ {1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 492: 1211, 1211, 1211, 496: 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 507: 1211, 1211, 510: 1211, 1211, 1211, 515: 1211, 1211, 1211, 1211, 1211, 1211, 522: 1211, 1211, 525: 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 549: 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 583: 1211, 1211, 1211, 615: 1211},
+ {1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 492: 1212, 1212, 1212, 496: 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 507: 1212, 1212, 510: 1212, 1212, 1212, 515: 1212, 1212, 1212, 1212, 1212, 1212, 522: 1212, 1212, 525: 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 549: 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 583: 1212, 1212, 1212, 615: 1212},
+ {56: 1972, 524: 3839, 1079: 3838, 3840},
+ {56: 1971},
+ {56: 1970},
// 1230
- {770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 50: 770, 103: 770, 112: 770, 475: 770, 770, 770, 479: 770, 770, 770, 770, 770, 487: 770, 491: 770, 770, 495: 770, 498: 770, 506: 770, 770, 770, 770, 533: 770, 572: 770, 584: 770, 593: 770, 770, 645: 770, 770, 770, 770, 770, 770, 652: 770, 661: 770},
- {1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 477: 1201, 1201, 1201, 1201, 1201, 483: 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 492: 1201, 1201, 1201, 496: 1201, 1201, 499: 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 509: 1201, 1201, 512: 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 534: 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 568: 1201, 1201, 597: 1201},
- {1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 477: 1203, 1203, 1203, 1203, 1203, 483: 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 492: 1203, 1203, 1203, 496: 1203, 1203, 499: 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 509: 1203, 1203, 512: 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 534: 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 568: 1203, 1203, 597: 1203},
- {50: 3791, 511: 3792},
- {1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 477: 1125, 1125, 1125, 1125, 1125, 483: 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 492: 1125, 1125, 1125, 496: 1125, 1125, 499: 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 509: 1125, 1125, 512: 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 534: 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 568: 1125, 1125, 597: 1125},
+ {56: 3841},
+ {1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 492: 1213, 1213, 1213, 496: 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 507: 1213, 1213, 510: 1213, 1213, 1213, 515: 1213, 1213, 1213, 1213, 1213, 1213, 522: 1213, 1213, 525: 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 549: 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 583: 1213, 1213, 1213, 615: 1213},
+ {56: 1972, 524: 3839, 1079: 3838, 3843},
+ {56: 3844},
+ {1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 492: 1214, 1214, 1214, 496: 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 507: 1214, 1214, 510: 1214, 1214, 1214, 515: 1214, 1214, 1214, 1214, 1214, 1214, 522: 1214, 1214, 525: 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 549: 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 583: 1214, 1214, 1214, 615: 1214},
// 1235
- {50: 3793},
- {1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 477: 1124, 1124, 1124, 1124, 1124, 483: 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 492: 1124, 1124, 1124, 496: 1124, 1124, 499: 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 509: 1124, 1124, 512: 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 534: 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 568: 1124, 1124, 597: 1124},
- {50: 3795},
- {1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 477: 1204, 1204, 1204, 1204, 1204, 483: 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 492: 1204, 1204, 1204, 496: 1204, 1204, 499: 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 509: 1204, 1204, 512: 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 534: 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 568: 1204, 1204, 597: 1204},
- {50: 3798},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3846},
+ {9: 3847, 503: 3785, 3786, 3791, 540: 3787, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 3848},
+ {56: 3849, 503: 3785, 3786, 3791, 540: 3787, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784},
+ {1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 492: 1216, 1216, 1216, 496: 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 507: 1216, 1216, 510: 1216, 1216, 1216, 515: 1216, 1216, 1216, 1216, 1216, 1216, 522: 1216, 1216, 525: 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 549: 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 583: 1216, 1216, 1216, 615: 1216},
// 1240
- {1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 477: 1205, 1205, 1205, 1205, 1205, 483: 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 492: 1205, 1205, 1205, 496: 1205, 1205, 499: 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 509: 1205, 1205, 512: 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 534: 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 568: 1205, 1205, 597: 1205},
- {1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 477: 1219, 1219, 1219, 1219, 1219, 483: 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 492: 1219, 1219, 1219, 496: 1219, 1219, 499: 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 509: 1219, 1219, 512: 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 534: 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 568: 1219, 1219, 597: 1219, 653: 1219, 669: 1219, 671: 1219},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 1936, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3614, 782: 3778, 830: 3800},
- {50: 3801},
- {1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 477: 1206, 1206, 1206, 1206, 1206, 483: 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 492: 1206, 1206, 1206, 496: 1206, 1206, 499: 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 509: 1206, 1206, 512: 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 534: 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 568: 1206, 1206, 597: 1206},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 1974, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3687, 800: 3851, 847: 3852},
+ {9: 3689, 56: 1973},
+ {56: 3853},
+ {1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 492: 1217, 1217, 1217, 496: 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 507: 1217, 1217, 510: 1217, 1217, 1217, 515: 1217, 1217, 1217, 1217, 1217, 1217, 522: 1217, 1217, 525: 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 549: 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 583: 1217, 1217, 1217, 615: 1217},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3687, 800: 3855},
// 1245
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 1936, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3614, 782: 3778, 830: 3803},
- {50: 3804},
- {1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 477: 1207, 1207, 1207, 1207, 1207, 483: 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 492: 1207, 1207, 1207, 496: 1207, 1207, 499: 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 509: 1207, 1207, 512: 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 534: 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 568: 1207, 1207, 597: 1207},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3806, 2785, 2786, 2784, 715: 3807},
- {50: 1293, 502: 1293, 655: 3809},
+ {9: 3689, 56: 3856, 500: 3857},
+ {1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 492: 1222, 1222, 1222, 496: 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 507: 1222, 1222, 510: 1222, 1222, 1222, 515: 1222, 1222, 1222, 1222, 1222, 1222, 522: 1222, 1222, 525: 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 549: 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 583: 1222, 1222, 1222, 615: 1222},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 548: 3860, 685: 3590, 2843, 2844, 2842, 759: 3859, 829: 3858},
+ {56: 3861},
+ {791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 56: 791, 109: 791, 136: 791, 490: 791, 791, 493: 791, 791, 791, 791, 791, 791, 791, 506: 791, 791, 509: 791, 513: 791, 791, 521: 791, 523: 791, 525: 791, 548: 791, 587: 791, 599: 791, 606: 791, 612: 791, 661: 791, 791, 791, 791, 791, 791, 791, 677: 791, 791},
// 1250
- {50: 3808},
- {1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 477: 1262, 1262, 1262, 1262, 1262, 483: 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 492: 1262, 1262, 1262, 496: 1262, 1262, 499: 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 509: 1262, 1262, 512: 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 534: 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 568: 1262, 1262, 597: 1262},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3810, 2785, 2786, 2784},
- {50: 1292, 502: 1292, 655: 3811},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3812, 2785, 2786, 2784},
+ {790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 56: 790, 109: 790, 136: 790, 490: 790, 790, 493: 790, 790, 790, 790, 790, 790, 790, 506: 790, 790, 509: 790, 513: 790, 790, 521: 790, 523: 790, 525: 790, 548: 790, 587: 790, 599: 790, 606: 790, 612: 790, 661: 790, 790, 790, 790, 790, 790, 790, 677: 790, 790},
+ {1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 492: 1221, 1221, 1221, 496: 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 507: 1221, 1221, 510: 1221, 1221, 1221, 515: 1221, 1221, 1221, 1221, 1221, 1221, 522: 1221, 1221, 525: 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 549: 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 583: 1221, 1221, 1221, 615: 1221},
+ {1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 492: 1223, 1223, 1223, 496: 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 507: 1223, 1223, 510: 1223, 1223, 1223, 515: 1223, 1223, 1223, 1223, 1223, 1223, 522: 1223, 1223, 525: 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 549: 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 583: 1223, 1223, 1223, 615: 1223},
+ {56: 3864, 524: 3865},
+ {1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 492: 1145, 1145, 1145, 496: 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 507: 1145, 1145, 510: 1145, 1145, 1145, 515: 1145, 1145, 1145, 1145, 1145, 1145, 522: 1145, 1145, 525: 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 549: 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 583: 1145, 1145, 1145, 615: 1145},
// 1255
- {1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 477: 1291, 1291, 1291, 1291, 1291, 483: 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 492: 1291, 1291, 1291, 496: 1291, 1291, 499: 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 509: 1291, 1291, 512: 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 534: 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 568: 1291, 1291, 597: 1291, 659: 1291, 1291},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3806, 2785, 2786, 2784, 715: 3814},
- {50: 3815},
- {1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 477: 1263, 1263, 1263, 1263, 1263, 483: 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 492: 1263, 1263, 1263, 496: 1263, 1263, 499: 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 509: 1263, 1263, 512: 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 534: 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 568: 1263, 1263, 597: 1263},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3817},
+ {56: 3866},
+ {1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 492: 1144, 1144, 1144, 496: 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 507: 1144, 1144, 510: 1144, 1144, 1144, 515: 1144, 1144, 1144, 1144, 1144, 1144, 522: 1144, 1144, 525: 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 549: 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 583: 1144, 1144, 1144, 615: 1144},
+ {56: 3868},
+ {1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 492: 1224, 1224, 1224, 496: 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 507: 1224, 1224, 510: 1224, 1224, 1224, 515: 1224, 1224, 1224, 1224, 1224, 1224, 522: 1224, 1224, 525: 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 549: 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 583: 1224, 1224, 1224, 615: 1224},
+ {56: 3871},
// 1260
- {9: 3818, 484: 3819, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {52: 3830, 105: 3826, 173: 3832, 180: 3827, 3825, 202: 3829, 508: 3837, 533: 3823, 650: 3836, 684: 3828, 3833, 3834, 689: 3835, 744: 3831, 906: 3824, 1002: 3822},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 533: 3787, 664: 3517, 2785, 2786, 2784, 742: 3786, 811: 3820},
- {50: 3821},
- {1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 477: 1264, 1264, 1264, 1264, 1264, 483: 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 492: 1264, 1264, 1264, 496: 1264, 1264, 499: 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 509: 1264, 1264, 512: 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 534: 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 568: 1264, 1264, 597: 1264},
+ {1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 492: 1225, 1225, 1225, 496: 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 507: 1225, 1225, 510: 1225, 1225, 1225, 515: 1225, 1225, 1225, 1225, 1225, 1225, 522: 1225, 1225, 525: 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 549: 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 583: 1225, 1225, 1225, 615: 1225},
+ {1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 492: 1239, 1239, 1239, 496: 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 507: 1239, 1239, 510: 1239, 1239, 1239, 515: 1239, 1239, 1239, 1239, 1239, 1239, 522: 1239, 1239, 525: 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 549: 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 583: 1239, 1239, 1239, 615: 1239, 669: 1239, 682: 1239, 684: 1239},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 1974, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3687, 800: 3851, 847: 3873},
+ {56: 3874},
+ {1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 492: 1226, 1226, 1226, 496: 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 507: 1226, 1226, 510: 1226, 1226, 1226, 515: 1226, 1226, 1226, 1226, 1226, 1226, 522: 1226, 1226, 525: 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 549: 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 583: 1226, 1226, 1226, 615: 1226},
// 1265
- {50: 3873},
- {50: 298, 476: 3852, 768: 3853, 794: 3872},
- {16: 298, 50: 298, 476: 3852, 508: 298, 533: 298, 650: 298, 768: 3853, 794: 3857},
- {50: 1085},
- {50: 1084},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 1974, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3687, 800: 3851, 847: 3876},
+ {56: 3877},
+ {1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 492: 1227, 1227, 1227, 496: 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 507: 1227, 1227, 510: 1227, 1227, 1227, 515: 1227, 1227, 1227, 1227, 1227, 1227, 522: 1227, 1227, 525: 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 549: 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 583: 1227, 1227, 1227, 615: 1227},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 3879, 2843, 2844, 2842, 732: 3880},
+ {56: 1315, 516: 1315, 671: 3882},
// 1270
- {50: 298, 476: 3852, 768: 3853, 794: 3856},
- {50: 291, 476: 3839, 768: 3840, 909: 3855, 914: 3841},
- {50: 298, 476: 3852, 768: 3853, 794: 3851},
- {50: 362, 687: 3848, 3849, 1099: 3850},
- {50: 362, 687: 3848, 3849, 1099: 3847},
+ {56: 3881},
+ {1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 492: 1284, 1284, 1284, 496: 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 507: 1284, 1284, 510: 1284, 1284, 1284, 515: 1284, 1284, 1284, 1284, 1284, 1284, 522: 1284, 1284, 525: 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 549: 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 583: 1284, 1284, 1284, 615: 1284},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 3883, 2843, 2844, 2842},
+ {56: 1314, 516: 1314, 671: 3884},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 3885, 2843, 2844, 2842},
// 1275
- {50: 1078},
- {50: 1077},
- {50: 291, 476: 3839, 768: 3840, 909: 3838, 914: 3841},
- {50: 1075},
- {16: 336, 50: 336, 476: 336, 508: 336, 533: 336, 650: 336},
+ {1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 492: 1313, 1313, 1313, 496: 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 507: 1313, 1313, 510: 1313, 1313, 1313, 515: 1313, 1313, 1313, 1313, 1313, 1313, 522: 1313, 1313, 525: 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 549: 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 583: 1313, 1313, 1313, 615: 1313, 675: 1313, 1313},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 3879, 2843, 2844, 2842, 732: 3887},
+ {56: 3888},
+ {1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 492: 1285, 1285, 1285, 496: 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 507: 1285, 1285, 510: 1285, 1285, 1285, 515: 1285, 1285, 1285, 1285, 1285, 1285, 522: 1285, 1285, 525: 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 549: 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 583: 1285, 1285, 1285, 615: 1285},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3890},
// 1280
- {16: 335, 50: 335, 476: 335, 508: 335, 533: 335, 650: 335},
- {50: 1076},
- {511: 2759, 737: 2758, 745: 3842},
- {290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 50: 290, 52: 290, 475: 290, 479: 290, 290, 290, 290, 487: 290, 491: 290, 495: 290, 584: 290, 593: 290, 290, 645: 290, 290, 290, 290, 744: 290, 747: 290},
- {289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 50: 289, 52: 289, 475: 289, 479: 289, 289, 289, 289, 487: 289, 491: 289, 495: 289, 584: 289, 593: 289, 289, 645: 289, 289, 289, 289, 744: 289, 747: 289},
+ {9: 3891, 500: 3892, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {58: 3903, 112: 3899, 184: 3905, 191: 3900, 3898, 214: 3902, 513: 3910, 548: 3896, 666: 3909, 701: 3901, 3906, 3907, 706: 3908, 762: 3904, 924: 3897, 1021: 3895},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 548: 3860, 685: 3590, 2843, 2844, 2842, 759: 3859, 829: 3893},
+ {56: 3894},
+ {1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 492: 1286, 1286, 1286, 496: 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 507: 1286, 1286, 510: 1286, 1286, 1286, 515: 1286, 1286, 1286, 1286, 1286, 1286, 522: 1286, 1286, 525: 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 549: 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 583: 1286, 1286, 1286, 615: 1286},
// 1285
- {9: 3844, 50: 3843},
- {299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 16: 299, 50: 299, 52: 299, 107: 299, 299, 111: 299, 475: 299, 479: 299, 299, 299, 299, 487: 299, 491: 299, 495: 299, 508: 299, 532: 299, 299, 299, 584: 299, 593: 299, 299, 645: 299, 299, 299, 299, 650: 299, 744: 299, 747: 299},
- {511: 2759, 737: 2758, 745: 3845},
- {50: 3846},
- {288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 50: 288, 52: 288, 475: 288, 479: 288, 288, 288, 288, 487: 288, 491: 288, 495: 288, 584: 288, 593: 288, 288, 645: 288, 288, 288, 288, 744: 288, 747: 288},
+ {56: 3946},
+ {56: 313, 491: 3925, 677: 313, 785: 3926, 811: 3945},
+ {16: 313, 56: 313, 491: 3925, 513: 313, 548: 313, 666: 313, 677: 313, 785: 3926, 811: 3930},
+ {56: 1105, 677: 1105},
+ {56: 1104, 677: 1104},
// 1290
- {50: 1079},
- {50: 361},
- {50: 360},
- {50: 1080},
- {50: 1081},
+ {56: 313, 491: 3925, 677: 313, 785: 3926, 811: 3929},
+ {56: 306, 491: 3912, 677: 306, 785: 3913, 927: 3928, 932: 3914},
+ {56: 313, 491: 3925, 677: 313, 785: 3926, 811: 3924},
+ {56: 377, 677: 377, 704: 3921, 3922, 1119: 3923},
+ {56: 377, 677: 377, 704: 3921, 3922, 1119: 3920},
// 1295
- {511: 2759, 737: 2758, 745: 3854},
- {297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 16: 297, 50: 297, 52: 297, 107: 297, 297, 111: 297, 475: 297, 479: 297, 297, 297, 297, 487: 297, 491: 297, 495: 297, 508: 297, 532: 297, 297, 297, 584: 297, 593: 297, 297, 645: 297, 297, 297, 297, 650: 297, 744: 297, 747: 297},
- {50: 3843},
- {50: 1082},
- {50: 1083},
+ {56: 1098, 677: 1098},
+ {56: 1097, 677: 1097},
+ {56: 306, 491: 3912, 677: 306, 785: 3913, 927: 3911, 932: 3914},
+ {56: 1095, 677: 1095},
+ {16: 351, 56: 351, 491: 351, 513: 351, 548: 351, 666: 351, 677: 351},
// 1300
- {16: 3862, 50: 285, 508: 3863, 533: 3859, 650: 3861, 779: 3860, 803: 3858},
- {50: 1086},
- {282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 16: 3862, 50: 282, 475: 282, 479: 282, 282, 282, 282, 487: 282, 491: 282, 495: 282, 508: 3863, 584: 282, 593: 282, 282, 645: 282, 282, 282, 282, 650: 3861, 779: 3870, 1270: 3869},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 533: 3787, 664: 3517, 2785, 2786, 2784, 742: 3786, 811: 3866},
- {509: 3865},
+ {16: 350, 56: 350, 491: 350, 513: 350, 548: 350, 666: 350, 677: 350},
+ {56: 1096, 677: 1096},
+ {524: 2817, 754: 2816, 761: 3915},
+ {305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 56: 305, 58: 305, 490: 305, 494: 305, 305, 305, 305, 305, 506: 305, 509: 305, 599: 305, 606: 305, 612: 305, 661: 305, 305, 305, 665: 305, 677: 305, 762: 305, 764: 305},
+ {304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 56: 304, 58: 304, 490: 304, 494: 304, 304, 304, 304, 304, 506: 304, 509: 304, 599: 304, 606: 304, 612: 304, 661: 304, 304, 304, 665: 304, 677: 304, 762: 304, 764: 304},
// 1305
- {279, 279, 279, 279, 279, 279, 279, 279, 279, 10: 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 51: 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 478: 279, 482: 279, 501: 279, 279, 521: 279, 533: 279},
- {509: 3864},
- {278, 278, 278, 278, 278, 278, 278, 278, 278, 10: 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 51: 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 478: 278, 482: 278, 501: 278, 278, 521: 278, 533: 278},
- {280, 280, 280, 280, 280, 280, 280, 280, 280, 10: 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 51: 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 478: 280, 482: 280, 501: 280, 280, 521: 280, 533: 280},
- {287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 50: 287, 475: 287, 479: 287, 287, 287, 287, 487: 287, 491: 287, 495: 287, 533: 3867, 584: 287, 593: 287, 287, 645: 287, 287, 287, 287, 1269: 3868},
+ {9: 3917, 56: 3916},
+ {314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 16: 314, 56: 314, 58: 314, 116: 314, 314, 133: 314, 490: 314, 494: 314, 314, 314, 314, 314, 506: 314, 509: 314, 513: 314, 547: 314, 314, 560: 314, 599: 314, 606: 314, 612: 314, 661: 314, 314, 314, 665: 314, 314, 677: 314, 762: 314, 764: 314},
+ {524: 2817, 754: 2816, 761: 3918},
+ {56: 3919},
+ {303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 56: 303, 58: 303, 490: 303, 494: 303, 303, 303, 303, 303, 506: 303, 509: 303, 599: 303, 606: 303, 612: 303, 661: 303, 303, 303, 665: 303, 677: 303, 762: 303, 764: 303},
// 1310
- {286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 50: 286, 475: 286, 479: 286, 286, 286, 286, 487: 286, 491: 286, 495: 286, 584: 286, 593: 286, 286, 645: 286, 286, 286, 286},
- {283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 50: 283, 475: 283, 479: 283, 283, 283, 283, 487: 283, 491: 283, 495: 283, 584: 283, 593: 283, 283, 645: 283, 283, 283, 283},
- {284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 50: 284, 475: 284, 479: 284, 284, 284, 284, 487: 284, 491: 284, 495: 284, 584: 284, 593: 284, 284, 645: 284, 284, 284, 284},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 533: 3787, 664: 3517, 2785, 2786, 2784, 742: 3786, 811: 3871},
- {281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 50: 281, 475: 281, 479: 281, 281, 281, 281, 487: 281, 491: 281, 495: 281, 584: 281, 593: 281, 281, 645: 281, 281, 281, 281},
+ {56: 1099, 677: 1099},
+ {56: 376, 677: 376},
+ {56: 375, 677: 375},
+ {56: 1100, 677: 1100},
+ {56: 1101, 677: 1101},
// 1315
- {50: 1087},
- {1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 477: 1265, 1265, 1265, 1265, 1265, 483: 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 492: 1265, 1265, 1265, 496: 1265, 1265, 499: 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 509: 1265, 1265, 512: 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 534: 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 568: 1265, 1265, 597: 1265},
- {510: 3371, 512: 3369, 3370, 3368, 3366, 546: 1093, 738: 3367, 3365},
- {546: 3878, 1168: 3877, 1353: 3876},
- {163: 1089, 546: 3878, 548: 3884, 1168: 3883, 1216: 3882},
+ {524: 2817, 754: 2816, 761: 3927},
+ {312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 16: 312, 56: 312, 58: 312, 116: 312, 312, 133: 312, 490: 312, 494: 312, 312, 312, 312, 312, 506: 312, 509: 312, 513: 312, 547: 312, 312, 560: 312, 599: 312, 606: 312, 612: 312, 661: 312, 312, 312, 665: 312, 312, 677: 312, 762: 312, 764: 312},
+ {56: 3916},
+ {56: 1102, 677: 1102},
+ {56: 1103, 677: 1103},
// 1320
- {163: 1092, 546: 1092, 548: 1092},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3879},
- {510: 3371, 512: 3369, 3370, 3368, 3366, 549: 3880, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3881},
- {163: 1090, 510: 3371, 512: 3369, 3370, 3368, 3366, 546: 1090, 548: 1090, 738: 3367, 3365},
+ {16: 3935, 56: 300, 513: 3936, 548: 3932, 666: 3934, 677: 300, 797: 3933, 820: 3931},
+ {56: 1106, 677: 1106},
+ {297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 16: 3935, 56: 297, 490: 297, 494: 297, 297, 297, 297, 297, 506: 297, 509: 297, 513: 3936, 599: 297, 606: 297, 612: 297, 661: 297, 297, 297, 665: 297, 3934, 677: 297, 797: 3943, 1293: 3942},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 548: 3860, 685: 3590, 2843, 2844, 2842, 759: 3859, 829: 3939},
+ {525: 3938},
// 1325
- {163: 3886},
- {163: 1091, 546: 1091, 548: 1091},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3885},
- {163: 1088, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 477: 1266, 1266, 1266, 1266, 1266, 483: 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 492: 1266, 1266, 1266, 496: 1266, 1266, 499: 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 509: 1266, 1266, 512: 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 534: 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 568: 1266, 1266, 597: 1266},
+ {294, 294, 294, 294, 294, 294, 294, 294, 294, 10: 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 57: 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 492: 294, 495: 294, 516: 294, 518: 294, 536: 294, 548: 294},
+ {525: 3937},
+ {293, 293, 293, 293, 293, 293, 293, 293, 293, 10: 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 57: 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 492: 293, 495: 293, 516: 293, 518: 293, 536: 293, 548: 293},
+ {295, 295, 295, 295, 295, 295, 295, 295, 295, 10: 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 57: 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 492: 295, 495: 295, 516: 295, 518: 295, 536: 295, 548: 295},
+ {302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 56: 302, 490: 302, 494: 302, 302, 302, 302, 302, 506: 302, 509: 302, 548: 3940, 599: 302, 606: 302, 612: 302, 661: 302, 302, 302, 665: 302, 677: 302, 1292: 3941},
// 1330
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3888},
- {481: 3889, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {52: 3830, 105: 3826, 173: 3832, 180: 3827, 3825, 202: 3829, 508: 3837, 533: 3823, 650: 3836, 684: 3828, 3833, 3834, 689: 3835, 744: 3831, 906: 3824, 1002: 3890},
- {50: 3891},
- {1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 477: 1267, 1267, 1267, 1267, 1267, 483: 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 492: 1267, 1267, 1267, 496: 1267, 1267, 499: 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 509: 1267, 1267, 512: 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 534: 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 568: 1267, 1267, 597: 1267},
+ {301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 56: 301, 490: 301, 494: 301, 301, 301, 301, 301, 506: 301, 509: 301, 599: 301, 606: 301, 612: 301, 661: 301, 301, 301, 665: 301, 677: 301},
+ {298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 56: 298, 490: 298, 494: 298, 298, 298, 298, 298, 506: 298, 509: 298, 599: 298, 606: 298, 612: 298, 661: 298, 298, 298, 665: 298, 677: 298},
+ {299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 56: 299, 490: 299, 494: 299, 299, 299, 299, 299, 506: 299, 509: 299, 599: 299, 606: 299, 612: 299, 661: 299, 299, 299, 665: 299, 677: 299},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 548: 3860, 685: 3590, 2843, 2844, 2842, 759: 3859, 829: 3944},
+ {296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 56: 296, 490: 296, 494: 296, 296, 296, 296, 296, 506: 296, 509: 296, 599: 296, 606: 296, 612: 296, 661: 296, 296, 296, 665: 296, 677: 296},
// 1335
- {1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 477: 1268, 1268, 1268, 1268, 1268, 483: 1268, 1268, 1268, 1268, 3376, 1268, 1268, 1268, 492: 1268, 1268, 1268, 496: 1268, 1268, 499: 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 509: 1268, 1268, 512: 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 534: 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 568: 1268, 1268, 597: 1268},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3894},
- {510: 3371, 512: 3369, 3370, 3368, 3366, 526: 3895, 738: 3367, 3365},
- {1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 477: 1269, 1269, 1269, 1269, 1269, 483: 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 492: 1269, 1269, 1269, 496: 1269, 1269, 499: 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 509: 1269, 1269, 512: 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 534: 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 568: 1269, 1269, 597: 1269},
- {1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 477: 1270, 1270, 1270, 1270, 1270, 483: 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 492: 1270, 1270, 1270, 496: 1270, 1270, 499: 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 509: 1270, 1270, 512: 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 534: 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 568: 1270, 1270, 597: 1270},
+ {56: 1107, 677: 1107},
+ {1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 492: 1287, 1287, 1287, 496: 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 507: 1287, 1287, 510: 1287, 1287, 1287, 515: 1287, 1287, 1287, 1287, 1287, 1287, 522: 1287, 1287, 525: 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 549: 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 583: 1287, 1287, 1287, 615: 1287},
+ {526: 3444, 3442, 3443, 3441, 3439, 561: 1113, 755: 3440, 3438},
+ {561: 3951, 1191: 3950, 1376: 3949},
+ {175: 1109, 561: 3951, 3957, 1191: 3956, 1239: 3955},
// 1340
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3614, 782: 3898},
- {9: 3899},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3900},
- {9: 1939, 50: 3901, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 477: 1271, 1271, 1271, 1271, 1271, 483: 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 492: 1271, 1271, 1271, 496: 1271, 1271, 499: 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 509: 1271, 1271, 512: 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 534: 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 568: 1271, 1271, 597: 1271},
+ {175: 1112, 561: 1112, 1112},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3952},
+ {526: 3444, 3442, 3443, 3441, 3439, 564: 3953, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3954},
+ {175: 1110, 526: 3444, 3442, 3443, 3441, 3439, 561: 1110, 1110, 755: 3440, 3438},
// 1345
- {9: 1940, 50: 4004, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {9: 4001},
- {9: 1274, 50: 1274, 479: 1274, 1274, 483: 828, 487: 1274, 1274, 1274, 1274, 493: 828, 828, 496: 2751, 502: 1274, 504: 2752, 2748, 510: 1274, 512: 1274, 1274, 1274, 1274, 521: 1274, 523: 1274, 547: 1274, 550: 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 568: 1274, 1274, 597: 1274, 772: 3917, 3918},
- {476: 3805, 578: 3922, 917: 3921, 981: 3920},
- {476: 2608, 498: 2606, 572: 2605, 649: 2601, 713: 3914, 752: 3913, 2602, 2603, 2604, 2613, 760: 2611, 3915, 3916},
+ {175: 3959},
+ {175: 1111, 561: 1111, 1111},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3958},
+ {175: 1108, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 492: 1288, 1288, 1288, 496: 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 507: 1288, 1288, 510: 1288, 1288, 1288, 515: 1288, 1288, 1288, 1288, 1288, 1288, 522: 1288, 1288, 525: 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 549: 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 583: 1288, 1288, 1288, 615: 1288},
// 1350
- {50: 3912, 483: 829, 493: 829, 829},
- {50: 3911},
- {50: 3910},
- {856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 483: 856, 856, 856, 856, 856, 856, 856, 856, 492: 856, 856, 856, 496: 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 509: 856, 856, 512: 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 534: 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 568: 856, 856, 572: 856, 597: 856, 649: 856, 657: 856, 743: 856},
- {857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 483: 857, 857, 857, 857, 857, 857, 857, 857, 492: 857, 857, 857, 496: 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 509: 857, 857, 512: 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 534: 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 568: 857, 857, 572: 857, 597: 857, 649: 857, 657: 857, 743: 857},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3961},
+ {497: 3962, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {58: 3903, 112: 3899, 184: 3905, 191: 3900, 3898, 214: 3902, 513: 3910, 548: 3896, 666: 3909, 701: 3901, 3906, 3907, 706: 3908, 762: 3904, 924: 3897, 1021: 3963},
+ {56: 1281, 677: 3965, 1207: 3964},
+ {56: 3966},
// 1355
- {858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 483: 858, 858, 858, 858, 858, 858, 858, 858, 492: 858, 858, 858, 496: 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 509: 858, 858, 512: 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 534: 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, 568: 858, 858, 572: 858, 597: 858, 649: 858, 657: 858, 743: 858},
- {1013, 1013, 50: 1013, 475: 1013, 477: 1013, 483: 829, 1013, 493: 829, 829},
- {1012, 1012, 50: 1012, 475: 1012, 477: 1012, 483: 828, 1012, 493: 828, 828, 496: 2751, 504: 2752, 2748, 772: 3917, 3918},
- {841, 841, 50: 841, 475: 841, 477: 841, 484: 841},
- {840, 840, 50: 840, 475: 840, 477: 840, 484: 840},
+ {56: 1280},
+ {1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 492: 1289, 1289, 1289, 496: 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 507: 1289, 1289, 510: 1289, 1289, 1289, 515: 1289, 1289, 1289, 1289, 1289, 1289, 522: 1289, 1289, 525: 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 549: 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 583: 1289, 1289, 1289, 615: 1289},
+ {1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 492: 1290, 1290, 1290, 496: 1290, 1290, 3449, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 507: 1290, 1290, 510: 1290, 1290, 1290, 515: 1290, 1290, 1290, 1290, 1290, 1290, 522: 1290, 1290, 525: 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 549: 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 583: 1290, 1290, 1290, 615: 1290},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3969},
+ {526: 3444, 3442, 3443, 3441, 3439, 541: 3970, 755: 3440, 3438},
// 1360
- {834, 834, 50: 834, 475: 834, 477: 834, 484: 834, 496: 2751, 504: 2752, 773: 3919},
- {833, 833, 50: 833, 475: 833, 477: 833, 484: 833},
- {832, 832, 50: 832, 475: 832, 477: 832, 484: 832},
- {1311, 1311, 9: 3934, 50: 1311, 475: 1311, 477: 1311, 483: 1311, 1311, 493: 1311, 1311, 496: 1311, 1311, 499: 1311, 1311, 504: 1311, 2748, 772: 2749, 817: 3933},
- {10, 10, 9: 10, 50: 10, 475: 10, 477: 10, 483: 10, 10, 493: 10, 10, 496: 10, 10, 499: 10, 10, 504: 10, 10},
+ {1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 492: 1291, 1291, 1291, 496: 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 507: 1291, 1291, 510: 1291, 1291, 1291, 515: 1291, 1291, 1291, 1291, 1291, 1291, 522: 1291, 1291, 525: 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 549: 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 583: 1291, 1291, 1291, 615: 1291},
+ {1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 492: 1292, 1292, 1292, 496: 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 507: 1292, 1292, 510: 1292, 1292, 1292, 515: 1292, 1292, 1292, 1292, 1292, 1292, 522: 1292, 1292, 525: 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 549: 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 583: 1292, 1292, 1292, 615: 1292},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3687, 800: 3973},
+ {9: 3974},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3975},
// 1365
- {476: 3923, 844: 3924},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 1351, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3929, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3925, 801: 3928, 1343: 3927, 3926},
- {8, 8, 9: 8, 50: 8, 475: 8, 477: 8, 483: 8, 8, 493: 8, 8, 496: 8, 8, 499: 8, 8, 504: 8, 8},
- {1347, 1347, 9: 1347, 50: 1347, 475: 1347, 484: 1347, 496: 1347, 501: 1347, 505: 1347, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {50: 3932},
+ {9: 1977, 56: 3976, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 492: 1293, 1293, 1293, 496: 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 507: 1293, 1293, 510: 1293, 1293, 1293, 515: 1293, 1293, 1293, 1293, 1293, 1293, 522: 1293, 1293, 525: 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 549: 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 583: 1293, 1293, 1293, 615: 1293},
+ {9: 1978, 56: 4079, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {9: 4076},
+ {9: 1296, 56: 1296, 494: 1296, 496: 1296, 498: 1296, 848, 503: 1296, 1296, 1296, 508: 848, 510: 848, 2809, 516: 1296, 520: 2810, 522: 2806, 526: 1296, 1296, 1296, 1296, 1296, 536: 1296, 540: 1296, 563: 1296, 565: 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 583: 1296, 1296, 1296, 615: 1296, 789: 3992, 3993},
// 1370
- {9: 3930, 50: 1350},
- {9: 1348, 50: 1348},
- {1346, 1346, 9: 1346, 50: 1346, 475: 1346, 3813, 484: 1346, 496: 1346, 501: 1346, 505: 1346},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3929, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3925, 801: 3931},
- {9: 1349, 50: 1349},
+ {491: 3878, 594: 3997, 935: 3996, 999: 3995},
+ {491: 2661, 514: 2659, 587: 2658, 664: 2654, 730: 3989, 769: 3988, 2655, 2656, 2657, 2666, 777: 2664, 3990, 3991},
+ {56: 3987, 499: 849, 508: 849, 510: 849},
+ {56: 3986},
+ {56: 3985},
// 1375
- {1352, 1352, 9: 1352, 50: 1352, 89: 1352, 475: 1352, 477: 1352, 483: 1352, 1352, 493: 1352, 1352, 496: 1352, 1352, 499: 1352, 1352, 504: 1352, 1352, 510: 1352},
- {883, 883, 50: 883, 475: 883, 477: 883, 483: 883, 883, 493: 883, 883, 496: 2751, 883, 499: 883, 883, 504: 2752, 773: 2753, 834: 3936},
- {578: 3922, 917: 3935},
- {9, 9, 9: 9, 50: 9, 475: 9, 477: 9, 483: 9, 9, 493: 9, 9, 496: 9, 9, 499: 9, 9, 504: 9, 9},
- {854, 854, 50: 854, 475: 854, 477: 854, 483: 854, 854, 493: 854, 854, 497: 3938, 499: 854, 3939, 892: 3937},
+ {876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 496: 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 507: 876, 876, 510: 876, 876, 876, 514: 876, 876, 876, 876, 876, 876, 876, 522: 876, 876, 525: 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 549: 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 583: 876, 876, 876, 587: 876, 615: 876, 664: 876, 673: 876, 760: 876},
+ {877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 496: 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 507: 877, 877, 510: 877, 877, 877, 514: 877, 877, 877, 877, 877, 877, 877, 522: 877, 877, 525: 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 549: 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, 583: 877, 877, 877, 587: 877, 615: 877, 664: 877, 673: 877, 760: 877},
+ {878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 496: 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 507: 878, 878, 510: 878, 878, 878, 514: 878, 878, 878, 878, 878, 878, 878, 522: 878, 878, 525: 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 549: 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, 583: 878, 878, 878, 587: 878, 615: 878, 664: 878, 673: 878, 760: 878},
+ {1033, 1033, 56: 1033, 490: 1033, 493: 1033, 499: 849, 1033, 508: 849, 510: 849},
+ {1032, 1032, 56: 1032, 490: 1032, 493: 1032, 499: 848, 1032, 508: 848, 510: 848, 2809, 520: 2810, 522: 2806, 789: 3992, 3993},
// 1380
- {860, 860, 50: 860, 475: 860, 477: 860, 483: 860, 860, 493: 860, 860, 499: 3964, 893: 3963},
- {289: 3944, 657: 3943},
- {547: 3940},
- {289: 3941},
- {215: 3942},
+ {861, 861, 56: 861, 490: 861, 493: 861, 500: 861},
+ {860, 860, 56: 860, 490: 860, 493: 860, 500: 860},
+ {854, 854, 56: 854, 490: 854, 493: 854, 500: 854, 511: 2809, 520: 2810, 790: 3994},
+ {853, 853, 56: 853, 490: 853, 493: 853, 500: 853},
+ {852, 852, 56: 852, 490: 852, 493: 852, 500: 852},
// 1385
- {846, 846, 50: 846, 475: 846, 477: 846, 483: 846, 846, 493: 846, 846, 499: 846},
- {845, 845, 50: 845, 143: 845, 155: 845, 178: 845, 475: 845, 477: 845, 483: 845, 845, 493: 845, 845, 499: 845, 1092: 3946, 3957},
- {845, 845, 50: 845, 143: 845, 155: 845, 475: 845, 477: 845, 483: 845, 845, 493: 845, 845, 499: 845, 1092: 3946, 3945},
- {852, 852, 50: 852, 143: 3955, 155: 3954, 475: 852, 477: 852, 483: 852, 852, 493: 852, 852, 499: 852},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 3948, 786: 3949},
+ {1333, 1333, 9: 4009, 56: 1333, 490: 1333, 493: 1333, 499: 1333, 1333, 508: 1333, 510: 1333, 1333, 1333, 515: 1333, 517: 1333, 520: 1333, 522: 2806, 789: 2807, 835: 4008},
+ {11, 11, 9: 11, 56: 11, 490: 11, 493: 11, 499: 11, 11, 508: 11, 510: 11, 11, 11, 515: 11, 517: 11, 520: 11, 522: 11},
+ {491: 3998, 861: 3999},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 1373, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 4004, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4000, 818: 4003, 1366: 4002, 4001},
+ {9, 9, 9: 9, 56: 9, 490: 9, 493: 9, 499: 9, 9, 508: 9, 510: 9, 9, 9, 515: 9, 517: 9, 520: 9, 522: 9},
// 1390
- {1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 534: 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 568: 1069, 1069, 572: 1069, 584: 1069, 587: 1069, 593: 1069, 1069, 597: 1069, 645: 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 3952, 1069, 1069, 1069, 661: 1069, 663: 1069, 668: 1069, 672: 1069, 1069, 1069, 1069, 1069, 1069, 680: 1069, 683: 1069, 690: 1069, 1069, 693: 1069, 708: 1069},
- {1067, 1067, 9: 1067, 50: 1067, 143: 1067, 155: 1067, 178: 1067, 475: 1067, 477: 1067, 483: 1067, 1067, 493: 1067, 1067, 499: 1067, 503: 1067, 653: 1067, 673: 1067, 675: 1067},
- {844, 844, 9: 3950, 50: 844, 143: 844, 155: 844, 178: 844, 475: 844, 477: 844, 483: 844, 844, 493: 844, 844, 499: 844},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 3951},
- {1066, 1066, 9: 1066, 50: 1066, 143: 1066, 155: 1066, 168: 1066, 178: 1066, 475: 1066, 477: 1066, 483: 1066, 1066, 493: 1066, 1066, 499: 1066, 503: 1066, 653: 1066, 1066, 673: 1066, 675: 1066, 680: 1066},
+ {1369, 1369, 9: 1369, 56: 1369, 490: 1369, 500: 1369, 511: 1369, 518: 1369, 522: 1369, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {56: 4007},
+ {9: 4005, 56: 1372},
+ {9: 1370, 56: 1370},
+ {1368, 1368, 9: 1368, 56: 1368, 490: 1368, 3886, 500: 1368, 511: 1368, 518: 1368, 522: 1368},
// 1395
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3953, 2785, 2786, 2784},
- {1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 534: 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 568: 1068, 1068, 572: 1068, 584: 1068, 587: 1068, 593: 1068, 1068, 597: 1068, 645: 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 656: 1068, 1068, 1068, 661: 1068, 663: 1068, 668: 1068, 672: 1068, 1068, 1068, 1068, 1068, 1068, 680: 1068, 683: 1068, 690: 1068, 1068, 693: 1068, 708: 1068},
- {849, 849, 50: 849, 475: 849, 477: 849, 483: 849, 849, 493: 849, 849, 499: 849},
- {271: 3956},
- {847, 847, 50: 847, 475: 847, 477: 847, 483: 847, 847, 493: 847, 847, 499: 847},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 4004, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4000, 818: 4006},
+ {9: 1371, 56: 1371},
+ {1374, 1374, 9: 1374, 56: 1374, 95: 1374, 490: 1374, 493: 1374, 499: 1374, 1374, 508: 1374, 510: 1374, 1374, 1374, 515: 1374, 517: 1374, 520: 1374, 522: 1374, 526: 1374},
+ {903, 903, 56: 903, 490: 903, 493: 903, 499: 903, 903, 508: 903, 510: 903, 2809, 903, 515: 903, 517: 903, 520: 2810, 790: 2811, 851: 4011},
+ {594: 3997, 935: 4010},
// 1400
- {853, 853, 50: 853, 143: 3960, 155: 3958, 178: 3959, 475: 853, 477: 853, 483: 853, 853, 493: 853, 853, 499: 853},
- {851, 851, 50: 851, 475: 851, 477: 851, 483: 851, 851, 493: 851, 851, 499: 851},
- {511: 2759, 737: 3962},
- {271: 3961},
- {848, 848, 50: 848, 475: 848, 477: 848, 483: 848, 848, 493: 848, 848, 499: 848},
+ {10, 10, 9: 10, 56: 10, 490: 10, 493: 10, 499: 10, 10, 508: 10, 510: 10, 10, 10, 515: 10, 517: 10, 520: 10, 522: 10},
+ {874, 874, 56: 874, 490: 874, 493: 874, 499: 874, 874, 508: 874, 510: 874, 512: 4013, 515: 874, 517: 4014, 910: 4012},
+ {880, 880, 56: 880, 490: 880, 493: 880, 499: 880, 880, 508: 880, 510: 880, 515: 4039, 911: 4038},
+ {301: 4019, 673: 4018},
+ {563: 4015},
// 1405
- {850, 850, 50: 850, 475: 850, 477: 850, 483: 850, 850, 493: 850, 850, 499: 850},
- {1014, 1014, 50: 1014, 475: 1014, 477: 1014, 483: 1014, 1014, 493: 1014, 1014},
- {1282: 3965},
- {478: 3966},
- {108, 108, 50: 108, 103: 3970, 112: 3969, 475: 108, 477: 108, 483: 108, 108, 493: 108, 108, 661: 108, 839: 3968, 1053: 3967},
+ {301: 4016},
+ {229: 4017},
+ {866, 866, 56: 866, 490: 866, 493: 866, 499: 866, 866, 508: 866, 510: 866, 515: 866},
+ {865, 865, 56: 865, 154: 865, 166: 865, 189: 865, 490: 865, 493: 865, 499: 865, 865, 508: 865, 510: 865, 515: 865, 1112: 4021, 4032},
+ {865, 865, 56: 865, 154: 865, 166: 865, 490: 865, 493: 865, 499: 865, 865, 508: 865, 510: 865, 515: 865, 1112: 4021, 4020},
// 1410
- {95, 95, 50: 95, 475: 95, 477: 95, 483: 95, 95, 493: 95, 95, 661: 3991, 949: 3990},
- {787: 3973, 793: 3975, 798: 3976, 3974, 1052: 3972, 1222: 3971},
- {106, 106, 17: 106, 51: 106, 53: 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 475: 106, 106, 503: 106, 547: 106, 656: 106, 787: 106, 793: 106, 798: 106, 106},
- {105, 105, 17: 105, 51: 105, 53: 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 475: 105, 105, 503: 105, 547: 105, 656: 105, 787: 105, 793: 105, 798: 105, 105},
- {107, 107, 50: 107, 475: 107, 107, 107, 483: 107, 107, 492: 107, 107, 107, 509: 107, 661: 107, 787: 3973, 793: 3975, 798: 3976, 3974, 1052: 3989},
+ {872, 872, 56: 872, 154: 4030, 166: 4029, 490: 872, 493: 872, 499: 872, 872, 508: 872, 510: 872, 515: 872},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4023, 803: 4024},
+ {1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 549: 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 583: 1089, 1089, 1089, 587: 1089, 599: 1089, 603: 1089, 606: 1089, 612: 1089, 615: 1089, 661: 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 4027, 1089, 1089, 1089, 678: 1089, 680: 1089, 1089, 689: 1089, 1089, 1089, 1089, 1089, 1089, 697: 1089, 700: 1089, 707: 1089, 1089, 710: 1089, 725: 1089},
+ {1087, 1087, 9: 1087, 56: 1087, 154: 1087, 166: 1087, 189: 1087, 490: 1087, 493: 1087, 499: 1087, 1087, 508: 1087, 510: 1087, 515: 1087, 519: 1087, 669: 1087, 690: 1087, 692: 1087},
+ {864, 864, 9: 4025, 56: 864, 154: 864, 166: 864, 189: 864, 490: 864, 493: 864, 499: 864, 864, 508: 864, 510: 864, 515: 864},
// 1415
- {103, 103, 50: 103, 475: 103, 103, 103, 483: 103, 103, 492: 103, 103, 103, 509: 103, 661: 103, 787: 103, 793: 103, 798: 103, 103},
- {663: 3987},
- {793: 3984},
- {663: 3982},
- {663: 3977},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4026},
+ {1086, 1086, 9: 1086, 56: 1086, 154: 1086, 166: 1086, 180: 1086, 189: 1086, 490: 1086, 493: 1086, 499: 1086, 1086, 508: 1086, 510: 1086, 515: 1086, 519: 1086, 669: 1086, 1086, 690: 1086, 692: 1086, 697: 1086},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4028, 2843, 2844, 2842},
+ {1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 549: 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 583: 1088, 1088, 1088, 587: 1088, 599: 1088, 603: 1088, 606: 1088, 612: 1088, 615: 1088, 661: 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 672: 1088, 1088, 1088, 678: 1088, 680: 1088, 1088, 689: 1088, 1088, 1088, 1088, 1088, 1088, 697: 1088, 700: 1088, 707: 1088, 1088, 710: 1088, 725: 1088},
+ {869, 869, 56: 869, 490: 869, 493: 869, 499: 869, 869, 508: 869, 510: 869, 515: 869},
// 1420
- {478: 3979, 579: 3980, 583: 3981, 857: 3978},
- {99, 99, 50: 99, 475: 99, 99, 99, 483: 99, 99, 492: 99, 99, 99, 509: 99, 661: 99, 787: 99, 793: 99, 798: 99, 99},
- {98, 98, 50: 98, 475: 98, 98, 98, 483: 98, 98, 492: 98, 98, 98, 509: 98, 661: 98, 787: 98, 793: 98, 798: 98, 98},
- {97, 97, 50: 97, 475: 97, 97, 97, 483: 97, 97, 492: 97, 97, 97, 509: 97, 661: 97, 787: 97, 793: 97, 798: 97, 97},
- {96, 96, 50: 96, 475: 96, 96, 96, 483: 96, 96, 492: 96, 96, 96, 509: 96, 661: 96, 787: 96, 793: 96, 798: 96, 96},
+ {283: 4031},
+ {867, 867, 56: 867, 490: 867, 493: 867, 499: 867, 867, 508: 867, 510: 867, 515: 867},
+ {873, 873, 56: 873, 154: 4035, 166: 4033, 189: 4034, 490: 873, 493: 873, 499: 873, 873, 508: 873, 510: 873, 515: 873},
+ {871, 871, 56: 871, 490: 871, 493: 871, 499: 871, 871, 508: 871, 510: 871, 515: 871},
+ {524: 2817, 754: 4037},
// 1425
- {478: 3979, 579: 3980, 583: 3981, 857: 3983},
- {100, 100, 50: 100, 475: 100, 100, 100, 483: 100, 100, 492: 100, 100, 100, 509: 100, 661: 100, 787: 100, 793: 100, 798: 100, 100},
- {663: 3985},
- {478: 3979, 579: 3980, 583: 3981, 857: 3986},
- {101, 101, 50: 101, 475: 101, 101, 101, 483: 101, 101, 492: 101, 101, 101, 509: 101, 661: 101, 787: 101, 793: 101, 798: 101, 101},
+ {283: 4036},
+ {868, 868, 56: 868, 490: 868, 493: 868, 499: 868, 868, 508: 868, 510: 868, 515: 868},
+ {870, 870, 56: 870, 490: 870, 493: 870, 499: 870, 870, 508: 870, 510: 870, 515: 870},
+ {1034, 1034, 56: 1034, 490: 1034, 493: 1034, 499: 1034, 1034, 508: 1034, 510: 1034},
+ {1305: 4040},
// 1430
- {478: 3979, 579: 3980, 583: 3981, 857: 3988},
- {102, 102, 50: 102, 475: 102, 102, 102, 483: 102, 102, 492: 102, 102, 102, 509: 102, 661: 102, 787: 102, 793: 102, 798: 102, 102},
- {104, 104, 50: 104, 475: 104, 104, 104, 483: 104, 104, 492: 104, 104, 104, 509: 104, 661: 104, 787: 104, 793: 104, 798: 104, 104},
- {859, 859, 50: 859, 475: 859, 477: 859, 483: 859, 859, 493: 859, 859},
- {93, 93, 50: 93, 475: 93, 93, 93, 483: 93, 93, 492: 93, 93, 93, 509: 93, 787: 93, 1316: 3992, 3993},
+ {492: 4041},
+ {113, 113, 56: 113, 109: 4045, 136: 4044, 490: 113, 493: 113, 499: 113, 113, 508: 113, 510: 113, 678: 113, 856: 4043, 1073: 4042},
+ {100, 100, 56: 100, 490: 100, 493: 100, 499: 100, 100, 508: 100, 510: 100, 678: 4066, 968: 4065},
+ {805: 4048, 810: 4050, 816: 4051, 4049, 1072: 4047, 1245: 4046},
+ {111, 111, 17: 111, 57: 111, 59: 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 490: 111, 111, 519: 111, 563: 111, 672: 111, 805: 111, 810: 111, 816: 111, 111},
// 1435
- {91, 91, 50: 91, 475: 91, 91, 91, 483: 91, 91, 492: 91, 91, 91, 509: 91, 787: 3997, 1253: 3996},
- {663: 3994},
- {478: 3979, 579: 3980, 583: 3981, 857: 3995},
- {92, 92, 50: 92, 475: 92, 92, 92, 483: 92, 92, 492: 92, 92, 92, 509: 92, 787: 92},
- {94, 94, 50: 94, 475: 94, 94, 94, 483: 94, 94, 492: 94, 94, 94, 509: 94},
+ {110, 110, 17: 110, 57: 110, 59: 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 490: 110, 110, 519: 110, 563: 110, 672: 110, 805: 110, 810: 110, 816: 110, 110},
+ {112, 112, 56: 112, 490: 112, 112, 493: 112, 499: 112, 112, 507: 112, 112, 510: 112, 525: 112, 678: 112, 805: 4048, 810: 4050, 816: 4051, 4049, 1072: 4064},
+ {108, 108, 56: 108, 490: 108, 108, 493: 108, 499: 108, 108, 507: 108, 108, 510: 108, 525: 108, 678: 108, 805: 108, 810: 108, 816: 108, 108},
+ {680: 4062},
+ {810: 4059},
// 1440
- {663: 3998},
- {478: 3979, 579: 3980, 583: 3981, 857: 3999},
- {90, 90, 50: 90, 475: 90, 90, 90, 483: 90, 90, 492: 90, 90, 90, 509: 90},
- {855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 483: 855, 855, 855, 855, 855, 855, 855, 855, 492: 855, 855, 855, 496: 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 509: 855, 855, 512: 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 534: 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 568: 855, 855, 572: 855, 597: 855, 649: 855, 657: 855, 743: 855},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4002},
+ {680: 4057},
+ {680: 4052},
+ {492: 4054, 595: 4055, 597: 4056, 874: 4053},
+ {104, 104, 56: 104, 490: 104, 104, 493: 104, 499: 104, 104, 507: 104, 104, 510: 104, 525: 104, 678: 104, 805: 104, 810: 104, 816: 104, 104},
+ {103, 103, 56: 103, 490: 103, 103, 493: 103, 499: 103, 103, 507: 103, 103, 510: 103, 525: 103, 678: 103, 805: 103, 810: 103, 816: 103, 103},
// 1445
- {9: 1939, 50: 4003, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 477: 1272, 1272, 1272, 1272, 1272, 483: 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 492: 1272, 1272, 1272, 496: 1272, 1272, 499: 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 509: 1272, 1272, 512: 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 534: 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 568: 1272, 1272, 597: 1272},
- {1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 477: 1273, 1273, 1273, 1273, 1273, 483: 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 492: 1273, 1273, 1273, 496: 1273, 1273, 499: 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 509: 1273, 1273, 512: 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 534: 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 568: 1273, 1273, 597: 1273},
- {1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 477: 1275, 1275, 1275, 1275, 1275, 483: 1275, 1275, 1275, 1275, 3376, 1275, 1275, 1275, 492: 1275, 1275, 1275, 496: 1275, 1275, 499: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 509: 1275, 1275, 512: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 534: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 568: 1275, 1275, 597: 1275},
- {1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 477: 1277, 1277, 1277, 1277, 1277, 483: 1277, 1277, 1277, 1277, 3376, 1277, 1277, 1277, 492: 1277, 1277, 1277, 496: 1277, 1277, 499: 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 509: 1277, 1277, 512: 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 534: 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 568: 1277, 1277, 597: 1277},
+ {102, 102, 56: 102, 490: 102, 102, 493: 102, 499: 102, 102, 507: 102, 102, 510: 102, 525: 102, 678: 102, 805: 102, 810: 102, 816: 102, 102},
+ {101, 101, 56: 101, 490: 101, 101, 493: 101, 499: 101, 101, 507: 101, 101, 510: 101, 525: 101, 678: 101, 805: 101, 810: 101, 816: 101, 101},
+ {492: 4054, 595: 4055, 597: 4056, 874: 4058},
+ {105, 105, 56: 105, 490: 105, 105, 493: 105, 499: 105, 105, 507: 105, 105, 510: 105, 525: 105, 678: 105, 805: 105, 810: 105, 816: 105, 105},
+ {680: 4060},
// 1450
- {1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 477: 1278, 1278, 1278, 1278, 1278, 483: 1278, 1278, 1278, 1278, 3376, 1278, 1278, 1278, 492: 1278, 1278, 1278, 496: 1278, 1278, 499: 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 509: 1278, 1278, 512: 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 534: 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 568: 1278, 1278, 597: 1278},
- {1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 477: 1279, 1279, 1279, 1279, 1279, 483: 1279, 1279, 1279, 1279, 3376, 1279, 1279, 1279, 492: 1279, 1279, 1279, 496: 1279, 1279, 499: 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 509: 1279, 1279, 512: 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 534: 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 568: 1279, 1279, 597: 1279},
- {1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 477: 1280, 1280, 1280, 1280, 1280, 483: 1280, 1280, 1280, 1280, 3376, 1280, 1280, 1280, 492: 1280, 1280, 1280, 496: 1280, 1280, 499: 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 509: 1280, 1280, 512: 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 534: 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 568: 1280, 1280, 597: 1280},
- {478: 4013},
- {478: 4012},
+ {492: 4054, 595: 4055, 597: 4056, 874: 4061},
+ {106, 106, 56: 106, 490: 106, 106, 493: 106, 499: 106, 106, 507: 106, 106, 510: 106, 525: 106, 678: 106, 805: 106, 810: 106, 816: 106, 106},
+ {492: 4054, 595: 4055, 597: 4056, 874: 4063},
+ {107, 107, 56: 107, 490: 107, 107, 493: 107, 499: 107, 107, 507: 107, 107, 510: 107, 525: 107, 678: 107, 805: 107, 810: 107, 816: 107, 107},
+ {109, 109, 56: 109, 490: 109, 109, 493: 109, 499: 109, 109, 507: 109, 109, 510: 109, 525: 109, 678: 109, 805: 109, 810: 109, 816: 109, 109},
// 1455
- {1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 477: 1260, 1260, 1260, 1260, 1260, 483: 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 492: 1260, 1260, 1260, 496: 1260, 1260, 499: 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 509: 1260, 1260, 512: 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 534: 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 568: 1260, 1260, 597: 1260},
- {1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 477: 1261, 1261, 1261, 1261, 1261, 483: 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 492: 1261, 1261, 1261, 496: 1261, 1261, 499: 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 509: 1261, 1261, 512: 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 534: 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 568: 1261, 1261, 597: 1261},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4015, 2785, 2786, 2784},
- {1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 4016, 1292, 1292, 1292, 1292, 1292, 483: 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 492: 1292, 1292, 1292, 496: 1292, 1292, 499: 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 509: 1292, 1292, 512: 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 534: 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 568: 1292, 1292, 597: 1292, 655: 3811, 659: 1292, 1292},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 1936, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3614, 782: 3778, 830: 4017},
+ {879, 879, 56: 879, 490: 879, 493: 879, 499: 879, 879, 508: 879, 510: 879},
+ {98, 98, 56: 98, 490: 98, 98, 493: 98, 499: 98, 98, 507: 98, 98, 510: 98, 525: 98, 805: 98, 1339: 4067, 4068},
+ {96, 96, 56: 96, 490: 96, 96, 493: 96, 499: 96, 96, 507: 96, 96, 510: 96, 525: 96, 805: 4072, 1276: 4071},
+ {680: 4069},
+ {492: 4054, 595: 4055, 597: 4056, 874: 4070},
// 1460
- {50: 4018},
- {1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 477: 1127, 1127, 1127, 1127, 1127, 483: 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 492: 1127, 1127, 1127, 496: 1127, 1127, 499: 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 509: 1127, 1127, 512: 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 534: 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 568: 1127, 1127, 597: 1127},
- {105: 3490, 3486, 109: 3483, 3498, 113: 3485, 3482, 3484, 3488, 3489, 3494, 3493, 3492, 3496, 3497, 3491, 3495, 3487, 510: 3371, 512: 3369, 3370, 3368, 3366, 535: 3480, 3477, 3479, 3478, 3474, 3476, 3475, 3472, 3473, 3471, 3481, 738: 3367, 3365, 800: 3470, 820: 4020},
- {488: 3733},
- {1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 477: 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 499: 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 509: 1331, 1331, 512: 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 534: 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 568: 1331, 1331, 584: 1331, 593: 1331, 1331, 597: 1331, 645: 1331, 1331, 1331, 1331},
+ {97, 97, 56: 97, 490: 97, 97, 493: 97, 499: 97, 97, 507: 97, 97, 510: 97, 525: 97, 805: 97},
+ {99, 99, 56: 99, 490: 99, 99, 493: 99, 499: 99, 99, 507: 99, 99, 510: 99, 525: 99},
+ {680: 4073},
+ {492: 4054, 595: 4055, 597: 4056, 874: 4074},
+ {95, 95, 56: 95, 490: 95, 95, 493: 95, 499: 95, 95, 507: 95, 95, 510: 95, 525: 95},
// 1465
- {1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 477: 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 499: 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 509: 1328, 1328, 512: 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 534: 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 568: 1328, 1328, 584: 1328, 593: 1328, 1328, 597: 1328, 645: 1328, 1328, 1328, 1328},
- {1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 477: 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 499: 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 509: 1327, 1327, 512: 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 534: 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 568: 1327, 1327, 584: 1327, 593: 1327, 1327, 597: 1327, 645: 1327, 1327, 1327, 1327},
- {1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 477: 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 499: 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 509: 1325, 1325, 512: 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 534: 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 568: 1325, 1325, 584: 1325, 593: 1325, 1325, 597: 1325, 645: 1325, 1325, 1325, 1325},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 654: 4027, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4026},
- {50: 4031, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 496: 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 507: 875, 875, 510: 875, 875, 875, 514: 875, 875, 875, 875, 875, 875, 875, 522: 875, 875, 525: 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 549: 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 583: 875, 875, 875, 587: 875, 615: 875, 664: 875, 673: 875, 760: 875},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4077},
+ {9: 1977, 56: 4078, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 492: 1294, 1294, 1294, 496: 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 507: 1294, 1294, 510: 1294, 1294, 1294, 515: 1294, 1294, 1294, 1294, 1294, 1294, 522: 1294, 1294, 525: 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 549: 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 583: 1294, 1294, 1294, 615: 1294},
+ {1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 492: 1295, 1295, 1295, 496: 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 507: 1295, 1295, 510: 1295, 1295, 1295, 515: 1295, 1295, 1295, 1295, 1295, 1295, 522: 1295, 1295, 525: 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 549: 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 583: 1295, 1295, 1295, 615: 1295},
// 1470
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4028},
- {50: 4029, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 4030},
- {1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 477: 1135, 1135, 1135, 1135, 1135, 483: 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 492: 1135, 1135, 1135, 496: 1135, 1135, 499: 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 509: 1135, 1135, 512: 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 534: 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 568: 1135, 1135, 597: 1135},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 4032},
+ {1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 492: 1297, 1297, 1297, 496: 1297, 1297, 3449, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 507: 1297, 1297, 510: 1297, 1297, 1297, 515: 1297, 1297, 1297, 1297, 1297, 1297, 522: 1297, 1297, 525: 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 549: 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 583: 1297, 1297, 1297, 615: 1297},
+ {1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 492: 1299, 1299, 1299, 496: 1299, 1299, 3449, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 507: 1299, 1299, 510: 1299, 1299, 1299, 515: 1299, 1299, 1299, 1299, 1299, 1299, 522: 1299, 1299, 525: 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 549: 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 583: 1299, 1299, 1299, 615: 1299},
+ {1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 492: 1300, 1300, 1300, 496: 1300, 1300, 3449, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 507: 1300, 1300, 510: 1300, 1300, 1300, 515: 1300, 1300, 1300, 1300, 1300, 1300, 522: 1300, 1300, 525: 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 549: 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 583: 1300, 1300, 1300, 615: 1300},
+ {1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 492: 1301, 1301, 1301, 496: 1301, 1301, 3449, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 507: 1301, 1301, 510: 1301, 1301, 1301, 515: 1301, 1301, 1301, 1301, 1301, 1301, 522: 1301, 1301, 525: 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 549: 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 583: 1301, 1301, 1301, 615: 1301},
+ {1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 492: 1302, 1302, 1302, 496: 1302, 1302, 3449, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 507: 1302, 1302, 510: 1302, 1302, 1302, 515: 1302, 1302, 1302, 1302, 1302, 1302, 522: 1302, 1302, 525: 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 549: 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 583: 1302, 1302, 1302, 615: 1302},
// 1475
- {1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 477: 1136, 1136, 1136, 1136, 1136, 483: 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 492: 1136, 1136, 1136, 496: 1136, 1136, 499: 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 509: 1136, 1136, 512: 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 534: 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 568: 1136, 1136, 597: 1136},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 654: 4035, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4034},
- {9: 4045, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4036},
- {9: 4037, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {492: 4088},
+ {492: 4087},
+ {1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 492: 1282, 1282, 1282, 496: 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 507: 1282, 1282, 510: 1282, 1282, 1282, 515: 1282, 1282, 1282, 1282, 1282, 1282, 522: 1282, 1282, 525: 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 549: 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 583: 1282, 1282, 1282, 615: 1282},
+ {1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 492: 1283, 1283, 1283, 496: 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 507: 1283, 1283, 510: 1283, 1283, 1283, 515: 1283, 1283, 1283, 1283, 1283, 1283, 522: 1283, 1283, 525: 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 549: 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 583: 1283, 1283, 1283, 615: 1283},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4090, 2843, 2844, 2842},
// 1480
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 654: 4039, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4038},
- {50: 4043, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4040},
- {50: 4041, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 4042},
+ {1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 4091, 1314, 1314, 1314, 496: 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 507: 1314, 1314, 510: 1314, 1314, 1314, 515: 1314, 1314, 1314, 1314, 1314, 1314, 522: 1314, 1314, 525: 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 549: 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 583: 1314, 1314, 1314, 615: 1314, 671: 3884, 675: 1314, 1314},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 1974, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3687, 800: 3851, 847: 4092},
+ {56: 4093},
+ {1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 492: 1147, 1147, 1147, 496: 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 507: 1147, 1147, 510: 1147, 1147, 1147, 515: 1147, 1147, 1147, 1147, 1147, 1147, 522: 1147, 1147, 525: 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 549: 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 583: 1147, 1147, 1147, 615: 1147},
+ {111: 3559, 3563, 114: 3556, 3571, 118: 3558, 121: 3555, 3557, 3561, 3562, 126: 3567, 3566, 3565, 3569, 3570, 3564, 3568, 134: 3560, 526: 3444, 3442, 3443, 3441, 3439, 549: 3553, 3550, 3552, 3551, 3547, 3549, 3548, 3545, 3546, 3544, 3554, 755: 3440, 3438, 812: 3543, 827: 4095},
// 1485
- {1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 477: 1131, 1131, 1131, 1131, 1131, 483: 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 492: 1131, 1131, 1131, 496: 1131, 1131, 499: 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 509: 1131, 1131, 512: 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 534: 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 568: 1131, 1131, 597: 1131},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 4044},
- {1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 477: 1133, 1133, 1133, 1133, 1133, 483: 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 492: 1133, 1133, 1133, 496: 1133, 1133, 499: 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 509: 1133, 1133, 512: 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 534: 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 568: 1133, 1133, 597: 1133},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 654: 4047, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4046},
- {50: 4051, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {503: 3806},
+ {1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 492: 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 515: 1353, 1353, 1353, 1353, 1353, 1353, 522: 1353, 1353, 525: 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 549: 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 583: 1353, 1353, 1353, 599: 1353, 606: 1353, 612: 1353, 615: 1353, 661: 1353, 1353, 1353, 665: 1353},
+ {1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 492: 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 515: 1350, 1350, 1350, 1350, 1350, 1350, 522: 1350, 1350, 525: 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 549: 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 583: 1350, 1350, 1350, 599: 1350, 606: 1350, 612: 1350, 615: 1350, 661: 1350, 1350, 1350, 665: 1350},
+ {1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 492: 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 515: 1349, 1349, 1349, 1349, 1349, 1349, 522: 1349, 1349, 525: 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 549: 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 583: 1349, 1349, 1349, 599: 1349, 606: 1349, 612: 1349, 615: 1349, 661: 1349, 1349, 1349, 665: 1349},
+ {1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 492: 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 515: 1347, 1347, 1347, 1347, 1347, 1347, 522: 1347, 1347, 525: 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 549: 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 583: 1347, 1347, 1347, 599: 1347, 606: 1347, 612: 1347, 615: 1347, 661: 1347, 1347, 1347, 665: 1347},
// 1490
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4048},
- {50: 4049, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 4050},
- {1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 477: 1132, 1132, 1132, 1132, 1132, 483: 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 492: 1132, 1132, 1132, 496: 1132, 1132, 499: 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 509: 1132, 1132, 512: 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 534: 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 568: 1132, 1132, 597: 1132},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 4052},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 670: 4102, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4101},
+ {56: 4106, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4103},
+ {56: 4104, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 4105},
// 1495
- {1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 477: 1134, 1134, 1134, 1134, 1134, 483: 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 492: 1134, 1134, 1134, 496: 1134, 1134, 499: 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 509: 1134, 1134, 512: 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 534: 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 568: 1134, 1134, 597: 1134},
- {105: 3490, 3486, 109: 3483, 3498, 113: 3485, 3482, 3484, 3488, 3489, 3494, 3493, 3492, 3496, 3497, 3491, 3495, 3487, 800: 4054},
- {9: 4055},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4056},
- {9: 4057, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 492: 1155, 1155, 1155, 496: 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 507: 1155, 1155, 510: 1155, 1155, 1155, 515: 1155, 1155, 1155, 1155, 1155, 1155, 522: 1155, 1155, 525: 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 549: 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 583: 1155, 1155, 1155, 615: 1155},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 4107},
+ {1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 492: 1156, 1156, 1156, 496: 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 507: 1156, 1156, 510: 1156, 1156, 1156, 515: 1156, 1156, 1156, 1156, 1156, 1156, 522: 1156, 1156, 525: 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 549: 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 583: 1156, 1156, 1156, 615: 1156},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 670: 4110, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4109},
+ {9: 4120, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
// 1500
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4058},
- {50: 4059, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 477: 1181, 1181, 1181, 1181, 1181, 483: 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 492: 1181, 1181, 1181, 496: 1181, 1181, 499: 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 509: 1181, 1181, 512: 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 534: 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 568: 1181, 1181, 597: 1181},
- {105: 3490, 3486, 109: 3483, 3498, 113: 3485, 3482, 3484, 3488, 3489, 3494, 3493, 3492, 3496, 3497, 3491, 3495, 3487, 800: 4061},
- {9: 4062},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4111},
+ {9: 4112, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 670: 4114, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4113},
+ {56: 4118, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4115},
// 1505
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4063},
- {9: 4064, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4065},
- {50: 4066, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 477: 1182, 1182, 1182, 1182, 1182, 483: 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 492: 1182, 1182, 1182, 496: 1182, 1182, 499: 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 509: 1182, 1182, 512: 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 534: 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 568: 1182, 1182, 597: 1182},
+ {56: 4116, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 4117},
+ {1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 492: 1151, 1151, 1151, 496: 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 507: 1151, 1151, 510: 1151, 1151, 1151, 515: 1151, 1151, 1151, 1151, 1151, 1151, 522: 1151, 1151, 525: 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 549: 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 583: 1151, 1151, 1151, 615: 1151},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 4119},
+ {1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 492: 1153, 1153, 1153, 496: 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 507: 1153, 1153, 510: 1153, 1153, 1153, 515: 1153, 1153, 1153, 1153, 1153, 1153, 522: 1153, 1153, 525: 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 549: 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 583: 1153, 1153, 1153, 615: 1153},
// 1510
- {180: 4070, 4069, 202: 4071, 226: 4072, 1232: 4068},
- {9: 4073},
- {9: 1171},
- {9: 1170},
- {9: 1169},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 670: 4122, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4121},
+ {56: 4126, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4123},
+ {56: 4124, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 4125},
// 1515
- {9: 1168},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4074},
- {50: 4075, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 477: 1188, 1188, 1188, 1188, 1188, 483: 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 492: 1188, 1188, 1188, 496: 1188, 1188, 499: 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 509: 1188, 1188, 512: 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 534: 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 568: 1188, 1188, 597: 1188},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 4077},
+ {1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 492: 1152, 1152, 1152, 496: 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 507: 1152, 1152, 510: 1152, 1152, 1152, 515: 1152, 1152, 1152, 1152, 1152, 1152, 522: 1152, 1152, 525: 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 549: 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 583: 1152, 1152, 1152, 615: 1152},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 4127},
+ {1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 492: 1154, 1154, 1154, 496: 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 507: 1154, 1154, 510: 1154, 1154, 1154, 515: 1154, 1154, 1154, 1154, 1154, 1154, 522: 1154, 1154, 525: 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 549: 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 583: 1154, 1154, 1154, 615: 1154},
+ {111: 3559, 3563, 114: 3556, 3571, 118: 3558, 121: 3555, 3557, 3561, 3562, 126: 3567, 3566, 3565, 3569, 3570, 3564, 3568, 134: 3560, 812: 4129},
+ {9: 4130},
// 1520
- {9: 4078},
- {488: 4082, 4083, 511: 2759, 737: 4079, 767: 4081, 819: 4080},
- {1991, 1991, 6: 1991, 1991, 1991, 1991, 15: 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 73: 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 106: 1991, 132: 1991, 1991, 1991, 1991, 482: 1991, 1991, 487: 1991, 496: 1991, 501: 1991, 504: 1991, 506: 1991, 508: 1991, 650: 1991, 652: 1991, 658: 1991},
- {50: 4086},
- {31, 31, 6: 31, 31, 31, 15: 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 50: 31, 73: 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 482: 31, 31, 487: 31, 506: 31, 508: 31, 650: 31, 652: 31, 658: 31},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4131},
+ {9: 4132, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4133},
+ {56: 4134, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 492: 1201, 1201, 1201, 496: 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 507: 1201, 1201, 510: 1201, 1201, 1201, 515: 1201, 1201, 1201, 1201, 1201, 1201, 522: 1201, 1201, 525: 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 549: 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 583: 1201, 1201, 1201, 615: 1201},
// 1525
- {511: 2759, 737: 4079, 767: 4085},
- {511: 2759, 737: 4084},
- {29, 29, 6: 29, 29, 29, 15: 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 50: 29, 73: 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 482: 29, 29, 487: 29, 506: 29, 508: 29, 650: 29, 652: 29, 658: 29},
- {30, 30, 6: 30, 30, 30, 15: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 50: 30, 73: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 482: 30, 30, 487: 30, 506: 30, 508: 30, 650: 30, 652: 30, 658: 30},
- {1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 477: 1159, 1159, 1159, 1159, 1159, 483: 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 492: 1159, 1159, 1159, 496: 1159, 1159, 499: 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 509: 1159, 1159, 512: 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 534: 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 568: 1159, 1159, 597: 1159},
+ {111: 3559, 3563, 114: 3556, 3571, 118: 3558, 121: 3555, 3557, 3561, 3562, 126: 3567, 3566, 3565, 3569, 3570, 3564, 3568, 134: 3560, 812: 4136},
+ {9: 4137},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4138},
+ {9: 4139, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4140},
// 1530
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 4088},
- {50: 4089},
- {1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 477: 1160, 1160, 1160, 1160, 1160, 483: 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 492: 1160, 1160, 1160, 496: 1160, 1160, 499: 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 509: 1160, 1160, 512: 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 534: 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 568: 1160, 1160, 597: 1160},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4091},
- {50: 4092, 481: 4093, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
+ {56: 4141, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 492: 1202, 1202, 1202, 496: 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 507: 1202, 1202, 510: 1202, 1202, 1202, 515: 1202, 1202, 1202, 1202, 1202, 1202, 522: 1202, 1202, 525: 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 549: 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 583: 1202, 1202, 1202, 615: 1202},
+ {191: 4145, 4144, 214: 4146, 238: 4147, 1255: 4143},
+ {9: 4148},
+ {9: 1191},
// 1535
- {1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 477: 1176, 1176, 1176, 1176, 1176, 483: 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 492: 1176, 1176, 1176, 496: 1176, 1176, 499: 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 509: 1176, 1176, 512: 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 534: 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 568: 1176, 1176, 597: 1176},
- {508: 3837, 533: 4095, 650: 3836, 906: 4094},
- {476: 3852, 768: 4098},
- {476: 3852, 768: 4096},
- {50: 4097},
+ {9: 1190},
+ {9: 1189},
+ {9: 1188},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4149},
+ {56: 4150, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
// 1540
- {1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 477: 1174, 1174, 1174, 1174, 1174, 483: 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 492: 1174, 1174, 1174, 496: 1174, 1174, 499: 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 509: 1174, 1174, 512: 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 534: 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 568: 1174, 1174, 597: 1174},
- {50: 4099},
- {1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 477: 1175, 1175, 1175, 1175, 1175, 483: 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 492: 1175, 1175, 1175, 496: 1175, 1175, 499: 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 509: 1175, 1175, 512: 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 534: 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 568: 1175, 1175, 597: 1175},
- {1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 477: 1198, 1198, 1198, 1198, 1198, 483: 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 492: 1198, 1198, 1198, 496: 1198, 1198, 499: 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 509: 1198, 1198, 512: 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 534: 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 568: 1198, 1198, 597: 1198},
- {1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 477: 1199, 1199, 1199, 1199, 1199, 483: 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 492: 1199, 1199, 1199, 496: 1199, 1199, 499: 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 509: 1199, 1199, 512: 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 534: 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 568: 1199, 1199, 597: 1199},
+ {1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 492: 1208, 1208, 1208, 496: 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 507: 1208, 1208, 510: 1208, 1208, 1208, 515: 1208, 1208, 1208, 1208, 1208, 1208, 522: 1208, 1208, 525: 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 549: 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 583: 1208, 1208, 1208, 615: 1208},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4152},
+ {9: 4153},
+ {503: 4157, 4158, 524: 2817, 754: 4154, 783: 4156, 837: 4155},
+ {2029, 2029, 6: 2029, 2029, 2029, 2029, 15: 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 79: 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 111: 2029, 143: 2029, 2029, 2029, 2029, 495: 2029, 498: 2029, 2029, 511: 2029, 513: 2029, 518: 2029, 520: 2029, 523: 2029, 666: 2029, 2029, 674: 2029},
// 1545
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 1936, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3614, 782: 3778, 830: 4103},
- {50: 4104},
- {1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 477: 1195, 1195, 1195, 1195, 1195, 483: 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 492: 1195, 1195, 1195, 496: 1195, 1195, 499: 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 509: 1195, 1195, 512: 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 534: 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 568: 1195, 1195, 597: 1195},
- {1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 477: 1200, 1200, 1200, 1200, 1200, 483: 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 492: 1200, 1200, 1200, 496: 1200, 1200, 499: 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 509: 1200, 1200, 512: 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 534: 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 568: 1200, 1200, 597: 1200},
- {2: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 10: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 51: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 476: 1255, 478: 1255, 1255, 1255, 482: 1255, 485: 1255, 1255, 488: 1255, 1255, 1255, 495: 1255, 498: 1255, 507: 1255, 1255, 511: 1255, 533: 1255, 567: 1255, 570: 1255, 1255, 573: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 585: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 595: 1255, 1255, 598: 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 651: 1255, 654: 3572, 749: 3570, 3571, 789: 3573, 792: 3574, 821: 4107, 3575},
+ {56: 4161},
+ {32, 32, 6: 32, 32, 32, 15: 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 56: 32, 79: 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 495: 32, 498: 32, 32, 513: 32, 523: 32, 666: 32, 32, 674: 32},
+ {524: 2817, 754: 4154, 783: 4160},
+ {524: 2817, 754: 4159},
+ {30, 30, 6: 30, 30, 30, 15: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 56: 30, 79: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 495: 30, 498: 30, 30, 513: 30, 523: 30, 666: 30, 30, 674: 30},
// 1550
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4108},
- {50: 4109, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 477: 973, 973, 973, 973, 973, 483: 973, 973, 973, 973, 973, 973, 973, 973, 492: 973, 973, 973, 496: 973, 973, 499: 973, 973, 973, 973, 973, 973, 973, 973, 509: 973, 973, 512: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 534: 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, 568: 973, 973, 597: 973, 746: 3388, 751: 3580, 769: 4110},
- {1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 477: 1157, 1157, 1157, 1157, 1157, 483: 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 492: 1157, 1157, 1157, 496: 1157, 1157, 499: 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 509: 1157, 1157, 512: 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 534: 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 568: 1157, 1157, 597: 1157},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 1936, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3614, 782: 3778, 830: 4112},
+ {31, 31, 6: 31, 31, 31, 15: 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 56: 31, 79: 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 495: 31, 498: 31, 31, 513: 31, 523: 31, 666: 31, 31, 674: 31},
+ {1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 492: 1179, 1179, 1179, 496: 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 507: 1179, 1179, 510: 1179, 1179, 1179, 515: 1179, 1179, 1179, 1179, 1179, 1179, 522: 1179, 1179, 525: 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 549: 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 583: 1179, 1179, 1179, 615: 1179},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4163},
+ {56: 4164},
+ {1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 492: 1180, 1180, 1180, 496: 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 507: 1180, 1180, 510: 1180, 1180, 1180, 515: 1180, 1180, 1180, 1180, 1180, 1180, 522: 1180, 1180, 525: 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 549: 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 583: 1180, 1180, 1180, 615: 1180},
// 1555
- {50: 4113},
- {1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 477: 1128, 1128, 1128, 1128, 1128, 483: 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 492: 1128, 1128, 1128, 496: 1128, 1128, 499: 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 509: 1128, 1128, 512: 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 534: 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 568: 1128, 1128, 597: 1128},
- {152: 2331, 177: 2331, 196: 2331, 495: 2331, 521: 2331, 547: 2331, 566: 2331, 568: 2331, 2331, 574: 2331, 2331, 586: 2331},
- {152: 2330, 177: 2330, 196: 2330, 495: 2330, 521: 2330, 547: 2330, 566: 2330, 568: 2330, 2330, 574: 2330, 2330, 586: 2330},
- {2: 1918, 1918, 1918, 1918, 1918, 1918, 1918, 10: 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 51: 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 476: 1918, 478: 1918, 1918, 482: 1918, 485: 1918, 1918, 488: 1918, 1918, 1918, 495: 1918, 498: 1918, 507: 1918, 1918, 511: 1918, 533: 1918, 567: 1918, 570: 1918, 1918, 573: 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 585: 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 595: 1918, 1918, 598: 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918, 1918},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4166},
+ {56: 4167, 497: 4168, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 492: 1196, 1196, 1196, 496: 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 507: 1196, 1196, 510: 1196, 1196, 1196, 515: 1196, 1196, 1196, 1196, 1196, 1196, 522: 1196, 1196, 525: 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 549: 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 583: 1196, 1196, 1196, 615: 1196},
+ {513: 3910, 548: 4170, 666: 3909, 924: 4169},
+ {491: 3925, 785: 4173},
// 1560
- {521: 4141, 547: 4140, 566: 4139, 568: 4125, 4126, 1120: 4142},
- {476: 1914},
- {2: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 10: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 51: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 476: 1912, 478: 1912, 1912, 482: 1912, 485: 1912, 1912, 488: 1912, 1912, 1912, 495: 1912, 498: 1912, 507: 1912, 1912, 511: 1912, 533: 1912, 567: 1912, 570: 1912, 1912, 573: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 585: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 595: 1912, 1912, 598: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912},
- {2: 1910, 1910, 1910, 1910, 1910, 1910, 1910, 10: 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 51: 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 476: 1910, 478: 1910, 1910, 482: 1910, 485: 1910, 1910, 488: 1910, 1910, 1910, 495: 1910, 498: 1910, 507: 1910, 1910, 511: 1910, 533: 1910, 567: 1910, 570: 1910, 1910, 573: 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 585: 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 595: 1910, 1910, 598: 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910},
- {476: 4135, 713: 4136},
+ {491: 3925, 785: 4171},
+ {56: 4172},
+ {1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 492: 1194, 1194, 1194, 496: 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 507: 1194, 1194, 510: 1194, 1194, 1194, 515: 1194, 1194, 1194, 1194, 1194, 1194, 522: 1194, 1194, 525: 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 549: 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 583: 1194, 1194, 1194, 615: 1194},
+ {56: 4174},
+ {1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 492: 1195, 1195, 1195, 496: 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 507: 1195, 1195, 510: 1195, 1195, 1195, 515: 1195, 1195, 1195, 1195, 1195, 1195, 522: 1195, 1195, 525: 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 549: 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 583: 1195, 1195, 1195, 615: 1195},
// 1565
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 4132},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3374, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 4128, 3279, 3360, 3278, 3275},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3374, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 4127, 3279, 3360, 3278, 3275},
- {2: 1899, 1899, 1899, 1899, 1899, 1899, 1899, 10: 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 51: 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 476: 1899, 478: 1899, 1899, 482: 1899, 485: 1899, 1899, 488: 1899, 1899, 1899, 495: 1899, 498: 1899, 507: 1899, 1899, 511: 1899, 533: 1899, 567: 1899, 570: 1899, 1899, 573: 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 585: 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 595: 1899, 1899, 598: 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899},
- {2: 1898, 1898, 1898, 1898, 1898, 1898, 1898, 10: 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 51: 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 476: 1898, 478: 1898, 1898, 482: 1898, 485: 1898, 1898, 488: 1898, 1898, 1898, 495: 1898, 498: 1898, 507: 1898, 1898, 511: 1898, 533: 1898, 567: 1898, 570: 1898, 1898, 573: 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 585: 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 595: 1898, 1898, 598: 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898},
+ {1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 492: 1218, 1218, 1218, 496: 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 507: 1218, 1218, 510: 1218, 1218, 1218, 515: 1218, 1218, 1218, 1218, 1218, 1218, 522: 1218, 1218, 525: 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 549: 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 583: 1218, 1218, 1218, 615: 1218},
+ {1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 492: 1219, 1219, 1219, 496: 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 507: 1219, 1219, 510: 1219, 1219, 1219, 515: 1219, 1219, 1219, 1219, 1219, 1219, 522: 1219, 1219, 525: 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 549: 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 583: 1219, 1219, 1219, 615: 1219},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 1974, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3687, 800: 3851, 847: 4178},
+ {56: 4179},
+ {1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 492: 1215, 1215, 1215, 496: 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 507: 1215, 1215, 510: 1215, 1215, 1215, 515: 1215, 1215, 1215, 1215, 1215, 1215, 522: 1215, 1215, 525: 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 549: 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 583: 1215, 1215, 1215, 615: 1215},
// 1570
- {1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 477: 1901, 1901, 481: 1901, 483: 1901, 1901, 1901, 1901, 3376, 492: 1901, 1901, 1901, 496: 1901, 1901, 499: 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 509: 1901, 1901, 512: 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 522: 1901, 524: 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 534: 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 548: 1901, 1901, 558: 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 597: 3377},
- {1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 4130, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 477: 1897, 1897, 481: 1897, 483: 1897, 1897, 1897, 1897, 3376, 492: 1897, 1897, 1897, 496: 1897, 1897, 499: 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 509: 1897, 1897, 512: 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 522: 1897, 524: 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 534: 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 548: 1897, 1897, 558: 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 597: 3377, 1250: 4129},
- {1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 477: 1902, 1902, 481: 1902, 483: 1902, 1902, 1902, 1902, 492: 1902, 1902, 1902, 496: 1902, 1902, 499: 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 509: 1902, 1902, 512: 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 522: 1902, 524: 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 534: 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 548: 1902, 1902, 558: 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902},
- {478: 4131},
- {1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 477: 1896, 1896, 481: 1896, 483: 1896, 1896, 1896, 1896, 492: 1896, 1896, 1896, 496: 1896, 1896, 499: 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 509: 1896, 1896, 512: 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 522: 1896, 524: 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 534: 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 548: 1896, 1896, 558: 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896},
+ {1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 492: 1220, 1220, 1220, 496: 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 507: 1220, 1220, 510: 1220, 1220, 1220, 515: 1220, 1220, 1220, 1220, 1220, 1220, 522: 1220, 1220, 525: 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 549: 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 583: 1220, 1220, 1220, 615: 1220},
+ {2: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 10: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 57: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 491: 1275, 1275, 494: 1275, 1275, 1275, 501: 1275, 1275, 1275, 1275, 1275, 509: 1275, 513: 1275, 1275, 521: 1275, 524: 1275, 548: 1275, 582: 1275, 586: 1275, 588: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 600: 1275, 1275, 1275, 1275, 1275, 1275, 607: 1275, 1275, 1275, 1275, 1275, 613: 1275, 1275, 616: 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 668: 1275, 670: 3645, 766: 3643, 3644, 807: 3646, 809: 3647, 838: 4182, 3648},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4183},
+ {56: 4184, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 492: 993, 993, 993, 496: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 507: 993, 993, 510: 993, 993, 993, 515: 993, 993, 993, 993, 993, 993, 522: 993, 993, 525: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 549: 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 583: 993, 993, 993, 615: 993, 763: 3461, 768: 3653, 786: 4185},
// 1575
- {488: 3712, 3713, 3718, 510: 4133, 523: 3714, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 4134},
- {1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 477: 1903, 1903, 481: 1903, 483: 1903, 1903, 1903, 1903, 492: 1903, 1903, 1903, 496: 1903, 1903, 499: 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 509: 1903, 1903, 512: 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 522: 1903, 524: 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 534: 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 548: 1903, 1903, 558: 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 2607, 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3905, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 2605, 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 649: 2601, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3904, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3614, 752: 3907, 2602, 2603, 2604, 2613, 760: 2611, 2610, 2609, 3906, 3909, 3908, 782: 4137},
- {1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 477: 1904, 1904, 481: 1904, 483: 1904, 1904, 1904, 1904, 492: 1904, 1904, 1904, 496: 1904, 1904, 499: 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 509: 1904, 1904, 512: 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 522: 1904, 524: 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 534: 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 548: 1904, 1904, 558: 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904},
+ {1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 492: 1177, 1177, 1177, 496: 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 507: 1177, 1177, 510: 1177, 1177, 1177, 515: 1177, 1177, 1177, 1177, 1177, 1177, 522: 1177, 1177, 525: 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 549: 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 583: 1177, 1177, 1177, 615: 1177},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 1974, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3687, 800: 3851, 847: 4187},
+ {56: 4188},
+ {1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 492: 1148, 1148, 1148, 496: 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 507: 1148, 1148, 510: 1148, 1148, 1148, 515: 1148, 1148, 1148, 1148, 1148, 1148, 522: 1148, 1148, 525: 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 549: 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 583: 1148, 1148, 1148, 615: 1148},
+ {163: 2375, 188: 2375, 208: 2375, 509: 2375, 536: 2375, 563: 2375, 581: 2375, 583: 2375, 2375, 590: 2375, 2375, 602: 2375},
// 1580
- {9: 3616, 50: 4138},
- {1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 477: 1905, 1905, 481: 1905, 483: 1905, 1905, 1905, 1905, 492: 1905, 1905, 1905, 496: 1905, 1905, 499: 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 509: 1905, 1905, 512: 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 522: 1905, 524: 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 534: 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 548: 1905, 1905, 558: 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905},
- {2: 1917, 1917, 1917, 1917, 1917, 1917, 1917, 10: 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 51: 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 476: 1917, 478: 1917, 1917, 482: 1917, 485: 1917, 1917, 488: 1917, 1917, 1917, 495: 1917, 498: 1917, 507: 1917, 1917, 511: 1917, 533: 1917, 567: 1917, 570: 1917, 1917, 573: 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 585: 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 595: 1917, 1917, 598: 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917},
- {476: 1913},
- {2: 1911, 1911, 1911, 1911, 1911, 1911, 1911, 10: 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 51: 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 476: 1911, 478: 1911, 1911, 482: 1911, 485: 1911, 1911, 488: 1911, 1911, 1911, 495: 1911, 498: 1911, 507: 1911, 1911, 511: 1911, 533: 1911, 567: 1911, 570: 1911, 1911, 573: 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 585: 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 595: 1911, 1911, 598: 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911},
+ {163: 2374, 188: 2374, 208: 2374, 509: 2374, 536: 2374, 563: 2374, 581: 2374, 583: 2374, 2374, 590: 2374, 2374, 602: 2374},
+ {2: 1956, 1956, 1956, 1956, 1956, 1956, 1956, 10: 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 57: 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 491: 1956, 1956, 494: 1956, 1956, 501: 1956, 1956, 1956, 1956, 1956, 509: 1956, 513: 1956, 1956, 521: 1956, 524: 1956, 548: 1956, 582: 1956, 586: 1956, 588: 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 600: 1956, 1956, 1956, 1956, 1956, 1956, 607: 1956, 1956, 1956, 1956, 1956, 613: 1956, 1956, 616: 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956},
+ {536: 4220, 563: 4219, 581: 4218, 583: 4201, 4202, 1140: 4221},
+ {491: 1952},
+ {2: 1950, 1950, 1950, 1950, 1950, 1950, 1950, 10: 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 57: 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 491: 1950, 1950, 494: 1950, 1950, 501: 1950, 1950, 1950, 1950, 1950, 509: 1950, 513: 1950, 1950, 521: 1950, 524: 1950, 548: 1950, 582: 1950, 586: 1950, 588: 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 600: 1950, 1950, 1950, 1950, 1950, 1950, 607: 1950, 1950, 1950, 1950, 1950, 613: 1950, 1950, 616: 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950},
// 1585
- {2: 1909, 1909, 1909, 1909, 1909, 1909, 1909, 10: 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 51: 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 476: 1909, 478: 1909, 1909, 482: 1909, 485: 1909, 1909, 488: 1909, 1909, 1909, 495: 1909, 498: 1909, 507: 1909, 1909, 511: 1909, 533: 1909, 567: 1909, 570: 1909, 1909, 573: 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 585: 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 595: 1909, 1909, 598: 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909},
- {177: 4166, 495: 4167, 574: 4165, 4164},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 4158, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 4159, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 4157, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 654: 4160, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 4155, 1183: 4156},
- {2: 1926, 1926, 1926, 1926, 1926, 1926, 1926, 10: 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 51: 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 476: 1926, 478: 1926, 1926, 482: 1926, 485: 1926, 1926, 488: 1926, 1926, 1926, 495: 1926, 498: 1926, 507: 1926, 1926, 511: 1926, 533: 1926, 567: 1926, 570: 1926, 1926, 573: 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 585: 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 595: 1926, 1926, 598: 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 654: 1926},
- {2: 1925, 1925, 1925, 1925, 1925, 1925, 1925, 10: 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 51: 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 476: 1925, 478: 1925, 1925, 482: 1925, 485: 1925, 1925, 488: 1925, 1925, 1925, 495: 1925, 498: 1925, 507: 1925, 1925, 511: 1925, 533: 1925, 567: 1925, 570: 1925, 1925, 573: 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 585: 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 595: 1925, 1925, 598: 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 654: 1925},
+ {2: 1948, 1948, 1948, 1948, 1948, 1948, 1948, 10: 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 57: 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 491: 1948, 1948, 494: 1948, 1948, 501: 1948, 1948, 1948, 1948, 1948, 509: 1948, 513: 1948, 1948, 521: 1948, 524: 1948, 548: 1948, 582: 1948, 586: 1948, 588: 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 600: 1948, 1948, 1948, 1948, 1948, 1948, 607: 1948, 1948, 1948, 1948, 1948, 613: 1948, 1948, 616: 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948},
+ {491: 4214, 730: 4215},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 4211},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3447, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 4207, 3352, 3433, 3351, 3348},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3447, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 4206, 3352, 3433, 3351, 3348},
// 1590
- {2: 1924, 1924, 1924, 1924, 1924, 1924, 1924, 10: 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 51: 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 476: 1924, 478: 1924, 1924, 482: 1924, 485: 1924, 1924, 488: 1924, 1924, 1924, 495: 1924, 498: 1924, 507: 1924, 1924, 511: 1924, 533: 1924, 567: 1924, 570: 1924, 1924, 573: 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 585: 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 595: 1924, 1924, 598: 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 654: 1924},
- {2: 1923, 1923, 1923, 1923, 1923, 1923, 1923, 10: 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 51: 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 476: 1923, 478: 1923, 1923, 482: 1923, 485: 1923, 1923, 488: 1923, 1923, 1923, 495: 1923, 498: 1923, 507: 1923, 1923, 511: 1923, 533: 1923, 567: 1923, 570: 1923, 1923, 573: 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 585: 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 595: 1923, 1923, 598: 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 654: 1923},
- {2: 1922, 1922, 1922, 1922, 1922, 1922, 1922, 10: 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 51: 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 476: 1922, 478: 1922, 1922, 482: 1922, 485: 1922, 1922, 488: 1922, 1922, 1922, 495: 1922, 498: 1922, 507: 1922, 1922, 511: 1922, 533: 1922, 567: 1922, 570: 1922, 1922, 573: 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 585: 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 595: 1922, 1922, 598: 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 654: 1922},
- {2: 1921, 1921, 1921, 1921, 1921, 1921, 1921, 10: 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 51: 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 476: 1921, 478: 1921, 1921, 482: 1921, 485: 1921, 1921, 488: 1921, 1921, 1921, 495: 1921, 498: 1921, 507: 1921, 1921, 511: 1921, 533: 1921, 567: 1921, 570: 1921, 1921, 573: 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 585: 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 595: 1921, 1921, 598: 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 654: 1921},
- {2: 1920, 1920, 1920, 1920, 1920, 1920, 1920, 10: 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 51: 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 476: 1920, 478: 1920, 1920, 482: 1920, 485: 1920, 1920, 488: 1920, 1920, 1920, 495: 1920, 498: 1920, 507: 1920, 1920, 511: 1920, 533: 1920, 567: 1920, 570: 1920, 1920, 573: 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 585: 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 595: 1920, 1920, 598: 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 654: 1920},
+ {491: 4203},
+ {2: 1936, 1936, 1936, 1936, 1936, 1936, 1936, 10: 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 57: 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 491: 1936, 1936, 494: 1936, 1936, 501: 1936, 1936, 1936, 1936, 1936, 509: 1936, 513: 1936, 1936, 521: 1936, 524: 1936, 548: 1936, 582: 1936, 586: 1936, 588: 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 600: 1936, 1936, 1936, 1936, 1936, 1936, 607: 1936, 1936, 1936, 1936, 1936, 613: 1936, 1936, 616: 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936},
+ {2: 1935, 1935, 1935, 1935, 1935, 1935, 1935, 10: 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 57: 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 491: 1935, 1935, 494: 1935, 1935, 501: 1935, 1935, 1935, 1935, 1935, 509: 1935, 513: 1935, 1935, 521: 1935, 524: 1935, 548: 1935, 582: 1935, 586: 1935, 588: 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 600: 1935, 1935, 1935, 1935, 1935, 1935, 607: 1935, 1935, 1935, 1935, 1935, 613: 1935, 1935, 616: 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3447, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 4204, 3352, 3433, 3351, 3348},
+ {56: 4205, 498: 3449, 615: 3450},
// 1595
- {2: 1919, 1919, 1919, 1919, 1919, 1919, 1919, 10: 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 51: 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 476: 1919, 478: 1919, 1919, 482: 1919, 485: 1919, 1919, 488: 1919, 1919, 1919, 495: 1919, 498: 1919, 507: 1919, 1919, 511: 1919, 533: 1919, 567: 1919, 570: 1919, 1919, 573: 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 585: 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 595: 1919, 1919, 598: 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 654: 1919},
- {177: 1916, 479: 4115, 4114, 495: 1916, 574: 1916, 1916, 815: 4154},
- {177: 1915, 495: 1915, 574: 1915, 1915},
- {1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 477: 1930, 1930, 481: 1930, 483: 1930, 1930, 1930, 1930, 492: 1930, 1930, 1930, 496: 1930, 1930, 499: 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 509: 1930, 1930, 512: 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 522: 1930, 524: 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 534: 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 548: 1930, 1930, 558: 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930},
- {476: 2608, 713: 4163},
+ {1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 492: 1938, 1938, 497: 1938, 499: 1938, 1938, 1938, 1938, 507: 1938, 1938, 510: 1938, 1938, 1938, 515: 1938, 1938, 1938, 1938, 1938, 1938, 522: 1938, 1938, 525: 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 537: 1938, 1938, 1938, 541: 1938, 1938, 1938, 1938, 1938, 1938, 1938, 549: 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 564: 1938, 573: 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938},
+ {1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 492: 1939, 1939, 497: 1939, 3449, 1939, 1939, 1939, 1939, 507: 1939, 1939, 510: 1939, 1939, 1939, 515: 1939, 1939, 1939, 1939, 1939, 1939, 522: 1939, 1939, 525: 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 537: 1939, 1939, 1939, 541: 1939, 1939, 1939, 1939, 1939, 1939, 1939, 549: 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 564: 1939, 573: 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 615: 3450},
+ {1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 4209, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 492: 1934, 1934, 497: 1934, 3449, 1934, 1934, 1934, 1934, 507: 1934, 1934, 510: 1934, 1934, 1934, 515: 1934, 1934, 1934, 1934, 1934, 1934, 522: 1934, 1934, 525: 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 537: 1934, 1934, 1934, 541: 1934, 1934, 1934, 1934, 1934, 1934, 1934, 549: 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 564: 1934, 573: 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 615: 3450, 1273: 4208},
+ {1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 492: 1940, 1940, 497: 1940, 499: 1940, 1940, 1940, 1940, 507: 1940, 1940, 510: 1940, 1940, 1940, 515: 1940, 1940, 1940, 1940, 1940, 1940, 522: 1940, 1940, 525: 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 537: 1940, 1940, 1940, 541: 1940, 1940, 1940, 1940, 1940, 1940, 1940, 549: 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 564: 1940, 573: 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940},
+ {492: 4210},
// 1600
- {762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 477: 762, 762, 762, 762, 762, 483: 762, 762, 762, 762, 762, 762, 762, 762, 492: 762, 762, 762, 496: 762, 762, 499: 762, 762, 762, 762, 762, 762, 762, 762, 509: 762, 762, 512: 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 534: 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 568: 762, 762, 597: 762, 662: 4161},
- {1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1908, 1730, 1730, 1730, 1730, 1730, 483: 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 492: 1730, 1730, 1730, 496: 1730, 1730, 499: 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 509: 1730, 1730, 512: 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 534: 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 568: 1730, 1730, 597: 1730, 655: 1730, 659: 1730, 1730},
- {1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1907, 1729, 1729, 1729, 1729, 1729, 483: 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 492: 1729, 1729, 1729, 496: 1729, 1729, 499: 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 509: 1729, 1729, 512: 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 534: 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 568: 1729, 1729, 597: 1729, 655: 1729, 659: 1729, 1729},
- {476: 1906},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 4162},
+ {1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 492: 1933, 1933, 497: 1933, 499: 1933, 1933, 1933, 1933, 507: 1933, 1933, 510: 1933, 1933, 1933, 515: 1933, 1933, 1933, 1933, 1933, 1933, 522: 1933, 1933, 525: 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 537: 1933, 1933, 1933, 541: 1933, 1933, 1933, 1933, 1933, 1933, 1933, 549: 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 564: 1933, 573: 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933},
+ {503: 3785, 3786, 3791, 526: 4212, 540: 3787, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 4213},
+ {1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 492: 1941, 1941, 497: 1941, 499: 1941, 1941, 1941, 1941, 507: 1941, 1941, 510: 1941, 1941, 1941, 515: 1941, 1941, 1941, 1941, 1941, 1941, 522: 1941, 1941, 525: 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 537: 1941, 1941, 1941, 541: 1941, 1941, 1941, 1941, 1941, 1941, 1941, 549: 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 564: 1941, 573: 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 2660, 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3980, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 2658, 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 664: 2654, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3979, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3687, 769: 3982, 2655, 2656, 2657, 2666, 777: 2664, 2663, 2662, 3981, 3984, 3983, 800: 4216},
// 1605
- {1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 477: 1928, 1928, 481: 1928, 483: 1928, 1928, 1928, 1928, 492: 1928, 1928, 1928, 496: 1928, 1928, 499: 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 509: 1928, 1928, 512: 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 522: 1928, 524: 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 534: 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 548: 1928, 1928, 558: 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928},
- {1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 477: 1929, 1929, 481: 1929, 483: 1929, 1929, 1929, 1929, 492: 1929, 1929, 1929, 496: 1929, 1929, 499: 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 509: 1929, 1929, 512: 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 522: 1929, 524: 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 534: 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 548: 1929, 1929, 558: 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929},
- {1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 477: 1955, 1955, 481: 1955, 483: 1955, 1955, 1955, 1955, 492: 1955, 1955, 1955, 496: 1955, 1955, 499: 1955, 1955, 1955, 503: 1955, 1955, 1955, 1955, 509: 1955, 1955, 512: 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 522: 1955, 524: 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 534: 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 548: 1955, 1955},
- {1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 477: 1954, 1954, 481: 1954, 483: 1954, 1954, 1954, 1954, 492: 1954, 1954, 1954, 496: 1954, 1954, 499: 1954, 1954, 1954, 503: 1954, 1954, 1954, 1954, 509: 1954, 1954, 512: 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 522: 1954, 524: 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 534: 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 548: 1954, 1954},
- {1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 477: 1953, 1953, 481: 1953, 483: 1953, 1953, 1953, 1953, 492: 1953, 1953, 1953, 496: 1953, 1953, 499: 1953, 1953, 1953, 503: 1953, 1953, 1953, 1953, 509: 1953, 1953, 512: 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 522: 1953, 524: 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 534: 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 548: 1953, 1953},
+ {1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 492: 1942, 1942, 497: 1942, 499: 1942, 1942, 1942, 1942, 507: 1942, 1942, 510: 1942, 1942, 1942, 515: 1942, 1942, 1942, 1942, 1942, 1942, 522: 1942, 1942, 525: 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 537: 1942, 1942, 1942, 541: 1942, 1942, 1942, 1942, 1942, 1942, 1942, 549: 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 564: 1942, 573: 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942},
+ {9: 3689, 56: 4217},
+ {1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 492: 1943, 1943, 497: 1943, 499: 1943, 1943, 1943, 1943, 507: 1943, 1943, 510: 1943, 1943, 1943, 515: 1943, 1943, 1943, 1943, 1943, 1943, 522: 1943, 1943, 525: 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 537: 1943, 1943, 1943, 541: 1943, 1943, 1943, 1943, 1943, 1943, 1943, 549: 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 564: 1943, 573: 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943},
+ {2: 1955, 1955, 1955, 1955, 1955, 1955, 1955, 10: 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 57: 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 491: 1955, 1955, 494: 1955, 1955, 501: 1955, 1955, 1955, 1955, 1955, 509: 1955, 513: 1955, 1955, 521: 1955, 524: 1955, 548: 1955, 582: 1955, 586: 1955, 588: 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 600: 1955, 1955, 1955, 1955, 1955, 1955, 607: 1955, 1955, 1955, 1955, 1955, 613: 1955, 1955, 616: 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955},
+ {491: 1951},
// 1610
- {1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 477: 1931, 1931, 481: 1931, 483: 1931, 1931, 1931, 1931, 492: 1931, 1931, 1931, 496: 1931, 1931, 499: 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 509: 1931, 1931, 512: 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 522: 1931, 524: 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 534: 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 548: 1931, 1931, 558: 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4170, 812: 4171},
- {2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 476: 2354, 491: 2354, 496: 2354, 502: 2354, 508: 2354, 2354, 532: 2354, 2354, 2354, 650: 2354, 655: 4192, 672: 2354, 2354, 675: 2354, 681: 2354, 2354, 684: 2354, 2354, 2354, 2354, 2354, 2354, 692: 2354, 694: 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 709: 2354, 2354, 2354, 2354},
- {9: 2351, 50: 2351},
- {9: 4172, 50: 4173},
+ {2: 1949, 1949, 1949, 1949, 1949, 1949, 1949, 10: 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 57: 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 491: 1949, 1949, 494: 1949, 1949, 501: 1949, 1949, 1949, 1949, 1949, 509: 1949, 513: 1949, 1949, 521: 1949, 524: 1949, 548: 1949, 582: 1949, 586: 1949, 588: 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 600: 1949, 1949, 1949, 1949, 1949, 1949, 607: 1949, 1949, 1949, 1949, 1949, 613: 1949, 1949, 616: 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949},
+ {2: 1947, 1947, 1947, 1947, 1947, 1947, 1947, 10: 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 57: 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 491: 1947, 1947, 494: 1947, 1947, 501: 1947, 1947, 1947, 1947, 1947, 509: 1947, 513: 1947, 1947, 521: 1947, 524: 1947, 548: 1947, 582: 1947, 586: 1947, 588: 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 600: 1947, 1947, 1947, 1947, 1947, 1947, 607: 1947, 1947, 1947, 1947, 1947, 613: 1947, 1947, 616: 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947},
+ {188: 4245, 509: 4246, 590: 4244, 4243},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 4237, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 4238, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 4236, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 670: 4239, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 4234, 1206: 4235},
+ {2: 1964, 1964, 1964, 1964, 1964, 1964, 1964, 10: 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 57: 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 491: 1964, 1964, 494: 1964, 1964, 501: 1964, 1964, 1964, 1964, 1964, 509: 1964, 513: 1964, 1964, 521: 1964, 524: 1964, 548: 1964, 582: 1964, 586: 1964, 588: 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 600: 1964, 1964, 1964, 1964, 1964, 1964, 607: 1964, 1964, 1964, 1964, 1964, 613: 1964, 1964, 616: 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 670: 1964},
// 1615
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4191},
- {312: 4174},
- {476: 4175},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 4176},
- {50: 1949, 477: 4179, 488: 3712, 3713, 3718, 523: 3714, 547: 4178, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711, 1230: 4177},
+ {2: 1963, 1963, 1963, 1963, 1963, 1963, 1963, 10: 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 57: 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 491: 1963, 1963, 494: 1963, 1963, 501: 1963, 1963, 1963, 1963, 1963, 509: 1963, 513: 1963, 1963, 521: 1963, 524: 1963, 548: 1963, 582: 1963, 586: 1963, 588: 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 600: 1963, 1963, 1963, 1963, 1963, 1963, 607: 1963, 1963, 1963, 1963, 1963, 613: 1963, 1963, 616: 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 670: 1963},
+ {2: 1962, 1962, 1962, 1962, 1962, 1962, 1962, 10: 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 57: 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 491: 1962, 1962, 494: 1962, 1962, 501: 1962, 1962, 1962, 1962, 1962, 509: 1962, 513: 1962, 1962, 521: 1962, 524: 1962, 548: 1962, 582: 1962, 586: 1962, 588: 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 600: 1962, 1962, 1962, 1962, 1962, 1962, 607: 1962, 1962, 1962, 1962, 1962, 613: 1962, 1962, 616: 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 670: 1962},
+ {2: 1961, 1961, 1961, 1961, 1961, 1961, 1961, 10: 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 57: 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 491: 1961, 1961, 494: 1961, 1961, 501: 1961, 1961, 1961, 1961, 1961, 509: 1961, 513: 1961, 1961, 521: 1961, 524: 1961, 548: 1961, 582: 1961, 586: 1961, 588: 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 600: 1961, 1961, 1961, 1961, 1961, 1961, 607: 1961, 1961, 1961, 1961, 1961, 613: 1961, 1961, 616: 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 670: 1961},
+ {2: 1960, 1960, 1960, 1960, 1960, 1960, 1960, 10: 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 57: 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 491: 1960, 1960, 494: 1960, 1960, 501: 1960, 1960, 1960, 1960, 1960, 509: 1960, 513: 1960, 1960, 521: 1960, 524: 1960, 548: 1960, 582: 1960, 586: 1960, 588: 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 600: 1960, 1960, 1960, 1960, 1960, 1960, 607: 1960, 1960, 1960, 1960, 1960, 613: 1960, 1960, 616: 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 670: 1960},
+ {2: 1959, 1959, 1959, 1959, 1959, 1959, 1959, 10: 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 57: 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 491: 1959, 1959, 494: 1959, 1959, 501: 1959, 1959, 1959, 1959, 1959, 509: 1959, 513: 1959, 1959, 521: 1959, 524: 1959, 548: 1959, 582: 1959, 586: 1959, 588: 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 600: 1959, 1959, 1959, 1959, 1959, 1959, 607: 1959, 1959, 1959, 1959, 1959, 613: 1959, 1959, 616: 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 670: 1959},
// 1620
- {50: 4190},
- {233: 4183, 522: 4182},
- {142: 4180},
- {257: 4181},
- {50: 1945},
+ {2: 1958, 1958, 1958, 1958, 1958, 1958, 1958, 10: 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 57: 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 491: 1958, 1958, 494: 1958, 1958, 501: 1958, 1958, 1958, 1958, 1958, 509: 1958, 513: 1958, 1958, 521: 1958, 524: 1958, 548: 1958, 582: 1958, 586: 1958, 588: 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 600: 1958, 1958, 1958, 1958, 1958, 1958, 607: 1958, 1958, 1958, 1958, 1958, 613: 1958, 1958, 616: 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 670: 1958},
+ {2: 1957, 1957, 1957, 1957, 1957, 1957, 1957, 10: 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 57: 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 491: 1957, 1957, 494: 1957, 1957, 501: 1957, 1957, 1957, 1957, 1957, 509: 1957, 513: 1957, 1957, 521: 1957, 524: 1957, 548: 1957, 582: 1957, 586: 1957, 588: 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 600: 1957, 1957, 1957, 1957, 1957, 1957, 607: 1957, 1957, 1957, 1957, 1957, 613: 1957, 1957, 616: 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 670: 1957},
+ {188: 1954, 494: 4190, 496: 4189, 509: 1954, 590: 1954, 1954, 833: 4233},
+ {188: 1953, 509: 1953, 590: 1953, 1953},
+ {1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 492: 1968, 1968, 497: 1968, 499: 1968, 1968, 1968, 1968, 507: 1968, 1968, 510: 1968, 1968, 1968, 515: 1968, 1968, 1968, 1968, 1968, 1968, 522: 1968, 1968, 525: 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 537: 1968, 1968, 1968, 541: 1968, 1968, 1968, 1968, 1968, 1968, 1968, 549: 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 564: 1968, 573: 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968},
// 1625
- {357: 4185},
- {215: 4184},
- {50: 1946},
- {215: 4186},
- {50: 1948, 477: 4187},
+ {491: 2661, 730: 4242},
+ {782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 492: 782, 782, 782, 496: 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 507: 782, 782, 510: 782, 782, 782, 515: 782, 782, 782, 782, 782, 782, 522: 782, 782, 525: 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 549: 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, 583: 782, 782, 782, 615: 782, 679: 4240},
+ {1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1946, 1766, 1766, 1766, 496: 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 507: 1766, 1766, 510: 1766, 1766, 1766, 515: 1766, 1766, 1766, 1766, 1766, 1766, 522: 1766, 1766, 525: 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 549: 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 583: 1766, 1766, 1766, 615: 1766, 671: 1766, 675: 1766, 1766},
+ {1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1945, 1765, 1765, 1765, 496: 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 507: 1765, 1765, 510: 1765, 1765, 1765, 515: 1765, 1765, 1765, 1765, 1765, 1765, 522: 1765, 1765, 525: 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 549: 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 583: 1765, 1765, 1765, 615: 1765, 671: 1765, 675: 1765, 1765},
+ {491: 1944},
// 1630
- {142: 4188},
- {257: 4189},
- {50: 1947},
- {1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 477: 1956, 1956, 481: 1956, 483: 1956, 1956, 1956, 1956, 492: 1956, 1956, 1956, 496: 1956, 1956, 499: 1956, 1956, 1956, 503: 1956, 1956, 1956, 1956, 509: 1956, 1956, 512: 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 522: 1956, 524: 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 534: 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 548: 1956, 1956},
- {9: 2350, 50: 2350},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 4241},
+ {1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 492: 1966, 1966, 497: 1966, 499: 1966, 1966, 1966, 1966, 507: 1966, 1966, 510: 1966, 1966, 1966, 515: 1966, 1966, 1966, 1966, 1966, 1966, 522: 1966, 1966, 525: 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 537: 1966, 1966, 1966, 541: 1966, 1966, 1966, 1966, 1966, 1966, 1966, 549: 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 564: 1966, 573: 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966},
+ {1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 492: 1967, 1967, 497: 1967, 499: 1967, 1967, 1967, 1967, 507: 1967, 1967, 510: 1967, 1967, 1967, 515: 1967, 1967, 1967, 1967, 1967, 1967, 522: 1967, 1967, 525: 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 537: 1967, 1967, 1967, 541: 1967, 1967, 1967, 1967, 1967, 1967, 1967, 549: 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 564: 1967, 573: 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967},
+ {1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 492: 1993, 1993, 497: 1993, 499: 1993, 1993, 1993, 1993, 507: 1993, 1993, 510: 1993, 1993, 1993, 515: 1993, 517: 1993, 1993, 1993, 1993, 522: 1993, 1993, 525: 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 537: 1993, 1993, 1993, 541: 1993, 1993, 1993, 1993, 1993, 1993, 1993, 549: 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 564: 1993},
+ {1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 492: 1992, 1992, 497: 1992, 499: 1992, 1992, 1992, 1992, 507: 1992, 1992, 510: 1992, 1992, 1992, 515: 1992, 517: 1992, 1992, 1992, 1992, 522: 1992, 1992, 525: 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 537: 1992, 1992, 1992, 541: 1992, 1992, 1992, 1992, 1992, 1992, 1992, 549: 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 564: 1992},
// 1635
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4193, 2785, 2786, 2784},
- {2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 476: 2353, 491: 2353, 496: 2353, 502: 2353, 508: 2353, 2353, 532: 2353, 2353, 2353, 650: 2353, 655: 4194, 672: 2353, 2353, 675: 2353, 681: 2353, 2353, 684: 2353, 2353, 2353, 2353, 2353, 2353, 692: 2353, 694: 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 709: 2353, 2353, 2353, 2353},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4195, 2785, 2786, 2784},
- {2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 476: 2352, 491: 2352, 496: 2352, 502: 2352, 508: 2352, 2352, 532: 2352, 2352, 2352, 650: 2352, 672: 2352, 2352, 675: 2352, 681: 2352, 2352, 684: 2352, 2352, 2352, 2352, 2352, 2352, 692: 2352, 694: 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 709: 2352, 2352, 2352, 2352},
- {1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 477: 1957, 1957, 481: 1957, 483: 1957, 1957, 1957, 1957, 492: 1957, 1957, 1957, 496: 1957, 1957, 499: 1957, 1957, 1957, 503: 1957, 1957, 1957, 1957, 509: 1957, 1957, 512: 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 522: 1957, 524: 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 534: 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 548: 1957, 1957, 738: 3367, 3365},
+ {1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 492: 1991, 1991, 497: 1991, 499: 1991, 1991, 1991, 1991, 507: 1991, 1991, 510: 1991, 1991, 1991, 515: 1991, 517: 1991, 1991, 1991, 1991, 522: 1991, 1991, 525: 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 537: 1991, 1991, 1991, 541: 1991, 1991, 1991, 1991, 1991, 1991, 1991, 549: 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 564: 1991},
+ {1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 492: 1969, 1969, 497: 1969, 499: 1969, 1969, 1969, 1969, 507: 1969, 1969, 510: 1969, 1969, 1969, 515: 1969, 1969, 1969, 1969, 1969, 1969, 522: 1969, 1969, 525: 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 537: 1969, 1969, 1969, 541: 1969, 1969, 1969, 1969, 1969, 1969, 1969, 549: 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 564: 1969, 573: 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4249, 830: 4250},
+ {2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 491: 2398, 506: 2398, 511: 2398, 513: 2398, 516: 2398, 525: 2398, 547: 2398, 2398, 560: 2398, 666: 2398, 671: 4271, 689: 2398, 2398, 692: 2398, 698: 2398, 2398, 701: 2398, 2398, 2398, 2398, 2398, 2398, 709: 2398, 711: 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 726: 2398, 2398, 2398, 2398},
+ {9: 2395, 56: 2395},
// 1640
- {1317, 1317, 9: 1317, 50: 1317, 128: 1317, 475: 1317, 477: 1317, 483: 1317, 1317, 493: 1317, 1317, 496: 1317, 1317, 499: 1317, 1317, 504: 1317, 1317, 517: 1317, 519: 1317, 527: 1317, 530: 1317, 1317},
- {1316, 1316, 9: 1316, 50: 1316, 128: 1316, 475: 1316, 477: 1316, 483: 1316, 1316, 493: 1316, 1316, 496: 1316, 1316, 499: 1316, 1316, 504: 1316, 1316, 517: 1316, 519: 1316, 527: 1316, 530: 1316, 1316},
- {1315, 1315, 9: 1315, 50: 1315, 128: 1315, 475: 1315, 477: 1315, 483: 1315, 1315, 493: 1315, 1315, 496: 1315, 1315, 499: 1315, 1315, 504: 1315, 1315, 517: 1315, 519: 1315, 527: 1315, 530: 1315, 1315},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4201},
- {1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 477: 1961, 1961, 481: 1961, 483: 1961, 1961, 1961, 1961, 492: 1961, 1961, 1961, 496: 1961, 1961, 499: 1961, 1961, 1961, 503: 1961, 1961, 1961, 1961, 509: 1961, 3371, 512: 3369, 3370, 3368, 3366, 1961, 1961, 1961, 1961, 1961, 522: 1961, 524: 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 534: 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 548: 1961, 1961, 738: 3367, 3365},
+ {9: 4251, 56: 4252},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4270},
+ {325: 4253},
+ {491: 4254},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 4255},
// 1645
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 4203},
- {50: 4204},
- {2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 477: 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 499: 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 509: 2250, 2250, 512: 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 534: 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 568: 2250, 2250, 584: 2250, 593: 2250, 2250, 597: 2250, 645: 2250, 2250, 2250, 2250},
- {497: 4206},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 4207},
+ {56: 1987, 493: 4258, 503: 3785, 3786, 3791, 540: 3787, 563: 4257, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784, 1253: 4256},
+ {56: 4269},
+ {245: 4262, 537: 4261},
+ {153: 4259},
+ {269: 4260},
// 1650
- {2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 477: 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 499: 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 509: 2251, 2251, 512: 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 534: 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 568: 2251, 2251, 584: 2251, 593: 2251, 2251, 597: 2251, 645: 2251, 2251, 2251, 2251},
- {258, 258, 50: 258, 475: 258, 477: 258, 483: 258, 258, 493: 258, 258, 496: 258, 258, 499: 258, 258, 504: 258, 258, 510: 3371, 512: 3369, 3370, 3368, 3366, 258, 258, 519: 258, 738: 3367, 3365},
- {6, 6},
- {142: 4212},
- {2, 2},
+ {56: 1983},
+ {368: 4264},
+ {229: 4263},
+ {56: 1984},
+ {229: 4265},
// 1655
- {257, 257, 496: 257, 501: 2745, 504: 257, 257, 795: 2746, 4213},
- {1311, 1311, 496: 1311, 504: 1311, 2748, 772: 2749, 817: 4214},
- {883, 883, 496: 2751, 504: 2752, 773: 2753, 834: 4215},
- {4, 4},
- {572: 4218},
+ {56: 1986, 493: 4266},
+ {153: 4267},
+ {269: 4268},
+ {56: 1985},
+ {1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 492: 1994, 1994, 497: 1994, 499: 1994, 1994, 1994, 1994, 507: 1994, 1994, 510: 1994, 1994, 1994, 515: 1994, 517: 1994, 1994, 1994, 1994, 522: 1994, 1994, 525: 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 537: 1994, 1994, 1994, 541: 1994, 1994, 1994, 1994, 1994, 1994, 1994, 549: 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 564: 1994},
// 1660
- {2: 1872, 1872, 1872, 1872, 1872, 1872, 1872, 10: 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 51: 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 476: 1872, 499: 1872, 503: 1872, 572: 1872, 582: 1872},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 4219},
- {2432, 2432, 2432, 2432, 2432, 2432, 4267, 4269, 410, 10: 4236, 15: 4286, 2193, 4284, 4223, 4288, 4275, 4304, 4268, 4271, 4270, 4273, 4274, 4276, 4283, 410, 4294, 4295, 4281, 4282, 4287, 4289, 4301, 4300, 4306, 4302, 4299, 4292, 4297, 4298, 4291, 4293, 4296, 4285, 72: 4238, 75: 4259, 4260, 84: 4261, 140: 4241, 185: 4230, 205: 4224, 4222, 4245, 210: 4246, 221: 4240, 227: 4256, 240: 4234, 249: 4242, 255: 4237, 272: 4247, 280: 4243, 287: 4257, 4258, 292: 4225, 477: 4255, 482: 4266, 4303, 487: 2193, 491: 2432, 500: 4262, 505: 4244, 4254, 508: 2193, 4227, 587: 4228, 593: 4233, 650: 2193, 652: 4272, 656: 4221, 668: 4249, 672: 4235, 674: 4263, 683: 4248, 690: 4250, 693: 4229, 708: 4239, 785: 4277, 797: 4279, 818: 4278, 840: 4280, 843: 4290, 847: 4305, 874: 4253, 887: 4251, 924: 4226, 931: 4231, 994: 4265, 1146: 4232, 1174: 4252, 1180: 4264, 4220},
- {2191, 2191, 5067, 5068, 5065, 5066, 491: 5069, 1108: 5064, 1179: 5063},
- {491: 5037},
+ {9: 2394, 56: 2394},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4272, 2843, 2844, 2842},
+ {2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 491: 2397, 506: 2397, 511: 2397, 513: 2397, 516: 2397, 525: 2397, 547: 2397, 2397, 560: 2397, 666: 2397, 671: 4273, 689: 2397, 2397, 692: 2397, 698: 2397, 2397, 701: 2397, 2397, 2397, 2397, 2397, 2397, 709: 2397, 711: 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 726: 2397, 2397, 2397, 2397},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4274, 2843, 2844, 2842},
+ {2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 491: 2396, 506: 2396, 511: 2396, 513: 2396, 516: 2396, 525: 2396, 547: 2396, 2396, 560: 2396, 666: 2396, 689: 2396, 2396, 692: 2396, 698: 2396, 2396, 701: 2396, 2396, 2396, 2396, 2396, 2396, 709: 2396, 711: 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 726: 2396, 2396, 2396, 2396},
// 1665
- {2552, 2552, 170: 5031, 491: 5032},
- {167: 5023},
- {478: 2064, 482: 2064, 502: 4307, 741: 5020},
- {478: 2064, 482: 2064, 502: 4307, 741: 5017},
- {2517, 2517, 2517, 2517, 2517, 2517, 4267, 4269, 410, 2517, 15: 4286, 2193, 4284, 4223, 4288, 4275, 4304, 4268, 4271, 4270, 4273, 4274, 4276, 4283, 410, 4294, 4295, 4281, 4282, 4287, 4289, 4301, 4300, 4306, 4302, 4299, 4292, 4297, 4298, 4291, 4293, 4296, 4285, 482: 4266, 4303, 487: 2193, 491: 2517, 506: 5013, 508: 2193, 650: 2193, 652: 4272, 785: 4277, 797: 4279, 818: 4278, 840: 4280, 843: 4290, 847: 5014},
+ {1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 492: 1995, 1995, 497: 1995, 499: 1995, 1995, 1995, 1995, 507: 1995, 1995, 510: 1995, 1995, 1995, 515: 1995, 517: 1995, 1995, 1995, 1995, 522: 1995, 1995, 525: 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 537: 1995, 1995, 1995, 541: 1995, 1995, 1995, 1995, 1995, 1995, 1995, 549: 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 564: 1995, 755: 3440, 3438},
+ {1339, 1339, 9: 1339, 56: 1339, 139: 1339, 490: 1339, 493: 1339, 499: 1339, 1339, 508: 1339, 510: 1339, 1339, 1339, 515: 1339, 517: 1339, 520: 1339, 522: 1339, 532: 1339, 534: 1339, 542: 1339, 545: 1339, 1339},
+ {1338, 1338, 9: 1338, 56: 1338, 139: 1338, 490: 1338, 493: 1338, 499: 1338, 1338, 508: 1338, 510: 1338, 1338, 1338, 515: 1338, 517: 1338, 520: 1338, 522: 1338, 532: 1338, 534: 1338, 542: 1338, 545: 1338, 1338},
+ {1337, 1337, 9: 1337, 56: 1337, 139: 1337, 490: 1337, 493: 1337, 499: 1337, 1337, 508: 1337, 510: 1337, 1337, 1337, 515: 1337, 517: 1337, 520: 1337, 522: 1337, 532: 1337, 534: 1337, 542: 1337, 545: 1337, 1337},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4280},
// 1670
- {170: 5003},
- {653: 4995},
- {2: 2437, 2437, 2437, 2437, 2437, 2437, 2437, 10: 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 51: 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 476: 2437, 491: 4854, 567: 2437, 584: 2426, 593: 2426, 2426, 645: 2426, 4615, 652: 2426, 678: 2426, 2426, 837: 4856, 852: 4450, 877: 4852, 908: 4853, 919: 4855},
- {491: 4845},
- {2506, 2506, 2506, 2506, 2506, 2506, 9: 2506, 491: 2506},
+ {1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 492: 1999, 1999, 497: 1999, 499: 1999, 1999, 1999, 1999, 507: 1999, 1999, 510: 1999, 1999, 1999, 515: 1999, 517: 1999, 1999, 1999, 1999, 522: 1999, 1999, 525: 1999, 3444, 3442, 3443, 3441, 3439, 1999, 1999, 1999, 1999, 1999, 537: 1999, 1999, 1999, 541: 1999, 1999, 1999, 1999, 1999, 1999, 1999, 549: 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 564: 1999, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4282},
+ {56: 4283},
+ {2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 492: 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 515: 2292, 2292, 2292, 2292, 2292, 2292, 522: 2292, 2292, 525: 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 549: 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 583: 2292, 2292, 2292, 599: 2292, 606: 2292, 612: 2292, 615: 2292, 661: 2292, 2292, 2292, 665: 2292},
+ {512: 4285},
// 1675
- {2505, 2505, 2505, 2505, 2505, 2505, 9: 2505, 491: 2505},
- {491: 4843},
- {491: 4840},
- {2: 2437, 2437, 2437, 2437, 2437, 2437, 2437, 10: 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 51: 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 491: 4819, 567: 2437, 584: 4436, 593: 4451, 4818, 646: 4452, 652: 4437, 678: 4822, 832: 4821, 852: 4450, 877: 4817, 919: 4820, 1004: 4823},
- {491: 4810},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4286},
+ {2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 492: 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 515: 2293, 2293, 2293, 2293, 2293, 2293, 522: 2293, 2293, 525: 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 549: 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 583: 2293, 2293, 2293, 599: 2293, 606: 2293, 612: 2293, 615: 2293, 661: 2293, 2293, 2293, 665: 2293},
+ {273, 273, 56: 273, 490: 273, 493: 273, 499: 273, 273, 508: 273, 510: 273, 273, 273, 515: 273, 517: 273, 520: 273, 522: 273, 526: 3444, 3442, 3443, 3441, 3439, 273, 273, 534: 273, 755: 3440, 3438},
+ {7, 7},
+ {153: 4291},
// 1680
- {491: 4799},
- {491: 4797},
- {491: 4794},
- {491: 4791},
- {20: 4788, 491: 4787},
+ {3, 3},
+ {272, 272, 511: 272, 518: 2803, 520: 272, 522: 272, 813: 2804, 4292},
+ {1333, 1333, 511: 1333, 520: 1333, 522: 2806, 789: 2807, 835: 4293},
+ {903, 903, 511: 2809, 520: 2810, 790: 2811, 851: 4294},
+ {5, 5},
// 1685
- {20: 4784, 491: 4783},
- {491: 4773},
- {663: 4766},
- {948: 4765},
- {948: 4764},
+ {587: 4297},
+ {2: 1909, 1909, 1909, 1909, 1909, 1909, 1909, 10: 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 57: 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 491: 1909, 515: 1909, 519: 1909, 587: 1909, 600: 1909},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4298},
+ {2476, 2476, 2476, 2476, 2476, 2476, 4346, 4348, 425, 10: 4315, 15: 4365, 2232, 4363, 4302, 4367, 4354, 4383, 4347, 4350, 4349, 4352, 4353, 4355, 4362, 425, 4373, 4374, 4384, 4360, 4361, 4366, 4368, 4380, 4379, 4388, 4381, 4378, 4371, 4376, 4377, 4370, 4372, 4375, 4364, 4385, 4386, 78: 4317, 81: 4338, 4339, 90: 4340, 151: 4320, 196: 4309, 217: 4303, 4301, 220: 4324, 223: 4325, 233: 4319, 239: 4335, 253: 4313, 261: 4321, 267: 4316, 284: 4326, 292: 4322, 299: 4336, 4337, 304: 4304, 493: 4334, 495: 4345, 498: 2232, 4382, 506: 2476, 513: 2232, 517: 4341, 522: 4323, 4333, 525: 4306, 603: 4307, 606: 4312, 666: 2232, 4351, 672: 4300, 681: 4328, 689: 4314, 691: 4342, 700: 4327, 707: 4329, 710: 4308, 725: 4318, 802: 4356, 815: 4358, 836: 4357, 857: 4359, 860: 4369, 864: 4387, 892: 4332, 906: 4330, 942: 4305, 949: 4310, 1013: 4344, 1169: 4311, 1197: 4331, 1202: 4343, 4299},
+ {2230, 2230, 5164, 5165, 5162, 5163, 506: 5166, 1128: 5161, 1204: 5160},
// 1690
- {2: 2437, 2437, 2437, 2437, 2437, 2437, 2437, 10: 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 51: 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 567: 2437, 852: 4450, 877: 4760},
- {2: 2437, 2437, 2437, 2437, 2437, 2437, 2437, 10: 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 51: 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 567: 2437, 852: 4450, 877: 4476},
- {2: 2437, 2437, 2437, 2437, 2437, 2437, 2437, 10: 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 51: 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 593: 4451, 646: 4452, 652: 4449, 852: 4450, 877: 4447, 1004: 4448},
- {2: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 10: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 51: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 481: 4434, 502: 4307, 584: 4436, 652: 4437, 4432, 741: 4433, 832: 4435, 852: 4431},
- {2473, 2473, 2473, 2473, 2473, 2473, 9: 2473, 491: 2473},
+ {506: 5134},
+ {2605, 2605, 182: 5128, 506: 5129},
+ {179: 5120},
+ {492: 2103, 495: 2103, 516: 4389, 757: 5117},
+ {492: 2103, 495: 2103, 516: 4389, 757: 5114},
// 1695
- {2472, 2472, 2472, 2472, 2472, 2472, 9: 2472, 491: 2472},
- {2471, 2471, 2471, 2471, 2471, 2471, 9: 2471, 491: 2471},
- {2470, 2470, 2470, 2470, 2470, 2470, 8: 409, 2470, 29: 409, 491: 2470},
- {203: 4430},
- {203: 4429},
+ {2561, 2561, 2561, 2561, 2561, 2561, 4346, 4348, 425, 2561, 15: 4365, 2232, 4363, 4302, 4367, 4354, 4383, 4347, 4350, 4349, 4352, 4353, 4355, 4362, 425, 4373, 4374, 4384, 4360, 4361, 4366, 4368, 4380, 4379, 4388, 4381, 4378, 4371, 4376, 4377, 4370, 4372, 4375, 4364, 4385, 4386, 495: 4345, 498: 2232, 4382, 506: 2561, 513: 2232, 523: 5110, 666: 2232, 4351, 802: 4356, 815: 4358, 836: 4357, 857: 4359, 860: 4369, 864: 5111},
+ {182: 5100},
+ {669: 5092},
+ {2: 2481, 2481, 2481, 2481, 2481, 2481, 2481, 10: 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 57: 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 491: 2481, 506: 4951, 582: 2481, 599: 2470, 606: 2470, 612: 2470, 661: 2470, 4707, 667: 2470, 695: 2470, 2470, 854: 4953, 869: 4542, 895: 4949, 926: 4950, 937: 4952},
+ {506: 4942},
// 1700
- {2467, 2467, 2467, 2467, 2467, 2467, 9: 2467, 491: 2467},
- {2466, 2466, 2466, 2466, 2466, 2466, 9: 2466, 491: 2466},
- {2462, 2462, 2462, 2462, 2462, 2462, 9: 2462, 491: 2462},
- {2461, 2461, 2461, 2461, 2461, 2461, 9: 2461, 491: 2461},
- {130: 2064, 243: 2064, 264: 2064, 266: 2064, 482: 2064, 502: 4307, 741: 4423},
+ {2550, 2550, 2550, 2550, 2550, 2550, 9: 2550, 506: 2550},
+ {2549, 2549, 2549, 2549, 2549, 2549, 9: 2549, 506: 2549},
+ {506: 4940},
+ {506: 4937},
+ {2: 2481, 2481, 2481, 2481, 2481, 2481, 2481, 10: 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 57: 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 506: 4916, 582: 2481, 599: 4528, 606: 4543, 612: 4915, 662: 4544, 667: 4529, 695: 4919, 849: 4918, 869: 4542, 895: 4914, 937: 4917, 1023: 4920},
// 1705
- {2: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 10: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 51: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 482: 2064, 502: 4307, 741: 4420},
- {156: 4419, 691: 4418},
- {2431, 2431, 2431, 2431, 2431, 2431, 9: 4416, 491: 2431},
- {2430, 2430, 2430, 2430, 2430, 2430, 9: 2430, 491: 2430},
- {16: 2192, 18: 2192, 21: 2192, 487: 2192, 508: 2192, 650: 2192},
+ {506: 4907},
+ {506: 4896},
+ {506: 4894},
+ {506: 4891},
+ {506: 4888},
// 1710
- {478: 2064, 502: 4307, 741: 4414},
- {2: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 10: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 51: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 478: 2064, 502: 4307, 741: 4412},
- {22: 4407, 188: 4408, 250: 4409},
- {2: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 10: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 51: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 478: 2064, 502: 4307, 741: 4405},
- {248: 4402},
+ {20: 4885, 506: 4884},
+ {20: 4881, 506: 4880},
+ {506: 4870},
+ {680: 4863},
+ {967: 4862},
// 1715
- {248: 4399},
- {502: 4307, 511: 2064, 741: 4397},
- {502: 4307, 511: 2064, 741: 4395},
- {2: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 10: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 51: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 502: 4307, 741: 4393},
- {502: 4307, 511: 2064, 741: 4391},
+ {967: 4861},
+ {2: 2481, 2481, 2481, 2481, 2481, 2481, 2481, 10: 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 57: 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 582: 2481, 869: 4542, 895: 4857},
+ {2: 2481, 2481, 2481, 2481, 2481, 2481, 2481, 10: 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 57: 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 582: 2481, 869: 4542, 895: 4568},
+ {2: 2481, 2481, 2481, 2481, 2481, 2481, 2481, 10: 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 57: 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 606: 4543, 662: 4544, 667: 4541, 869: 4542, 895: 4539, 1023: 4540},
+ {2: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 10: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 57: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 497: 4526, 516: 4389, 599: 4528, 667: 4529, 669: 4524, 757: 4525, 849: 4527, 869: 4523},
// 1720
- {2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 15: 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 50: 2137, 475: 2137, 2137, 2137, 481: 2137, 2137, 2137, 487: 2137, 491: 2137, 2137, 498: 2137, 506: 2137, 2137, 2137, 572: 2137, 649: 2137, 2137, 652: 2137},
- {444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 15: 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 475: 444, 444, 444, 481: 444, 444, 444, 487: 444, 491: 444, 444, 498: 444, 506: 444, 444, 444, 572: 444, 649: 444, 444, 652: 444},
- {16: 3862, 487: 4386, 508: 3863, 650: 3861, 779: 4385},
- {8: 4379, 29: 4380},
- {502: 4307, 511: 2064, 741: 4377},
+ {2517, 2517, 2517, 2517, 2517, 2517, 9: 2517, 506: 2517},
+ {2516, 2516, 2516, 2516, 2516, 2516, 9: 2516, 506: 2516},
+ {2515, 2515, 2515, 2515, 2515, 2515, 9: 2515, 506: 2515},
+ {2514, 2514, 2514, 2514, 2514, 2514, 8: 424, 2514, 29: 424, 506: 2514},
+ {215: 4522},
// 1725
- {502: 4307, 511: 2064, 741: 4375},
- {478: 2064, 502: 4307, 741: 4373},
- {502: 4307, 511: 2064, 741: 4371},
- {502: 4307, 511: 2064, 741: 4369},
- {478: 2064, 502: 4307, 741: 4367},
+ {215: 4521},
+ {2511, 2511, 2511, 2511, 2511, 2511, 9: 2511, 506: 2511},
+ {2510, 2510, 2510, 2510, 2510, 2510, 9: 2510, 506: 2510},
+ {2506, 2506, 2506, 2506, 2506, 2506, 9: 2506, 506: 2506},
+ {2505, 2505, 2505, 2505, 2505, 2505, 9: 2505, 506: 2505},
// 1730
- {478: 2064, 502: 4307, 741: 4365},
- {502: 4307, 511: 2064, 741: 4363},
- {502: 4307, 511: 2064, 741: 4361},
- {430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 15: 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 475: 430, 430, 430, 481: 430, 430, 430, 487: 430, 491: 430, 430, 498: 430, 506: 430, 430, 430, 572: 430, 649: 430, 430, 652: 430},
- {482: 2064, 502: 4307, 511: 2064, 741: 4359},
+ {141: 2103, 256: 2103, 276: 2103, 278: 2103, 495: 2103, 516: 4389, 757: 4515},
+ {2: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 10: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 57: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 495: 2103, 516: 4389, 757: 4512},
+ {167: 4511, 708: 4510},
+ {2475, 2475, 2475, 2475, 2475, 2475, 9: 4508, 506: 2475},
+ {2474, 2474, 2474, 2474, 2474, 2474, 9: 2474, 506: 2474},
// 1735
- {482: 2064, 502: 4307, 511: 2064, 741: 4356},
- {482: 2064, 502: 4307, 511: 2064, 741: 4353},
- {502: 4307, 511: 2064, 741: 4351},
- {502: 4307, 511: 2064, 741: 4349},
- {502: 4307, 511: 2064, 576: 2064, 2064, 741: 4347},
+ {16: 2231, 18: 2231, 21: 2231, 498: 2231, 513: 2231, 666: 2231},
+ {492: 2103, 516: 4389, 757: 4506},
+ {2: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 10: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 57: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 492: 2103, 516: 4389, 757: 4504},
+ {22: 4499, 199: 4500, 262: 4501},
+ {2: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 10: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 57: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 492: 2103, 516: 4389, 757: 4497},
// 1740
- {478: 2064, 502: 4307, 741: 4345},
- {478: 2064, 502: 4307, 741: 4343},
- {502: 4307, 511: 2064, 741: 4341},
- {502: 4307, 511: 2064, 741: 4339},
- {482: 2064, 502: 4307, 511: 2064, 741: 4335},
+ {260: 4494},
+ {260: 4491},
+ {516: 4389, 524: 2103, 757: 4489},
+ {516: 4389, 524: 2103, 757: 4487},
+ {2: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 10: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 57: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 516: 4389, 757: 4485},
// 1745
- {2: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 10: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 51: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 478: 2064, 495: 2064, 502: 4307, 741: 4332},
- {476: 2064, 502: 4307, 741: 4327},
- {478: 2064, 502: 4307, 741: 4324},
- {404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 15: 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 475: 404, 404, 404, 481: 404, 404, 404, 487: 404, 491: 404, 404, 498: 404, 506: 404, 404, 404, 572: 404, 649: 404, 404, 652: 404},
- {182: 2064, 206: 2064, 209: 2064, 241: 2064, 281: 2064, 295: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 482: 2064, 502: 4307, 741: 4308},
+ {516: 4389, 524: 2103, 757: 4483},
+ {2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 15: 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 2176, 56: 2176, 490: 2176, 2176, 493: 2176, 495: 2176, 497: 2176, 2176, 2176, 506: 2176, 2176, 513: 2176, 2176, 521: 2176, 523: 2176, 587: 2176, 664: 2176, 666: 2176, 2176},
+ {462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 15: 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 490: 462, 462, 493: 462, 495: 462, 497: 462, 462, 462, 506: 462, 462, 513: 462, 462, 521: 462, 523: 462, 587: 462, 664: 462, 666: 462, 462},
+ {16: 3935, 498: 4478, 513: 3936, 666: 3934, 797: 4477},
+ {8: 4471, 29: 4472},
// 1750
- {2: 2063, 2063, 2063, 2063, 2063, 2063, 2063, 10: 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 51: 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 476: 2063, 478: 2063, 482: 2063, 488: 2063, 2063, 492: 2063, 495: 2063, 507: 2063, 511: 2063, 533: 2063, 574: 2063, 2063, 2063, 2063},
- {182: 4311, 206: 4314, 209: 4310, 241: 4312, 281: 4313, 295: 4315, 4316, 4321, 4320, 4317, 4322, 4323, 4318, 4319, 482: 4309},
- {398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 15: 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 475: 398, 398, 398, 481: 398, 398, 398, 487: 398, 491: 398, 398, 498: 398, 506: 398, 398, 398, 572: 398, 649: 398, 398, 652: 398},
- {397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 15: 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 475: 397, 397, 397, 481: 397, 397, 397, 487: 397, 491: 397, 397, 498: 397, 506: 397, 397, 397, 572: 397, 649: 397, 397, 652: 397},
- {396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 15: 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 475: 396, 396, 396, 481: 396, 396, 396, 487: 396, 491: 396, 396, 498: 396, 506: 396, 396, 396, 572: 396, 649: 396, 396, 652: 396},
+ {516: 4389, 524: 2103, 757: 4469},
+ {516: 4389, 524: 2103, 757: 4467},
+ {492: 2103, 516: 4389, 757: 4465},
+ {516: 4389, 524: 2103, 757: 4463},
+ {516: 4389, 524: 2103, 757: 4461},
// 1755
- {395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 15: 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 475: 395, 395, 395, 481: 395, 395, 395, 487: 395, 491: 395, 395, 498: 395, 506: 395, 395, 395, 572: 395, 649: 395, 395, 652: 395},
- {394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 15: 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 475: 394, 394, 394, 481: 394, 394, 394, 487: 394, 491: 394, 394, 498: 394, 506: 394, 394, 394, 572: 394, 649: 394, 394, 652: 394},
- {393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 15: 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 475: 393, 393, 393, 481: 393, 393, 393, 487: 393, 491: 393, 393, 498: 393, 506: 393, 393, 393, 572: 393, 649: 393, 393, 652: 393},
- {392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 15: 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 475: 392, 392, 392, 481: 392, 392, 392, 487: 392, 491: 392, 392, 498: 392, 506: 392, 392, 392, 572: 392, 649: 392, 392, 652: 392},
- {391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 15: 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 475: 391, 391, 391, 481: 391, 391, 391, 487: 391, 491: 391, 391, 498: 391, 506: 391, 391, 391, 572: 391, 649: 391, 391, 652: 391},
+ {492: 2103, 516: 4389, 757: 4459},
+ {492: 2103, 516: 4389, 757: 4457},
+ {516: 4389, 524: 2103, 757: 4455},
+ {516: 4389, 524: 2103, 757: 4453},
+ {448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 15: 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 490: 448, 448, 493: 448, 495: 448, 497: 448, 448, 448, 506: 448, 448, 513: 448, 448, 521: 448, 523: 448, 587: 448, 664: 448, 666: 448, 448},
// 1760
- {390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 15: 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 475: 390, 390, 390, 481: 390, 390, 390, 487: 390, 491: 390, 390, 498: 390, 506: 390, 390, 390, 572: 390, 649: 390, 390, 652: 390},
- {389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 15: 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 475: 389, 389, 389, 481: 389, 389, 389, 487: 389, 491: 389, 389, 498: 389, 506: 389, 389, 389, 572: 389, 649: 389, 389, 652: 389},
- {388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 15: 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 475: 388, 388, 388, 481: 388, 388, 388, 487: 388, 491: 388, 388, 498: 388, 506: 388, 388, 388, 572: 388, 649: 388, 388, 652: 388},
- {387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 15: 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 475: 387, 387, 387, 481: 387, 387, 387, 487: 387, 491: 387, 387, 498: 387, 506: 387, 387, 387, 572: 387, 649: 387, 387, 652: 387},
- {386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 15: 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 475: 386, 386, 386, 481: 386, 386, 386, 487: 386, 491: 386, 386, 498: 386, 506: 386, 386, 386, 572: 386, 649: 386, 386, 652: 386},
+ {495: 2103, 516: 4389, 524: 2103, 757: 4451},
+ {495: 2103, 516: 4389, 524: 2103, 757: 4448},
+ {495: 2103, 516: 4389, 524: 2103, 757: 4445},
+ {516: 4389, 524: 2103, 757: 4443},
+ {516: 4389, 524: 2103, 757: 4441},
// 1765
- {385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 15: 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 475: 385, 385, 385, 481: 385, 385, 385, 487: 385, 491: 385, 385, 498: 385, 506: 385, 385, 385, 572: 385, 649: 385, 385, 652: 385},
- {384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 15: 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 475: 384, 384, 384, 481: 384, 384, 384, 487: 384, 491: 384, 384, 498: 384, 506: 384, 384, 384, 572: 384, 649: 384, 384, 652: 384},
- {478: 4326, 1044: 4325},
- {411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 15: 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 475: 411, 411, 411, 481: 411, 411, 411, 487: 411, 491: 411, 411, 498: 411, 506: 411, 411, 411, 572: 411, 649: 411, 411, 652: 411},
- {11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 15: 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 475: 11, 11, 11, 481: 11, 11, 11, 487: 11, 491: 11, 11, 498: 11, 506: 11, 11, 11, 11, 572: 11, 649: 11, 11, 652: 11},
+ {516: 4389, 524: 2103, 592: 2103, 2103, 757: 4439},
+ {492: 2103, 516: 4389, 757: 4437},
+ {492: 2103, 516: 4389, 757: 4435},
+ {516: 4389, 524: 2103, 757: 4433},
+ {516: 4389, 524: 2103, 757: 4431},
// 1770
- {476: 4328},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 579, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 3948, 786: 4329, 1155: 4330},
- {578, 578, 9: 3950, 50: 578, 477: 578},
- {50: 4331},
- {412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 15: 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 475: 412, 412, 412, 481: 412, 412, 412, 487: 412, 491: 412, 412, 498: 412, 506: 412, 412, 412, 572: 412, 649: 412, 412, 652: 412},
+ {495: 2103, 516: 4389, 524: 2103, 757: 4427},
+ {2: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 10: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 57: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 492: 2103, 509: 2103, 516: 4389, 757: 4424},
+ {491: 2103, 516: 4389, 757: 4419},
+ {492: 2103, 516: 4389, 757: 4416},
+ {2: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 10: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 57: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 516: 4389, 757: 4410},
// 1775
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 495: 4333, 664: 3517, 2785, 2786, 2784, 742: 4334},
- {414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 15: 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 475: 414, 414, 414, 481: 414, 414, 414, 487: 414, 491: 414, 414, 498: 414, 506: 414, 414, 414, 572: 414, 649: 414, 414, 652: 414},
- {413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 15: 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 475: 413, 413, 413, 481: 413, 413, 413, 487: 413, 491: 413, 413, 498: 413, 506: 413, 413, 413, 572: 413, 649: 413, 413, 652: 413},
- {482: 4337, 511: 2759, 737: 2758, 745: 4338, 1147: 4336},
- {417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 15: 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 475: 417, 417, 417, 481: 417, 417, 417, 487: 417, 491: 417, 417, 498: 417, 506: 417, 417, 417, 572: 417, 649: 417, 417, 652: 417},
+ {492: 2103, 516: 4389, 757: 4408},
+ {492: 2103, 516: 4389, 757: 4406},
+ {419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 15: 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 490: 419, 419, 493: 419, 495: 419, 497: 419, 419, 419, 506: 419, 419, 513: 419, 419, 521: 419, 523: 419, 587: 419, 664: 419, 666: 419, 419},
+ {193: 2103, 218: 2103, 222: 2103, 254: 2103, 293: 2103, 308: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 495: 2103, 516: 4389, 757: 4390},
+ {2: 2102, 2102, 2102, 2102, 2102, 2102, 2102, 10: 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 57: 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 2102, 491: 2102, 2102, 495: 2102, 503: 2102, 2102, 507: 2102, 509: 2102, 521: 2102, 524: 2102, 548: 2102, 590: 2102, 2102, 2102, 2102},
// 1780
- {408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 15: 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 475: 408, 408, 408, 481: 408, 408, 408, 487: 408, 491: 408, 408, 498: 408, 506: 408, 408, 408, 572: 408, 649: 408, 408, 652: 408},
- {407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 15: 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 475: 407, 407, 407, 481: 407, 407, 407, 487: 407, 491: 407, 407, 498: 407, 506: 407, 407, 407, 572: 407, 649: 407, 407, 652: 407},
- {511: 2759, 737: 2758, 745: 4340},
- {418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 15: 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 475: 418, 418, 418, 481: 418, 418, 418, 487: 418, 491: 418, 418, 498: 418, 506: 418, 418, 418, 572: 418, 649: 418, 418, 652: 418},
- {511: 2759, 737: 2758, 745: 4342},
+ {193: 4393, 218: 4396, 222: 4392, 254: 4394, 293: 4395, 308: 4397, 4398, 4403, 4402, 4399, 4404, 4405, 4400, 4401, 495: 4391},
+ {413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 15: 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 490: 413, 413, 493: 413, 495: 413, 497: 413, 413, 413, 506: 413, 413, 513: 413, 413, 521: 413, 523: 413, 587: 413, 664: 413, 666: 413, 413},
+ {412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 15: 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 490: 412, 412, 493: 412, 495: 412, 497: 412, 412, 412, 506: 412, 412, 513: 412, 412, 521: 412, 523: 412, 587: 412, 664: 412, 666: 412, 412},
+ {411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 15: 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 490: 411, 411, 493: 411, 495: 411, 497: 411, 411, 411, 506: 411, 411, 513: 411, 411, 521: 411, 523: 411, 587: 411, 664: 411, 666: 411, 411},
+ {410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 15: 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 490: 410, 410, 493: 410, 495: 410, 497: 410, 410, 410, 506: 410, 410, 513: 410, 410, 521: 410, 523: 410, 587: 410, 664: 410, 666: 410, 410},
// 1785
- {419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 15: 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 475: 419, 419, 419, 481: 419, 419, 419, 487: 419, 491: 419, 419, 498: 419, 506: 419, 419, 419, 572: 419, 649: 419, 419, 652: 419},
- {478: 4344},
- {420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 15: 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 475: 420, 420, 420, 481: 420, 420, 420, 487: 420, 491: 420, 420, 498: 420, 506: 420, 420, 420, 572: 420, 649: 420, 420, 652: 420},
- {478: 4346},
- {421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 15: 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 475: 421, 421, 421, 481: 421, 421, 421, 487: 421, 491: 421, 421, 498: 421, 506: 421, 421, 421, 572: 421, 649: 421, 421, 652: 421},
+ {409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 15: 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 490: 409, 409, 493: 409, 495: 409, 497: 409, 409, 409, 506: 409, 409, 513: 409, 409, 521: 409, 523: 409, 587: 409, 664: 409, 666: 409, 409},
+ {408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 15: 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 490: 408, 408, 493: 408, 495: 408, 497: 408, 408, 408, 506: 408, 408, 513: 408, 408, 521: 408, 523: 408, 587: 408, 664: 408, 666: 408, 408},
+ {407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 15: 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 490: 407, 407, 493: 407, 495: 407, 497: 407, 407, 407, 506: 407, 407, 513: 407, 407, 521: 407, 523: 407, 587: 407, 664: 407, 666: 407, 407},
+ {406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 15: 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, 490: 406, 406, 493: 406, 495: 406, 497: 406, 406, 406, 506: 406, 406, 513: 406, 406, 521: 406, 523: 406, 587: 406, 664: 406, 666: 406, 406},
+ {405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 15: 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 490: 405, 405, 493: 405, 495: 405, 497: 405, 405, 405, 506: 405, 405, 513: 405, 405, 521: 405, 523: 405, 587: 405, 664: 405, 666: 405, 405},
// 1790
- {511: 3449, 576: 3451, 3450, 824: 4348},
- {422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 15: 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 475: 422, 422, 422, 481: 422, 422, 422, 487: 422, 491: 422, 422, 498: 422, 506: 422, 422, 422, 572: 422, 649: 422, 422, 652: 422},
- {511: 2759, 737: 2758, 745: 4350},
- {423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 15: 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 475: 423, 423, 423, 481: 423, 423, 423, 487: 423, 491: 423, 423, 498: 423, 506: 423, 423, 423, 572: 423, 649: 423, 423, 652: 423},
- {511: 2759, 737: 2758, 745: 4352},
+ {404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 15: 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 490: 404, 404, 493: 404, 495: 404, 497: 404, 404, 404, 506: 404, 404, 513: 404, 404, 521: 404, 523: 404, 587: 404, 664: 404, 666: 404, 404},
+ {403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 15: 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 490: 403, 403, 493: 403, 495: 403, 497: 403, 403, 403, 506: 403, 403, 513: 403, 403, 521: 403, 523: 403, 587: 403, 664: 403, 666: 403, 403},
+ {402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 15: 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 490: 402, 402, 493: 402, 495: 402, 497: 402, 402, 402, 506: 402, 402, 513: 402, 402, 521: 402, 523: 402, 587: 402, 664: 402, 666: 402, 402},
+ {401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 15: 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 490: 401, 401, 493: 401, 495: 401, 497: 401, 401, 401, 506: 401, 401, 513: 401, 401, 521: 401, 523: 401, 587: 401, 664: 401, 666: 401, 401},
+ {400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 15: 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 490: 400, 400, 493: 400, 495: 400, 497: 400, 400, 400, 506: 400, 400, 513: 400, 400, 521: 400, 523: 400, 587: 400, 664: 400, 666: 400, 400},
// 1795
- {424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 15: 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 475: 424, 424, 424, 481: 424, 424, 424, 487: 424, 491: 424, 424, 498: 424, 506: 424, 424, 424, 572: 424, 649: 424, 424, 652: 424},
- {482: 4355, 511: 2759, 737: 2758, 745: 4354},
- {426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 15: 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 475: 426, 426, 426, 481: 426, 426, 426, 487: 426, 491: 426, 426, 498: 426, 506: 426, 426, 426, 572: 426, 649: 426, 426, 652: 426},
- {425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 15: 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 475: 425, 425, 425, 481: 425, 425, 425, 487: 425, 491: 425, 425, 498: 425, 506: 425, 425, 425, 572: 425, 649: 425, 425, 652: 425},
- {482: 4358, 511: 2759, 737: 2758, 745: 4357},
+ {399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 15: 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 490: 399, 399, 493: 399, 495: 399, 497: 399, 399, 399, 506: 399, 399, 513: 399, 399, 521: 399, 523: 399, 587: 399, 664: 399, 666: 399, 399},
+ {492: 4407},
+ {426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 15: 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 490: 426, 426, 493: 426, 495: 426, 497: 426, 426, 426, 506: 426, 426, 513: 426, 426, 521: 426, 523: 426, 587: 426, 664: 426, 666: 426, 426},
+ {492: 4409},
+ {427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 15: 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 490: 427, 427, 493: 427, 495: 427, 497: 427, 427, 427, 506: 427, 427, 513: 427, 427, 521: 427, 523: 427, 587: 427, 664: 427, 666: 427, 427},
// 1800
- {428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 15: 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 475: 428, 428, 428, 481: 428, 428, 428, 487: 428, 491: 428, 428, 498: 428, 506: 428, 428, 428, 572: 428, 649: 428, 428, 652: 428},
- {427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 15: 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 475: 427, 427, 427, 481: 427, 427, 427, 487: 427, 491: 427, 427, 498: 427, 506: 427, 427, 427, 572: 427, 649: 427, 427, 652: 427},
- {482: 4337, 511: 2759, 737: 2758, 745: 4338, 1147: 4360},
- {429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 15: 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 475: 429, 429, 429, 481: 429, 429, 429, 487: 429, 491: 429, 429, 498: 429, 506: 429, 429, 429, 572: 429, 649: 429, 429, 652: 429},
- {511: 2759, 737: 2758, 745: 4362},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4411, 2843, 2844, 2842},
+ {503: 4412},
+ {598: 4413},
+ {492: 3338, 509: 3329, 524: 3333, 590: 3328, 3330, 3332, 3331, 595: 3336, 597: 3337, 613: 3335, 733: 4414, 3334},
+ {111: 3559, 3563, 114: 3556, 3571, 118: 3558, 121: 3555, 3557, 3561, 3562, 126: 3567, 3566, 3565, 3569, 3570, 3564, 3568, 134: 3560, 549: 3553, 3550, 3552, 3551, 3547, 3549, 3548, 3545, 3546, 3544, 3554, 812: 3543, 827: 4415},
// 1805
- {431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 15: 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 475: 431, 431, 431, 481: 431, 431, 431, 487: 431, 491: 431, 431, 498: 431, 506: 431, 431, 431, 572: 431, 649: 431, 431, 652: 431},
- {511: 2759, 737: 2758, 745: 4364},
- {432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 15: 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 475: 432, 432, 432, 481: 432, 432, 432, 487: 432, 491: 432, 432, 498: 432, 506: 432, 432, 432, 572: 432, 649: 432, 432, 652: 432},
- {478: 4366},
- {433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 15: 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 475: 433, 433, 433, 481: 433, 433, 433, 487: 433, 491: 433, 433, 498: 433, 506: 433, 433, 433, 572: 433, 649: 433, 433, 652: 433},
+ {428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 15: 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 490: 428, 428, 493: 428, 495: 428, 497: 428, 428, 428, 506: 428, 428, 513: 428, 428, 521: 428, 523: 428, 587: 428, 664: 428, 666: 428, 428},
+ {492: 4418, 1064: 4417},
+ {429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 15: 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 490: 429, 429, 493: 429, 495: 429, 497: 429, 429, 429, 506: 429, 429, 513: 429, 429, 521: 429, 523: 429, 587: 429, 664: 429, 666: 429, 429},
+ {12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 15: 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 490: 12, 12, 493: 12, 495: 12, 497: 12, 12, 12, 506: 12, 12, 513: 12, 12, 521: 12, 523: 12, 525: 12, 587: 12, 664: 12, 666: 12, 12},
+ {491: 4420},
// 1810
- {478: 4368},
- {434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 15: 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 475: 434, 434, 434, 481: 434, 434, 434, 487: 434, 491: 434, 434, 498: 434, 506: 434, 434, 434, 572: 434, 649: 434, 434, 652: 434},
- {511: 2759, 737: 2758, 745: 4370},
- {435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 15: 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 475: 435, 435, 435, 481: 435, 435, 435, 487: 435, 491: 435, 435, 498: 435, 506: 435, 435, 435, 572: 435, 649: 435, 435, 652: 435},
- {511: 2759, 737: 2758, 745: 4372},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 599, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4023, 803: 4421, 1178: 4422},
+ {598, 598, 9: 4025, 56: 598, 493: 598},
+ {56: 4423},
+ {430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 15: 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 490: 430, 430, 493: 430, 495: 430, 497: 430, 430, 430, 506: 430, 430, 513: 430, 430, 521: 430, 523: 430, 587: 430, 664: 430, 666: 430, 430},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 509: 4425, 685: 3590, 2843, 2844, 2842, 759: 4426},
// 1815
- {436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 15: 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 475: 436, 436, 436, 481: 436, 436, 436, 487: 436, 491: 436, 436, 498: 436, 506: 436, 436, 436, 572: 436, 649: 436, 436, 652: 436},
- {478: 4374},
- {437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 15: 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 475: 437, 437, 437, 481: 437, 437, 437, 487: 437, 491: 437, 437, 498: 437, 506: 437, 437, 437, 572: 437, 649: 437, 437, 652: 437},
- {511: 2759, 737: 2758, 745: 4376},
- {438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 15: 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 475: 438, 438, 438, 481: 438, 438, 438, 487: 438, 491: 438, 438, 498: 438, 506: 438, 438, 438, 572: 438, 649: 438, 438, 652: 438},
+ {432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 15: 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 490: 432, 432, 493: 432, 495: 432, 497: 432, 432, 432, 506: 432, 432, 513: 432, 432, 521: 432, 523: 432, 587: 432, 664: 432, 666: 432, 432},
+ {431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 15: 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, 490: 431, 431, 493: 431, 495: 431, 497: 431, 431, 431, 506: 431, 431, 513: 431, 431, 521: 431, 523: 431, 587: 431, 664: 431, 666: 431, 431},
+ {495: 4429, 524: 2817, 754: 2816, 761: 4430, 1170: 4428},
+ {435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 15: 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, 490: 435, 435, 493: 435, 495: 435, 497: 435, 435, 435, 506: 435, 435, 513: 435, 435, 521: 435, 523: 435, 587: 435, 664: 435, 666: 435, 435},
+ {423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 15: 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 490: 423, 423, 493: 423, 495: 423, 497: 423, 423, 423, 506: 423, 423, 513: 423, 423, 521: 423, 523: 423, 587: 423, 664: 423, 666: 423, 423},
// 1820
- {511: 2759, 737: 2758, 745: 4378},
- {440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 15: 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 475: 440, 440, 440, 481: 440, 440, 440, 487: 440, 491: 440, 440, 498: 440, 506: 440, 440, 440, 572: 440, 649: 440, 440, 652: 440},
- {502: 4307, 511: 2064, 741: 4383},
- {502: 4307, 511: 2064, 741: 4381},
- {511: 2759, 737: 2758, 745: 4382},
+ {422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 15: 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 490: 422, 422, 493: 422, 495: 422, 497: 422, 422, 422, 506: 422, 422, 513: 422, 422, 521: 422, 523: 422, 587: 422, 664: 422, 666: 422, 422},
+ {524: 2817, 754: 2816, 761: 4432},
+ {436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 15: 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 490: 436, 436, 493: 436, 495: 436, 497: 436, 436, 436, 506: 436, 436, 513: 436, 436, 521: 436, 523: 436, 587: 436, 664: 436, 666: 436, 436},
+ {524: 2817, 754: 2816, 761: 4434},
+ {437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 15: 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 490: 437, 437, 493: 437, 495: 437, 497: 437, 437, 437, 506: 437, 437, 513: 437, 437, 521: 437, 523: 437, 587: 437, 664: 437, 666: 437, 437},
// 1825
- {439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 15: 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 475: 439, 439, 439, 481: 439, 439, 439, 487: 439, 491: 439, 439, 498: 439, 506: 439, 439, 439, 572: 439, 649: 439, 439, 652: 439},
- {511: 2759, 737: 2758, 745: 4384},
- {441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 15: 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 475: 441, 441, 441, 481: 441, 441, 441, 487: 441, 491: 441, 441, 498: 441, 506: 441, 441, 441, 572: 441, 649: 441, 441, 652: 441},
- {2: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 10: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 51: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 478: 2064, 502: 4307, 533: 2064, 741: 4389},
- {2: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 10: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 51: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 478: 2064, 502: 4307, 533: 2064, 741: 4387},
+ {492: 4436},
+ {438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 15: 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 490: 438, 438, 493: 438, 495: 438, 497: 438, 438, 438, 506: 438, 438, 513: 438, 438, 521: 438, 523: 438, 587: 438, 664: 438, 666: 438, 438},
+ {492: 4438},
+ {439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 15: 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 490: 439, 439, 493: 439, 495: 439, 497: 439, 439, 439, 506: 439, 439, 513: 439, 439, 521: 439, 523: 439, 587: 439, 664: 439, 666: 439, 439},
+ {524: 3522, 592: 3524, 3523, 841: 4440},
// 1830
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 533: 3515, 664: 3517, 2785, 2786, 2784, 742: 3514, 876: 4388},
- {442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 15: 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 475: 442, 442, 442, 481: 442, 442, 442, 487: 442, 491: 442, 442, 498: 442, 506: 442, 442, 442, 572: 442, 649: 442, 442, 652: 442},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 533: 3787, 664: 3517, 2785, 2786, 2784, 742: 3786, 811: 4390},
- {443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 15: 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 475: 443, 443, 443, 481: 443, 443, 443, 487: 443, 491: 443, 443, 498: 443, 506: 443, 443, 443, 572: 443, 649: 443, 443, 652: 443},
- {511: 2759, 737: 2758, 745: 4392},
+ {440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 15: 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 490: 440, 440, 493: 440, 495: 440, 497: 440, 440, 440, 506: 440, 440, 513: 440, 440, 521: 440, 523: 440, 587: 440, 664: 440, 666: 440, 440},
+ {524: 2817, 754: 2816, 761: 4442},
+ {441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 15: 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 441, 490: 441, 441, 493: 441, 495: 441, 497: 441, 441, 441, 506: 441, 441, 513: 441, 441, 521: 441, 523: 441, 587: 441, 664: 441, 666: 441, 441},
+ {524: 2817, 754: 2816, 761: 4444},
+ {442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 15: 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, 490: 442, 442, 493: 442, 495: 442, 497: 442, 442, 442, 506: 442, 442, 513: 442, 442, 521: 442, 523: 442, 587: 442, 664: 442, 666: 442, 442},
// 1835
- {2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 15: 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 50: 2138, 475: 2138, 2138, 2138, 481: 2138, 2138, 2138, 487: 2138, 491: 2138, 2138, 498: 2138, 506: 2138, 2138, 2138, 572: 2138, 649: 2138, 2138, 652: 2138},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4394, 2785, 2786, 2784},
- {2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 15: 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 50: 2139, 475: 2139, 2139, 2139, 481: 2139, 2139, 2139, 487: 2139, 491: 2139, 2139, 498: 2139, 506: 2139, 2139, 2139, 572: 2139, 649: 2139, 2139, 652: 2139},
- {511: 2759, 737: 2758, 745: 4396},
- {2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 15: 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 2140, 50: 2140, 475: 2140, 2140, 2140, 481: 2140, 2140, 2140, 487: 2140, 491: 2140, 2140, 498: 2140, 506: 2140, 2140, 2140, 572: 2140, 649: 2140, 2140, 652: 2140},
+ {495: 4447, 524: 2817, 754: 2816, 761: 4446},
+ {444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 15: 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 490: 444, 444, 493: 444, 495: 444, 497: 444, 444, 444, 506: 444, 444, 513: 444, 444, 521: 444, 523: 444, 587: 444, 664: 444, 666: 444, 444},
+ {443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 15: 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 490: 443, 443, 493: 443, 495: 443, 497: 443, 443, 443, 506: 443, 443, 513: 443, 443, 521: 443, 523: 443, 587: 443, 664: 443, 666: 443, 443},
+ {495: 4450, 524: 2817, 754: 2816, 761: 4449},
+ {446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 15: 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 490: 446, 446, 493: 446, 495: 446, 497: 446, 446, 446, 506: 446, 446, 513: 446, 446, 521: 446, 523: 446, 587: 446, 664: 446, 666: 446, 446},
// 1840
- {511: 2759, 737: 2758, 745: 4398},
- {2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 15: 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 2141, 50: 2141, 475: 2141, 2141, 2141, 481: 2141, 2141, 2141, 487: 2141, 491: 2141, 2141, 498: 2141, 506: 2141, 2141, 2141, 572: 2141, 649: 2141, 2141, 652: 2141},
- {478: 2064, 502: 4307, 741: 4400},
- {478: 4401},
- {2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 15: 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 50: 2142, 475: 2142, 2142, 2142, 481: 2142, 2142, 2142, 487: 2142, 491: 2142, 2142, 498: 2142, 506: 2142, 2142, 2142, 572: 2142, 649: 2142, 2142, 652: 2142},
+ {445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 15: 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 490: 445, 445, 493: 445, 495: 445, 497: 445, 445, 445, 506: 445, 445, 513: 445, 445, 521: 445, 523: 445, 587: 445, 664: 445, 666: 445, 445},
+ {495: 4429, 524: 2817, 754: 2816, 761: 4430, 1170: 4452},
+ {447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 15: 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 490: 447, 447, 493: 447, 495: 447, 497: 447, 447, 447, 506: 447, 447, 513: 447, 447, 521: 447, 523: 447, 587: 447, 664: 447, 666: 447, 447},
+ {524: 2817, 754: 2816, 761: 4454},
+ {449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 15: 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 490: 449, 449, 493: 449, 495: 449, 497: 449, 449, 449, 506: 449, 449, 513: 449, 449, 521: 449, 523: 449, 587: 449, 664: 449, 666: 449, 449},
// 1845
- {478: 2064, 502: 4307, 741: 4403},
- {478: 4404},
- {2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 15: 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 2143, 50: 2143, 475: 2143, 2143, 2143, 481: 2143, 2143, 2143, 487: 2143, 491: 2143, 2143, 498: 2143, 506: 2143, 2143, 2143, 572: 2143, 649: 2143, 2143, 652: 2143},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 664: 3517, 2785, 2786, 2784, 742: 4406},
- {2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 15: 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 2144, 50: 2144, 475: 2144, 2144, 2144, 481: 2144, 2144, 2144, 487: 2144, 491: 2144, 2144, 498: 2144, 506: 2144, 2144, 2144, 572: 2144, 649: 2144, 2144, 652: 2144},
+ {524: 2817, 754: 2816, 761: 4456},
+ {450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 15: 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 490: 450, 450, 493: 450, 495: 450, 497: 450, 450, 450, 506: 450, 450, 513: 450, 450, 521: 450, 523: 450, 587: 450, 664: 450, 666: 450, 450},
+ {492: 4458},
+ {451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 15: 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 490: 451, 451, 493: 451, 495: 451, 497: 451, 451, 451, 506: 451, 451, 513: 451, 451, 521: 451, 523: 451, 587: 451, 664: 451, 666: 451, 451},
+ {492: 4460},
// 1850
- {2: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 10: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 51: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 478: 2064, 502: 4307, 741: 4410},
- {416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 15: 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 475: 416, 416, 416, 481: 416, 416, 416, 487: 416, 491: 416, 416, 498: 416, 506: 416, 416, 416, 572: 416, 649: 416, 416, 652: 416},
- {415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 15: 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 475: 415, 415, 415, 481: 415, 415, 415, 487: 415, 491: 415, 415, 498: 415, 506: 415, 415, 415, 572: 415, 649: 415, 415, 652: 415},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 664: 3517, 2785, 2786, 2784, 742: 4411},
- {2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 15: 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 50: 2145, 475: 2145, 2145, 2145, 481: 2145, 2145, 2145, 487: 2145, 491: 2145, 2145, 498: 2145, 506: 2145, 2145, 2145, 572: 2145, 649: 2145, 2145, 652: 2145},
+ {452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 15: 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 490: 452, 452, 493: 452, 495: 452, 497: 452, 452, 452, 506: 452, 452, 513: 452, 452, 521: 452, 523: 452, 587: 452, 664: 452, 666: 452, 452},
+ {524: 2817, 754: 2816, 761: 4462},
+ {453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 15: 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 490: 453, 453, 493: 453, 495: 453, 497: 453, 453, 453, 506: 453, 453, 513: 453, 453, 521: 453, 523: 453, 587: 453, 664: 453, 666: 453, 453},
+ {524: 2817, 754: 2816, 761: 4464},
+ {454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 15: 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 490: 454, 454, 493: 454, 495: 454, 497: 454, 454, 454, 506: 454, 454, 513: 454, 454, 521: 454, 523: 454, 587: 454, 664: 454, 666: 454, 454},
// 1855
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 664: 3517, 2785, 2786, 2784, 742: 4413},
- {2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 15: 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 2146, 50: 2146, 475: 2146, 2146, 2146, 481: 2146, 2146, 2146, 487: 2146, 491: 2146, 2146, 498: 2146, 506: 2146, 2146, 2146, 572: 2146, 649: 2146, 2146, 652: 2146},
- {478: 4415},
- {2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 15: 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 2147, 50: 2147, 475: 2147, 2147, 2147, 481: 2147, 2147, 2147, 487: 2147, 491: 2147, 2147, 498: 2147, 506: 2147, 2147, 2147, 572: 2147, 649: 2147, 2147, 652: 2147},
- {6: 4267, 4269, 410, 10: 4236, 15: 4286, 2193, 4284, 4223, 4288, 4275, 4304, 4268, 4271, 4270, 4273, 4274, 4276, 4283, 410, 4294, 4295, 4281, 4282, 4287, 4289, 4301, 4300, 4306, 4302, 4299, 4292, 4297, 4298, 4291, 4293, 4296, 4285, 72: 4238, 75: 4259, 4260, 84: 4261, 140: 4241, 185: 4230, 205: 4224, 207: 4245, 210: 4246, 221: 4240, 227: 4256, 240: 4234, 249: 4242, 255: 4237, 272: 4247, 280: 4243, 287: 4257, 4258, 292: 4225, 477: 4255, 482: 4266, 4303, 487: 2193, 500: 4262, 505: 4244, 4254, 508: 2193, 4227, 587: 4228, 593: 4233, 650: 2193, 652: 4272, 668: 4249, 672: 4235, 674: 4263, 683: 4248, 690: 4250, 693: 4229, 708: 4239, 785: 4277, 797: 4279, 818: 4278, 840: 4280, 843: 4290, 847: 4305, 874: 4253, 887: 4251, 924: 4226, 931: 4231, 994: 4417, 1146: 4232, 1174: 4252},
+ {492: 4466},
+ {455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 15: 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 455, 490: 455, 455, 493: 455, 495: 455, 497: 455, 455, 455, 506: 455, 455, 513: 455, 455, 521: 455, 523: 455, 587: 455, 664: 455, 666: 455, 455},
+ {524: 2817, 754: 2816, 761: 4468},
+ {456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 15: 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 490: 456, 456, 493: 456, 495: 456, 497: 456, 456, 456, 506: 456, 456, 513: 456, 456, 521: 456, 523: 456, 587: 456, 664: 456, 666: 456, 456},
+ {524: 2817, 754: 2816, 761: 4470},
// 1860
- {2429, 2429, 2429, 2429, 2429, 2429, 9: 2429, 491: 2429},
- {2443, 2443, 2443, 2443, 2443, 2443, 9: 2443, 491: 2443},
- {2442, 2442, 2442, 2442, 2442, 2442, 9: 2442, 491: 2442},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 482: 4421, 664: 4422, 2785, 2786, 2784},
- {2445, 2445, 2445, 2445, 2445, 2445, 9: 2445, 84: 2445, 491: 2445},
+ {458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 15: 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 490: 458, 458, 493: 458, 495: 458, 497: 458, 458, 458, 506: 458, 458, 513: 458, 458, 521: 458, 523: 458, 587: 458, 664: 458, 666: 458, 458},
+ {516: 4389, 524: 2103, 757: 4475},
+ {516: 4389, 524: 2103, 757: 4473},
+ {524: 2817, 754: 2816, 761: 4474},
+ {457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 15: 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 490: 457, 457, 493: 457, 495: 457, 497: 457, 457, 457, 506: 457, 457, 513: 457, 457, 521: 457, 523: 457, 587: 457, 664: 457, 666: 457, 457},
// 1865
- {2444, 2444, 2444, 2444, 2444, 2444, 9: 2444, 84: 2444, 491: 2444},
- {130: 4428, 243: 4425, 264: 4426, 266: 4427, 482: 4424},
- {2450, 2450, 2450, 2450, 2450, 2450, 9: 2450, 491: 2450, 500: 2450},
- {2449, 2449, 2449, 2449, 2449, 2449, 9: 2449, 491: 2449, 500: 2449},
- {2448, 2448, 2448, 2448, 2448, 2448, 9: 2448, 491: 2448, 500: 2448},
+ {524: 2817, 754: 2816, 761: 4476},
+ {459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 15: 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 490: 459, 459, 493: 459, 495: 459, 497: 459, 459, 459, 506: 459, 459, 513: 459, 459, 521: 459, 523: 459, 587: 459, 664: 459, 666: 459, 459},
+ {2: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 10: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 57: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 492: 2103, 516: 4389, 548: 2103, 757: 4481},
+ {2: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 10: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 57: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 492: 2103, 516: 4389, 548: 2103, 757: 4479},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 548: 3588, 685: 3590, 2843, 2844, 2842, 759: 3587, 894: 4480},
// 1870
- {2447, 2447, 2447, 2447, 2447, 2447, 9: 2447, 491: 2447, 500: 2447},
- {2446, 2446, 2446, 2446, 2446, 2446, 9: 2446, 491: 2446, 500: 2446},
- {2468, 2468, 2468, 2468, 2468, 2468, 9: 2468, 491: 2468},
- {2469, 2469, 2469, 2469, 2469, 2469, 9: 2469, 491: 2469},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4444, 2785, 2786, 2784},
+ {460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 15: 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 490: 460, 460, 493: 460, 495: 460, 497: 460, 460, 460, 506: 460, 460, 513: 460, 460, 521: 460, 523: 460, 587: 460, 664: 460, 666: 460, 460},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 548: 3860, 685: 3590, 2843, 2844, 2842, 759: 3859, 829: 4482},
+ {461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 15: 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 490: 461, 461, 493: 461, 495: 461, 497: 461, 461, 461, 506: 461, 461, 513: 461, 461, 521: 461, 523: 461, 587: 461, 664: 461, 666: 461, 461},
+ {524: 2817, 754: 2816, 761: 4484},
+ {2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 15: 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 56: 2177, 490: 2177, 2177, 493: 2177, 495: 2177, 497: 2177, 2177, 2177, 506: 2177, 2177, 513: 2177, 2177, 521: 2177, 523: 2177, 587: 2177, 664: 2177, 666: 2177, 2177},
// 1875
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 4443},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 4442},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 4441},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4438, 2785, 2786, 2784},
- {2: 2441, 2441, 2441, 2441, 2441, 2441, 2441, 10: 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 51: 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 476: 2441, 484: 2441, 497: 2441, 567: 2441},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4486, 2843, 2844, 2842},
+ {2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 15: 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 2178, 56: 2178, 490: 2178, 2178, 493: 2178, 495: 2178, 497: 2178, 2178, 2178, 506: 2178, 2178, 513: 2178, 2178, 521: 2178, 523: 2178, 587: 2178, 664: 2178, 666: 2178, 2178},
+ {524: 2817, 754: 2816, 761: 4488},
+ {2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 15: 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 2179, 56: 2179, 490: 2179, 2179, 493: 2179, 495: 2179, 497: 2179, 2179, 2179, 506: 2179, 2179, 513: 2179, 2179, 521: 2179, 523: 2179, 587: 2179, 664: 2179, 666: 2179, 2179},
+ {524: 2817, 754: 2816, 761: 4490},
// 1880
- {2: 2440, 2440, 2440, 2440, 2440, 2440, 2440, 10: 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 51: 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 476: 2440, 484: 2440, 497: 2440, 567: 2440},
- {653: 4439},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4440, 2785, 2786, 2784},
- {2474, 2474, 2474, 2474, 2474, 2474, 9: 2474, 491: 2474},
- {2475, 2475, 2475, 2475, 2475, 2475, 9: 2475, 491: 2475},
+ {2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 15: 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 2180, 56: 2180, 490: 2180, 2180, 493: 2180, 495: 2180, 497: 2180, 2180, 2180, 506: 2180, 2180, 513: 2180, 2180, 521: 2180, 523: 2180, 587: 2180, 664: 2180, 666: 2180, 2180},
+ {492: 2103, 516: 4389, 757: 4492},
+ {492: 4493},
+ {2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 15: 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 56: 2181, 490: 2181, 2181, 493: 2181, 495: 2181, 497: 2181, 2181, 2181, 506: 2181, 2181, 513: 2181, 2181, 521: 2181, 523: 2181, 587: 2181, 664: 2181, 666: 2181, 2181},
+ {492: 2103, 516: 4389, 757: 4495},
// 1885
- {2476, 2476, 2476, 2476, 2476, 2476, 9: 2476, 491: 2476},
- {2477, 2477, 2477, 2477, 2477, 2477, 9: 2477, 491: 2477},
- {653: 4445},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4446, 2785, 2786, 2784},
- {2478, 2478, 2478, 2478, 2478, 2478, 9: 2478, 491: 2478},
+ {492: 4496},
+ {2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 15: 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 56: 2182, 490: 2182, 2182, 493: 2182, 495: 2182, 497: 2182, 2182, 2182, 506: 2182, 2182, 513: 2182, 2182, 521: 2182, 523: 2182, 587: 2182, 664: 2182, 666: 2182, 2182},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 685: 3590, 2843, 2844, 2842, 759: 4498},
+ {2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 15: 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 2183, 56: 2183, 490: 2183, 2183, 493: 2183, 495: 2183, 497: 2183, 2183, 2183, 506: 2183, 2183, 513: 2183, 2183, 521: 2183, 523: 2183, 587: 2183, 664: 2183, 666: 2183, 2183},
+ {2: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 10: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 57: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 492: 2103, 516: 4389, 757: 4502},
// 1890
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4462},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4457, 2785, 2786, 2784},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4453, 2785, 2786, 2784},
- {2: 2436, 2436, 2436, 2436, 2436, 2436, 2436, 10: 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 51: 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 476: 2436, 567: 2436},
- {2: 452, 452, 452, 452, 452, 452, 452, 10: 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 51: 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452},
+ {434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 15: 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 490: 434, 434, 493: 434, 495: 434, 497: 434, 434, 434, 506: 434, 434, 513: 434, 434, 521: 434, 523: 434, 587: 434, 664: 434, 666: 434, 434},
+ {433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 15: 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 490: 433, 433, 493: 433, 495: 433, 497: 433, 433, 433, 506: 433, 433, 513: 433, 433, 521: 433, 523: 433, 587: 433, 664: 433, 666: 433, 433},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 685: 3590, 2843, 2844, 2842, 759: 4503},
+ {2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 15: 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 2184, 56: 2184, 490: 2184, 2184, 493: 2184, 495: 2184, 497: 2184, 2184, 2184, 506: 2184, 2184, 513: 2184, 2184, 521: 2184, 523: 2184, 587: 2184, 664: 2184, 666: 2184, 2184},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 685: 3590, 2843, 2844, 2842, 759: 4505},
// 1895
- {2: 451, 451, 451, 451, 451, 451, 451, 10: 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 51: 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451},
- {87: 4456, 90: 4455, 860: 4454},
- {2463, 2463, 2463, 2463, 2463, 2463, 9: 2463, 491: 2463},
- {1851, 1851, 1851, 1851, 1851, 1851, 1851, 9: 1851, 19: 1851, 50: 1851, 84: 1851, 1851, 1851, 1851, 1851, 90: 1851, 477: 1851, 484: 1851, 491: 1851, 500: 1851},
- {1850, 1850, 1850, 1850, 1850, 1850, 1850, 9: 1850, 19: 1850, 50: 1850, 84: 1850, 1850, 1850, 1850, 1850, 90: 1850, 477: 1850, 484: 1850, 491: 1850, 500: 1850},
+ {2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 15: 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 2185, 56: 2185, 490: 2185, 2185, 493: 2185, 495: 2185, 497: 2185, 2185, 2185, 506: 2185, 2185, 513: 2185, 2185, 521: 2185, 523: 2185, 587: 2185, 664: 2185, 666: 2185, 2185},
+ {492: 4507},
+ {2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 15: 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 2186, 56: 2186, 490: 2186, 2186, 493: 2186, 495: 2186, 497: 2186, 2186, 2186, 506: 2186, 2186, 513: 2186, 2186, 521: 2186, 523: 2186, 587: 2186, 664: 2186, 666: 2186, 2186},
+ {6: 4346, 4348, 425, 10: 4315, 15: 4365, 2232, 4363, 4302, 4367, 4354, 4383, 4347, 4350, 4349, 4352, 4353, 4355, 4362, 425, 4373, 4374, 4384, 4360, 4361, 4366, 4368, 4380, 4379, 4388, 4381, 4378, 4371, 4376, 4377, 4370, 4372, 4375, 4364, 4385, 4386, 78: 4317, 81: 4338, 4339, 90: 4340, 151: 4320, 196: 4309, 217: 4303, 220: 4324, 223: 4325, 233: 4319, 239: 4335, 253: 4313, 261: 4321, 267: 4316, 284: 4326, 292: 4322, 299: 4336, 4337, 304: 4304, 493: 4334, 495: 4345, 498: 2232, 4382, 513: 2232, 517: 4341, 522: 4323, 4333, 525: 4306, 603: 4307, 606: 4312, 666: 2232, 4351, 681: 4328, 689: 4314, 691: 4342, 700: 4327, 707: 4329, 710: 4308, 725: 4318, 802: 4356, 815: 4358, 836: 4357, 857: 4359, 860: 4369, 864: 4387, 892: 4332, 906: 4330, 942: 4305, 949: 4310, 1013: 4509, 1169: 4311, 1197: 4331},
+ {2473, 2473, 2473, 2473, 2473, 2473, 9: 2473, 506: 2473},
// 1900
- {152: 4459, 479: 4115, 4114, 815: 4460, 939: 4458},
- {2465, 2465, 2465, 2465, 2465, 2465, 9: 2465, 491: 2465},
- {2329, 2329, 2329, 2329, 2329, 2329, 2329, 2329, 2329, 2329, 2329, 2329, 2329, 2329, 2329, 50: 2329, 475: 2329, 479: 2329, 2329, 2329, 2329, 487: 2329, 491: 2329, 495: 2329, 584: 2329, 593: 2329, 2329, 645: 2329, 2329, 2329, 2329},
- {152: 4461},
- {2328, 2328, 2328, 2328, 2328, 2328, 2328, 2328, 2328, 2328, 2328, 2328, 2328, 2328, 2328, 50: 2328, 475: 2328, 479: 2328, 2328, 2328, 2328, 487: 2328, 491: 2328, 495: 2328, 584: 2328, 593: 2328, 2328, 645: 2328, 2328, 2328, 2328},
+ {2487, 2487, 2487, 2487, 2487, 2487, 9: 2487, 506: 2487},
+ {2486, 2486, 2486, 2486, 2486, 2486, 9: 2486, 506: 2486},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 495: 4513, 685: 4514, 2843, 2844, 2842},
+ {2489, 2489, 2489, 2489, 2489, 2489, 9: 2489, 90: 2489, 506: 2489},
+ {2488, 2488, 2488, 2488, 2488, 2488, 9: 2488, 90: 2488, 506: 2488},
// 1905
- {509: 4463, 672: 4464},
- {482: 4466},
- {482: 4465},
- {2479, 2479, 2479, 2479, 2479, 2479, 9: 2479, 491: 2479},
- {476: 4468, 478: 3265, 488: 4470, 4471, 495: 3256, 511: 3260, 574: 3255, 3257, 3259, 3258, 579: 3263, 583: 3264, 595: 3262, 716: 4469, 3261, 1142: 4467},
+ {141: 4520, 256: 4517, 276: 4518, 278: 4519, 495: 4516},
+ {2494, 2494, 2494, 2494, 2494, 2494, 9: 2494, 506: 2494, 517: 2494},
+ {2493, 2493, 2493, 2493, 2493, 2493, 9: 2493, 506: 2493, 517: 2493},
+ {2492, 2492, 2492, 2492, 2492, 2492, 9: 2492, 506: 2492, 517: 2492},
+ {2491, 2491, 2491, 2491, 2491, 2491, 9: 2491, 506: 2491, 517: 2491},
// 1910
- {2481, 2481, 2481, 2481, 2481, 2481, 9: 2481, 491: 2481},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4474},
- {2242, 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2242, 50: 2242, 475: 2242, 479: 2242, 2242, 2242, 2242, 487: 2242, 491: 2242, 495: 2242, 584: 2242, 593: 2242, 2242, 645: 2242, 2242, 2242, 2242},
- {511: 3449, 576: 3451, 3450, 824: 4473},
- {511: 3449, 576: 3451, 3450, 824: 4472},
+ {2490, 2490, 2490, 2490, 2490, 2490, 9: 2490, 506: 2490, 517: 2490},
+ {2512, 2512, 2512, 2512, 2512, 2512, 9: 2512, 506: 2512},
+ {2513, 2513, 2513, 2513, 2513, 2513, 9: 2513, 506: 2513},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4536, 2843, 2844, 2842},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4535},
// 1915
- {2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 50: 2240, 475: 2240, 479: 2240, 2240, 2240, 2240, 487: 2240, 491: 2240, 495: 2240, 584: 2240, 593: 2240, 2240, 645: 2240, 2240, 2240, 2240},
- {2241, 2241, 2241, 2241, 2241, 2241, 2241, 2241, 2241, 2241, 2241, 2241, 2241, 2241, 2241, 50: 2241, 475: 2241, 479: 2241, 2241, 2241, 2241, 487: 2241, 491: 2241, 495: 2241, 584: 2241, 593: 2241, 2241, 645: 2241, 2241, 2241, 2241},
- {50: 4475, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2480, 2480, 2480, 2480, 2480, 2480, 9: 2480, 491: 2480},
- {2: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 10: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 51: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 567: 4478, 784: 4477},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4534},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4533},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4530, 2843, 2844, 2842},
+ {2: 2485, 2485, 2485, 2485, 2485, 2485, 2485, 10: 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 57: 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 491: 2485, 500: 2485, 512: 2485, 582: 2485},
+ {2: 2484, 2484, 2484, 2484, 2484, 2484, 2484, 10: 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 57: 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 491: 2484, 500: 2484, 512: 2484, 582: 2484},
// 1920
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4480},
- {586: 4479},
- {1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 51: 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 478: 1876, 491: 1876, 573: 1876},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4482, 853: 4481},
- {2435, 2435, 2435, 2435, 2435, 2435, 9: 2435, 4757, 4758, 491: 2435, 934: 4756},
+ {669: 4531},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4532, 2843, 2844, 2842},
+ {2518, 2518, 2518, 2518, 2518, 2518, 9: 2518, 506: 2518},
+ {2519, 2519, 2519, 2519, 2519, 2519, 9: 2519, 506: 2519},
+ {2520, 2520, 2520, 2520, 2520, 2520, 9: 2520, 506: 2520},
// 1925
- {12: 4484, 105: 4532, 110: 4533, 173: 4523, 180: 4543, 4542, 4508, 202: 4545, 226: 4544, 233: 4505, 318: 4512, 4504, 340: 4521, 362: 4528, 4527, 366: 4531, 402: 4539, 508: 4526, 4522, 533: 4517, 650: 4525, 681: 4530, 4529, 684: 4506, 4511, 4509, 4502, 4496, 4510, 692: 4518, 694: 4503, 4535, 4497, 4498, 4499, 4500, 4501, 4524, 4537, 4541, 4536, 4495, 4540, 4507, 709: 4494, 4534, 4493, 4538, 906: 4513, 1166: 4515, 1191: 4492, 4519, 4489, 1211: 4487, 1226: 4490, 4491, 1245: 4488, 1263: 4514, 1265: 4485, 4516, 1324: 4486, 1336: 4520, 1339: 4483, 1364: 4546},
- {2289, 2289, 2289, 2289, 2289, 2289, 4626, 4632, 4620, 2289, 2289, 2289, 4624, 4633, 4631, 50: 2289, 475: 4625, 479: 4115, 4114, 2296, 4623, 487: 4630, 491: 2289, 495: 4619, 584: 2333, 593: 2426, 4617, 645: 4622, 4615, 4637, 4634, 815: 4618, 837: 4627, 915: 4629, 933: 4635, 942: 4628, 961: 4621, 1007: 4636, 4755},
- {2289, 2289, 2289, 2289, 2289, 2289, 4626, 4632, 4620, 2289, 2289, 2289, 4624, 4633, 4631, 50: 2289, 475: 4625, 479: 4115, 4114, 2296, 4623, 487: 4630, 491: 2289, 495: 4619, 584: 2333, 593: 2426, 4617, 645: 4622, 4615, 4637, 4634, 815: 4618, 837: 4627, 915: 4629, 933: 4635, 942: 4628, 961: 4621, 1007: 4636, 4616},
- {383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 50: 383, 475: 383, 479: 383, 383, 383, 383, 487: 383, 491: 383, 495: 383, 584: 383, 593: 383, 383, 645: 383, 383, 383, 383},
- {382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 50: 382, 475: 382, 479: 382, 382, 382, 382, 487: 382, 491: 382, 495: 382, 584: 382, 593: 382, 382, 645: 382, 382, 382, 382},
+ {2521, 2521, 2521, 2521, 2521, 2521, 9: 2521, 506: 2521},
+ {669: 4537},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4538, 2843, 2844, 2842},
+ {2522, 2522, 2522, 2522, 2522, 2522, 9: 2522, 506: 2522},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4554},
// 1930
- {381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 50: 381, 475: 381, 479: 381, 381, 381, 381, 487: 381, 491: 381, 495: 381, 584: 381, 593: 381, 381, 645: 381, 381, 381, 381},
- {298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 50: 298, 52: 298, 475: 298, 3852, 479: 298, 298, 298, 298, 487: 298, 491: 298, 495: 298, 584: 298, 593: 298, 298, 645: 298, 298, 298, 298, 744: 298, 747: 298, 768: 3853, 794: 4613},
- {293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 50: 293, 52: 293, 475: 293, 479: 293, 293, 293, 293, 487: 293, 491: 293, 495: 293, 584: 293, 593: 293, 293, 645: 293, 293, 293, 293, 744: 293, 747: 293, 880: 4612},
- {291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 50: 291, 52: 291, 475: 291, 3839, 479: 291, 291, 291, 291, 487: 291, 491: 291, 495: 291, 584: 291, 593: 291, 291, 645: 291, 291, 291, 291, 744: 291, 747: 291, 768: 3840, 909: 4610, 914: 3841},
- {291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 50: 291, 52: 291, 475: 291, 3839, 479: 291, 291, 291, 291, 487: 291, 491: 291, 495: 291, 584: 291, 593: 291, 291, 645: 291, 291, 291, 291, 744: 291, 747: 291, 768: 3840, 909: 4608, 914: 3841},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4549, 2843, 2844, 2842},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4545, 2843, 2844, 2842},
+ {2: 2480, 2480, 2480, 2480, 2480, 2480, 2480, 10: 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 57: 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 2480, 491: 2480, 582: 2480},
+ {2: 470, 470, 470, 470, 470, 470, 470, 10: 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 57: 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470},
+ {2: 469, 469, 469, 469, 469, 469, 469, 10: 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 57: 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469},
// 1935
- {298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 50: 298, 475: 298, 3852, 479: 298, 298, 298, 298, 487: 298, 491: 298, 495: 298, 584: 298, 593: 298, 298, 645: 298, 298, 298, 298, 768: 3853, 794: 4607},
- {375, 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, 50: 375, 52: 375, 475: 375, 375, 479: 375, 375, 375, 375, 487: 375, 491: 375, 495: 375, 584: 375, 593: 375, 375, 645: 375, 375, 375, 375, 744: 375, 747: 375},
- {374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 50: 374, 52: 374, 475: 374, 374, 479: 374, 374, 374, 374, 487: 374, 491: 374, 495: 374, 584: 374, 593: 374, 374, 645: 374, 374, 374, 374, 744: 374, 747: 374},
- {373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 50: 373, 52: 373, 475: 373, 373, 479: 373, 373, 373, 373, 487: 373, 491: 373, 495: 373, 584: 373, 593: 373, 373, 645: 373, 373, 373, 373, 744: 373, 747: 373},
- {372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 50: 372, 52: 372, 475: 372, 372, 479: 372, 372, 372, 372, 487: 372, 491: 372, 495: 372, 584: 372, 593: 372, 372, 645: 372, 372, 372, 372, 744: 372, 747: 372},
+ {93: 4548, 96: 4547, 877: 4546},
+ {2507, 2507, 2507, 2507, 2507, 2507, 9: 2507, 506: 2507},
+ {1888, 1888, 1888, 1888, 1888, 1888, 1888, 9: 1888, 19: 1888, 56: 1888, 90: 1888, 1888, 1888, 1888, 1888, 96: 1888, 493: 1888, 500: 1888, 506: 1888, 517: 1888},
+ {1887, 1887, 1887, 1887, 1887, 1887, 1887, 9: 1887, 19: 1887, 56: 1887, 90: 1887, 1887, 1887, 1887, 1887, 96: 1887, 493: 1887, 500: 1887, 506: 1887, 517: 1887},
+ {163: 4551, 494: 4190, 496: 4189, 833: 4552, 958: 4550},
// 1940
- {371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 50: 371, 52: 371, 475: 371, 371, 479: 371, 371, 371, 371, 487: 371, 491: 371, 495: 371, 584: 371, 593: 371, 371, 645: 371, 371, 371, 371, 744: 371, 747: 371},
- {370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 50: 370, 52: 370, 475: 370, 370, 479: 370, 370, 370, 370, 487: 370, 491: 370, 495: 370, 584: 370, 593: 370, 370, 645: 370, 370, 370, 370, 744: 370, 747: 370},
- {369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 50: 369, 52: 369, 475: 369, 369, 479: 369, 369, 369, 369, 487: 369, 491: 369, 495: 369, 584: 369, 593: 369, 369, 645: 369, 369, 369, 369, 744: 369, 747: 369},
- {368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 50: 368, 52: 368, 475: 368, 368, 479: 368, 368, 368, 368, 487: 368, 491: 368, 495: 368, 584: 368, 593: 368, 368, 645: 368, 368, 368, 368, 744: 368, 747: 368},
- {367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 50: 367, 52: 367, 475: 367, 367, 479: 367, 367, 367, 367, 487: 367, 491: 367, 495: 367, 584: 367, 593: 367, 367, 645: 367, 367, 367, 367, 744: 367, 747: 367},
+ {2509, 2509, 2509, 2509, 2509, 2509, 9: 2509, 506: 2509},
+ {2373, 2373, 2373, 2373, 2373, 2373, 2373, 2373, 2373, 2373, 2373, 2373, 2373, 2373, 2373, 56: 2373, 490: 2373, 494: 2373, 2373, 2373, 2373, 2373, 506: 2373, 509: 2373, 599: 2373, 606: 2373, 612: 2373, 661: 2373, 2373, 2373, 665: 2373},
+ {163: 4553},
+ {2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 56: 2372, 490: 2372, 494: 2372, 2372, 2372, 2372, 2372, 506: 2372, 509: 2372, 599: 2372, 606: 2372, 612: 2372, 661: 2372, 2372, 2372, 665: 2372},
+ {525: 4555, 689: 4556},
// 1945
- {366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 50: 366, 52: 366, 475: 366, 366, 479: 366, 366, 366, 366, 487: 366, 491: 366, 495: 366, 584: 366, 593: 366, 366, 645: 366, 366, 366, 366, 744: 366, 747: 366},
- {365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 50: 365, 52: 365, 475: 365, 365, 479: 365, 365, 365, 365, 487: 365, 491: 365, 495: 365, 584: 365, 593: 365, 365, 645: 365, 365, 365, 365, 744: 365, 747: 365},
- {364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 50: 364, 52: 364, 475: 364, 479: 364, 364, 364, 364, 487: 364, 491: 364, 495: 364, 584: 364, 593: 364, 364, 645: 364, 364, 364, 364, 744: 364, 747: 364},
- {363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 50: 363, 52: 363, 475: 363, 479: 363, 363, 363, 363, 487: 363, 491: 363, 495: 363, 584: 363, 593: 363, 363, 645: 363, 363, 363, 363, 744: 363, 747: 363},
- {359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 50: 359, 52: 359, 475: 359, 359, 479: 359, 359, 359, 359, 487: 359, 491: 359, 495: 359, 584: 359, 593: 359, 359, 645: 359, 359, 359, 359, 744: 359, 747: 359},
+ {495: 4558},
+ {495: 4557},
+ {2523, 2523, 2523, 2523, 2523, 2523, 9: 2523, 506: 2523},
+ {491: 4560, 3338, 503: 4562, 4563, 509: 3329, 524: 3333, 590: 3328, 3330, 3332, 3331, 595: 3336, 597: 3337, 613: 3335, 733: 4561, 3334, 1165: 4559},
+ {2525, 2525, 2525, 2525, 2525, 2525, 9: 2525, 506: 2525},
// 1950
- {358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 50: 358, 52: 358, 475: 358, 358, 479: 358, 358, 358, 358, 487: 358, 491: 358, 495: 358, 584: 358, 593: 358, 358, 645: 358, 358, 358, 358, 744: 358, 747: 358},
- {357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 50: 357, 52: 357, 475: 357, 357, 479: 357, 357, 357, 357, 487: 357, 491: 357, 495: 357, 584: 357, 593: 357, 357, 645: 357, 357, 357, 357, 744: 357, 747: 357},
- {356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 50: 356, 52: 356, 475: 356, 356, 479: 356, 356, 356, 356, 487: 356, 491: 356, 495: 356, 584: 356, 593: 356, 356, 645: 356, 356, 356, 356, 744: 356, 747: 356},
- {355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 50: 355, 52: 355, 475: 355, 355, 479: 355, 355, 355, 355, 487: 355, 491: 355, 495: 355, 584: 355, 593: 355, 355, 645: 355, 355, 355, 355, 744: 355, 747: 355},
- {354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 50: 354, 52: 354, 475: 354, 354, 479: 354, 354, 354, 354, 487: 354, 491: 354, 495: 354, 584: 354, 593: 354, 354, 645: 354, 354, 354, 354, 744: 354, 747: 354, 1289: 4606},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4566},
+ {2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 56: 2282, 490: 2282, 494: 2282, 2282, 2282, 2282, 2282, 506: 2282, 509: 2282, 599: 2282, 606: 2282, 612: 2282, 661: 2282, 2282, 2282, 665: 2282},
+ {524: 3522, 592: 3524, 3523, 841: 4565},
+ {524: 3522, 592: 3524, 3523, 841: 4564},
+ {2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 56: 2280, 490: 2280, 494: 2280, 2280, 2280, 2280, 2280, 506: 2280, 509: 2280, 599: 2280, 606: 2280, 612: 2280, 661: 2280, 2280, 2280, 665: 2280},
// 1955
- {352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 50: 352, 475: 352, 352, 479: 352, 352, 352, 352, 487: 352, 491: 352, 495: 352, 584: 352, 593: 352, 352, 645: 352, 352, 352, 352},
- {285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 16: 3862, 50: 285, 475: 285, 3852, 479: 285, 285, 285, 285, 487: 285, 491: 285, 495: 285, 508: 3863, 533: 3859, 584: 285, 593: 285, 285, 645: 285, 285, 285, 285, 650: 3861, 768: 4603, 779: 3860, 803: 4604},
- {285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 16: 3862, 50: 285, 475: 285, 3852, 479: 285, 285, 285, 285, 487: 285, 491: 285, 495: 285, 508: 3863, 533: 3859, 584: 285, 593: 285, 285, 645: 285, 285, 285, 285, 650: 3861, 768: 4600, 779: 3860, 803: 4601},
- {476: 3852, 768: 4598},
- {476: 3852, 768: 4596},
+ {2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 56: 2281, 490: 2281, 494: 2281, 2281, 2281, 2281, 2281, 506: 2281, 509: 2281, 599: 2281, 606: 2281, 612: 2281, 661: 2281, 2281, 2281, 665: 2281},
+ {56: 4567, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2524, 2524, 2524, 2524, 2524, 2524, 9: 2524, 506: 2524},
+ {2: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 10: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 57: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 582: 4570, 799: 4569},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4572},
// 1960
- {298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 50: 298, 475: 298, 3852, 479: 298, 298, 298, 298, 487: 298, 491: 298, 495: 298, 584: 298, 593: 298, 298, 645: 298, 298, 298, 298, 768: 3853, 794: 4595},
- {476: 3852, 768: 4594},
- {343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 50: 343, 475: 343, 479: 343, 343, 343, 343, 487: 343, 491: 343, 495: 343, 584: 343, 593: 343, 343, 645: 343, 343, 343, 343},
- {285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 16: 3862, 50: 285, 107: 4575, 4577, 111: 4576, 475: 285, 479: 285, 285, 285, 285, 487: 285, 491: 285, 495: 285, 508: 3863, 533: 3859, 584: 285, 593: 285, 285, 645: 285, 285, 285, 285, 650: 3861, 779: 3860, 803: 4574, 888: 4593},
- {476: 4589},
+ {602: 4571},
+ {1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 57: 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 492: 1913, 506: 1913, 589: 1913},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4574, 870: 4573},
+ {2479, 2479, 2479, 2479, 2479, 2479, 9: 2479, 4854, 4855, 506: 2479, 952: 4853},
+ {12: 4576, 112: 4624, 115: 4625, 184: 4615, 191: 4635, 4634, 4600, 214: 4637, 238: 4636, 245: 4597, 331: 4604, 4596, 352: 4613, 373: 4620, 4619, 378: 4623, 415: 4631, 513: 4618, 525: 4614, 548: 4609, 666: 4617, 698: 4622, 4621, 701: 4598, 4603, 4601, 4594, 4588, 4602, 709: 4610, 711: 4595, 4627, 4589, 4590, 4591, 4592, 4593, 4616, 4629, 4633, 4628, 4587, 4632, 4599, 726: 4586, 4626, 4585, 4630, 924: 4605, 1189: 4607, 1215: 4584, 4611, 4581, 1234: 4579, 1249: 4582, 4583, 1268: 4580, 1286: 4606, 1288: 4577, 4608, 1347: 4578, 1359: 4612, 1362: 4575, 1387: 4638},
// 1965
- {476: 4579},
- {339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 50: 339, 475: 339, 479: 339, 339, 339, 339, 487: 339, 491: 339, 495: 339, 584: 339, 593: 339, 339, 645: 339, 339, 339, 339},
- {285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 16: 3862, 50: 285, 107: 4575, 4577, 111: 4576, 475: 285, 479: 285, 285, 285, 285, 487: 285, 491: 285, 495: 285, 508: 4572, 533: 3859, 584: 285, 593: 285, 285, 645: 285, 285, 285, 285, 650: 4571, 681: 4530, 4529, 692: 4573, 779: 3860, 803: 4574, 888: 4570, 1166: 4569},
- {336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 16: 336, 50: 336, 475: 336, 336, 479: 336, 336, 336, 336, 487: 336, 491: 336, 495: 336, 508: 336, 533: 336, 584: 336, 593: 336, 336, 645: 336, 336, 336, 336, 650: 336, 848: 4568},
- {335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 16: 335, 50: 335, 475: 335, 335, 479: 335, 335, 335, 335, 487: 335, 491: 335, 495: 335, 508: 335, 533: 335, 584: 335, 593: 335, 335, 645: 335, 335, 335, 335, 650: 335, 848: 4567},
+ {2333, 2333, 2333, 2333, 2333, 2333, 4718, 4724, 4712, 2333, 2333, 2333, 4716, 4725, 4723, 56: 2333, 490: 4717, 494: 4190, 4715, 4189, 2340, 4722, 506: 2333, 509: 4711, 599: 2377, 606: 2470, 612: 4709, 661: 4714, 4707, 4729, 665: 4726, 833: 4710, 854: 4719, 933: 4721, 951: 4727, 961: 4720, 979: 4713, 1026: 4728, 4852},
+ {2333, 2333, 2333, 2333, 2333, 2333, 4718, 4724, 4712, 2333, 2333, 2333, 4716, 4725, 4723, 56: 2333, 490: 4717, 494: 4190, 4715, 4189, 2340, 4722, 506: 2333, 509: 4711, 599: 2377, 606: 2470, 612: 4709, 661: 4714, 4707, 4729, 665: 4726, 833: 4710, 854: 4719, 933: 4721, 951: 4727, 961: 4720, 979: 4713, 1026: 4728, 4708},
+ {398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 56: 398, 490: 398, 494: 398, 398, 398, 398, 398, 506: 398, 509: 398, 599: 398, 606: 398, 612: 398, 661: 398, 398, 398, 665: 398},
+ {397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 56: 397, 490: 397, 494: 397, 397, 397, 397, 397, 506: 397, 509: 397, 599: 397, 606: 397, 612: 397, 661: 397, 397, 397, 665: 397},
+ {396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 56: 396, 490: 396, 494: 396, 396, 396, 396, 396, 506: 396, 509: 396, 599: 396, 606: 396, 612: 396, 661: 396, 396, 396, 665: 396},
// 1970
- {334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 16: 334, 50: 334, 475: 334, 334, 479: 334, 334, 334, 334, 487: 334, 491: 334, 495: 334, 508: 334, 533: 334, 584: 334, 593: 334, 334, 645: 334, 334, 334, 334, 650: 334, 681: 4565, 4564, 848: 4566},
- {508: 4559, 650: 4558, 681: 4561, 4560},
- {329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 16: 329, 50: 329, 107: 329, 329, 111: 329, 475: 329, 329, 479: 329, 329, 329, 329, 487: 329, 491: 329, 495: 329, 508: 329, 533: 329, 584: 329, 593: 329, 329, 645: 329, 329, 329, 329, 650: 329},
- {328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 16: 328, 50: 328, 107: 328, 328, 111: 328, 475: 328, 328, 479: 328, 328, 328, 328, 487: 328, 491: 328, 495: 328, 508: 328, 533: 328, 584: 328, 593: 328, 328, 645: 328, 328, 328, 328, 650: 328},
- {476: 325},
+ {313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 56: 313, 58: 313, 490: 313, 3925, 494: 313, 313, 313, 313, 313, 506: 313, 509: 313, 599: 313, 606: 313, 612: 313, 661: 313, 313, 313, 665: 313, 762: 313, 764: 313, 785: 3926, 811: 4705},
+ {308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 56: 308, 58: 308, 490: 308, 494: 308, 308, 308, 308, 308, 506: 308, 509: 308, 599: 308, 606: 308, 612: 308, 661: 308, 308, 308, 665: 308, 762: 308, 764: 308, 899: 4704},
+ {306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 56: 306, 58: 306, 490: 306, 3912, 494: 306, 306, 306, 306, 306, 506: 306, 509: 306, 599: 306, 606: 306, 612: 306, 661: 306, 306, 306, 665: 306, 762: 306, 764: 306, 785: 3913, 927: 4702, 932: 3914},
+ {306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 56: 306, 58: 306, 490: 306, 3912, 494: 306, 306, 306, 306, 306, 506: 306, 509: 306, 599: 306, 606: 306, 612: 306, 661: 306, 306, 306, 665: 306, 762: 306, 764: 306, 785: 3913, 927: 4700, 932: 3914},
+ {313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 56: 313, 490: 313, 3925, 494: 313, 313, 313, 313, 313, 506: 313, 509: 313, 599: 313, 606: 313, 612: 313, 661: 313, 313, 313, 665: 313, 785: 3926, 811: 4699},
// 1975
- {319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 50: 319, 52: 319, 475: 319, 319, 479: 319, 319, 319, 319, 487: 319, 491: 319, 495: 319, 584: 319, 593: 319, 319, 645: 319, 319, 319, 319, 744: 319, 747: 319},
- {318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 50: 318, 52: 318, 475: 318, 318, 479: 318, 318, 318, 318, 487: 318, 491: 318, 495: 318, 584: 318, 593: 318, 318, 645: 318, 318, 318, 318, 744: 318, 747: 318},
- {317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 50: 317, 475: 317, 479: 317, 317, 317, 317, 487: 317, 491: 317, 495: 317, 584: 317, 593: 317, 317, 645: 317, 317, 317, 317},
- {298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 50: 298, 475: 298, 3852, 479: 298, 298, 298, 298, 487: 298, 491: 298, 495: 298, 584: 298, 593: 298, 298, 645: 298, 298, 298, 298, 768: 3853, 794: 4557},
- {315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 50: 315, 475: 315, 479: 315, 315, 315, 315, 487: 315, 491: 315, 495: 315, 584: 315, 593: 315, 315, 645: 315, 315, 315, 315},
+ {390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 56: 390, 58: 390, 490: 390, 390, 494: 390, 390, 390, 390, 390, 506: 390, 509: 390, 599: 390, 606: 390, 612: 390, 661: 390, 390, 390, 665: 390, 762: 390, 764: 390},
+ {389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 56: 389, 58: 389, 490: 389, 389, 494: 389, 389, 389, 389, 389, 506: 389, 509: 389, 599: 389, 606: 389, 612: 389, 661: 389, 389, 389, 665: 389, 762: 389, 764: 389},
+ {388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 56: 388, 58: 388, 490: 388, 388, 494: 388, 388, 388, 388, 388, 506: 388, 509: 388, 599: 388, 606: 388, 612: 388, 661: 388, 388, 388, 665: 388, 762: 388, 764: 388},
+ {387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 56: 387, 58: 387, 490: 387, 387, 494: 387, 387, 387, 387, 387, 506: 387, 509: 387, 599: 387, 606: 387, 612: 387, 661: 387, 387, 387, 665: 387, 762: 387, 764: 387},
+ {386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 56: 386, 58: 386, 490: 386, 386, 494: 386, 386, 386, 386, 386, 506: 386, 509: 386, 599: 386, 606: 386, 612: 386, 661: 386, 386, 386, 665: 386, 762: 386, 764: 386},
// 1980
- {314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 50: 314, 475: 314, 479: 314, 314, 314, 314, 487: 314, 491: 314, 495: 314, 584: 314, 593: 314, 314, 645: 314, 314, 314, 314},
- {312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 16: 312, 50: 312, 107: 312, 312, 111: 312, 475: 312, 479: 312, 312, 312, 312, 487: 312, 491: 312, 495: 312, 508: 312, 533: 312, 584: 312, 593: 312, 312, 645: 312, 312, 312, 312, 650: 312},
- {298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 16: 298, 50: 298, 107: 298, 298, 111: 298, 475: 298, 3852, 479: 298, 298, 298, 298, 487: 298, 491: 298, 495: 298, 508: 298, 533: 298, 584: 298, 593: 298, 298, 645: 298, 298, 298, 298, 650: 298, 768: 3853, 794: 4556},
- {310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 16: 310, 50: 310, 107: 310, 310, 111: 310, 475: 310, 479: 310, 310, 310, 310, 487: 310, 491: 310, 495: 310, 508: 310, 533: 310, 584: 310, 593: 310, 310, 645: 310, 310, 310, 310, 650: 310},
- {309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 16: 309, 50: 309, 107: 309, 309, 111: 309, 475: 309, 479: 309, 309, 309, 309, 487: 309, 491: 309, 495: 309, 508: 309, 533: 309, 584: 309, 593: 309, 309, 645: 309, 309, 309, 309, 650: 309},
+ {385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 56: 385, 58: 385, 490: 385, 385, 494: 385, 385, 385, 385, 385, 506: 385, 509: 385, 599: 385, 606: 385, 612: 385, 661: 385, 385, 385, 665: 385, 762: 385, 764: 385},
+ {384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 56: 384, 58: 384, 490: 384, 384, 494: 384, 384, 384, 384, 384, 506: 384, 509: 384, 599: 384, 606: 384, 612: 384, 661: 384, 384, 384, 665: 384, 762: 384, 764: 384},
+ {383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 56: 383, 58: 383, 490: 383, 383, 494: 383, 383, 383, 383, 383, 506: 383, 509: 383, 599: 383, 606: 383, 612: 383, 661: 383, 383, 383, 665: 383, 762: 383, 764: 383},
+ {382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 56: 382, 58: 382, 490: 382, 382, 494: 382, 382, 382, 382, 382, 506: 382, 509: 382, 599: 382, 606: 382, 612: 382, 661: 382, 382, 382, 665: 382, 762: 382, 764: 382},
+ {381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 56: 381, 58: 381, 490: 381, 381, 494: 381, 381, 381, 381, 381, 506: 381, 509: 381, 599: 381, 606: 381, 612: 381, 661: 381, 381, 381, 665: 381, 762: 381, 764: 381},
// 1985
- {304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 50: 304, 475: 304, 479: 304, 304, 304, 304, 487: 304, 491: 304, 495: 304, 584: 304, 593: 304, 304, 645: 304, 304, 304, 304},
- {298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 50: 298, 475: 298, 3852, 479: 298, 298, 298, 298, 487: 298, 491: 298, 495: 298, 584: 298, 593: 298, 298, 645: 298, 298, 298, 298, 768: 3853, 794: 4555},
- {298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 50: 298, 475: 298, 3852, 479: 298, 298, 298, 298, 487: 298, 491: 298, 495: 298, 584: 298, 593: 298, 298, 645: 298, 298, 298, 298, 768: 3853, 794: 4554},
- {298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 50: 298, 475: 298, 3852, 479: 298, 298, 298, 298, 487: 298, 491: 298, 495: 298, 584: 298, 593: 298, 298, 645: 298, 298, 298, 298, 768: 3853, 794: 4553},
- {298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 50: 298, 52: 298, 475: 298, 3852, 479: 298, 298, 298, 298, 487: 298, 491: 298, 495: 298, 584: 298, 593: 298, 298, 645: 298, 298, 298, 298, 744: 298, 747: 298, 768: 3853, 794: 4547},
+ {380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 56: 380, 58: 380, 490: 380, 380, 494: 380, 380, 380, 380, 380, 506: 380, 509: 380, 599: 380, 606: 380, 612: 380, 661: 380, 380, 380, 665: 380, 762: 380, 764: 380},
+ {379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 56: 379, 58: 379, 490: 379, 494: 379, 379, 379, 379, 379, 506: 379, 509: 379, 599: 379, 606: 379, 612: 379, 661: 379, 379, 379, 665: 379, 762: 379, 764: 379},
+ {378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 56: 378, 58: 378, 490: 378, 494: 378, 378, 378, 378, 378, 506: 378, 509: 378, 599: 378, 606: 378, 612: 378, 661: 378, 378, 378, 665: 378, 762: 378, 764: 378},
+ {374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 56: 374, 58: 374, 490: 374, 374, 494: 374, 374, 374, 374, 374, 506: 374, 509: 374, 599: 374, 606: 374, 612: 374, 661: 374, 374, 374, 665: 374, 762: 374, 764: 374},
+ {373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 56: 373, 58: 373, 490: 373, 373, 494: 373, 373, 373, 373, 373, 506: 373, 509: 373, 599: 373, 606: 373, 612: 373, 661: 373, 373, 373, 665: 373, 762: 373, 764: 373},
// 1990
- {293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 50: 293, 52: 293, 475: 293, 479: 293, 293, 293, 293, 487: 293, 491: 293, 495: 293, 584: 293, 593: 293, 293, 645: 293, 293, 293, 293, 744: 293, 747: 293, 880: 4548},
- {300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 50: 300, 52: 4550, 475: 300, 479: 300, 300, 300, 300, 487: 300, 491: 300, 495: 300, 584: 300, 593: 300, 300, 645: 300, 300, 300, 300, 744: 4549, 747: 4551, 879: 4552},
- {296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 50: 296, 52: 296, 475: 296, 479: 296, 296, 296, 296, 487: 296, 491: 296, 495: 296, 584: 296, 593: 296, 296, 645: 296, 296, 296, 296, 744: 296, 747: 296},
- {295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 50: 295, 52: 295, 475: 295, 479: 295, 295, 295, 295, 487: 295, 491: 295, 495: 295, 584: 295, 593: 295, 295, 645: 295, 295, 295, 295, 744: 295, 747: 295},
- {294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 50: 294, 52: 294, 475: 294, 479: 294, 294, 294, 294, 487: 294, 491: 294, 495: 294, 584: 294, 593: 294, 294, 645: 294, 294, 294, 294, 744: 294, 747: 294},
+ {372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 56: 372, 58: 372, 490: 372, 372, 494: 372, 372, 372, 372, 372, 506: 372, 509: 372, 599: 372, 606: 372, 612: 372, 661: 372, 372, 372, 665: 372, 762: 372, 764: 372},
+ {371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 56: 371, 58: 371, 490: 371, 371, 494: 371, 371, 371, 371, 371, 506: 371, 509: 371, 599: 371, 606: 371, 612: 371, 661: 371, 371, 371, 665: 371, 762: 371, 764: 371},
+ {370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 56: 370, 58: 370, 490: 370, 370, 494: 370, 370, 370, 370, 370, 506: 370, 509: 370, 599: 370, 606: 370, 612: 370, 661: 370, 370, 370, 665: 370, 762: 370, 764: 370},
+ {369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 56: 369, 58: 369, 490: 369, 369, 494: 369, 369, 369, 369, 369, 506: 369, 509: 369, 599: 369, 606: 369, 612: 369, 661: 369, 369, 369, 665: 369, 762: 369, 764: 369, 1312: 4698},
+ {367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 56: 367, 490: 367, 367, 494: 367, 367, 367, 367, 367, 506: 367, 509: 367, 599: 367, 606: 367, 612: 367, 661: 367, 367, 367, 665: 367},
// 1995
- {292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 50: 292, 52: 292, 475: 292, 479: 292, 292, 292, 292, 487: 292, 491: 292, 495: 292, 584: 292, 593: 292, 292, 645: 292, 292, 292, 292, 744: 292, 747: 292},
- {301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 50: 301, 475: 301, 479: 301, 301, 301, 301, 487: 301, 491: 301, 495: 301, 584: 301, 593: 301, 301, 645: 301, 301, 301, 301},
- {302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 50: 302, 475: 302, 479: 302, 302, 302, 302, 487: 302, 491: 302, 495: 302, 584: 302, 593: 302, 302, 645: 302, 302, 302, 302},
- {303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 50: 303, 475: 303, 479: 303, 303, 303, 303, 487: 303, 491: 303, 495: 303, 584: 303, 593: 303, 303, 645: 303, 303, 303, 303},
- {311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 16: 311, 50: 311, 107: 311, 311, 111: 311, 475: 311, 479: 311, 311, 311, 311, 487: 311, 491: 311, 495: 311, 508: 311, 533: 311, 584: 311, 593: 311, 311, 645: 311, 311, 311, 311, 650: 311},
+ {300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 16: 3935, 56: 300, 490: 300, 3925, 494: 300, 300, 300, 300, 300, 506: 300, 509: 300, 513: 3936, 548: 3932, 599: 300, 606: 300, 612: 300, 661: 300, 300, 300, 665: 300, 3934, 785: 4695, 797: 3933, 820: 4696},
+ {300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 16: 3935, 56: 300, 490: 300, 3925, 494: 300, 300, 300, 300, 300, 506: 300, 509: 300, 513: 3936, 548: 3932, 599: 300, 606: 300, 612: 300, 661: 300, 300, 300, 665: 300, 3934, 785: 4692, 797: 3933, 820: 4693},
+ {491: 3925, 785: 4690},
+ {491: 3925, 785: 4688},
+ {313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 56: 313, 490: 313, 3925, 494: 313, 313, 313, 313, 313, 506: 313, 509: 313, 599: 313, 606: 313, 612: 313, 661: 313, 313, 313, 665: 313, 785: 3926, 811: 4687},
// 2000
- {316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 50: 316, 475: 316, 479: 316, 316, 316, 316, 487: 316, 491: 316, 495: 316, 584: 316, 593: 316, 316, 645: 316, 316, 316, 316},
- {333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 16: 333, 50: 333, 475: 333, 333, 479: 333, 333, 333, 333, 487: 333, 491: 333, 495: 333, 508: 333, 533: 333, 584: 333, 593: 333, 333, 645: 333, 333, 333, 333, 650: 333, 848: 4563},
- {332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 16: 332, 50: 332, 475: 332, 332, 479: 332, 332, 332, 332, 487: 332, 491: 332, 495: 332, 508: 332, 533: 332, 584: 332, 593: 332, 332, 645: 332, 332, 332, 332, 650: 332, 848: 4562},
- {476: 327},
- {476: 326},
+ {491: 3925, 785: 4686},
+ {358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 56: 358, 490: 358, 494: 358, 358, 358, 358, 358, 506: 358, 509: 358, 599: 358, 606: 358, 612: 358, 661: 358, 358, 358, 665: 358},
+ {300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 16: 3935, 56: 300, 116: 4667, 4669, 133: 4668, 490: 300, 494: 300, 300, 300, 300, 300, 506: 300, 509: 300, 513: 3936, 548: 3932, 599: 300, 606: 300, 612: 300, 661: 300, 300, 300, 665: 300, 3934, 797: 3933, 820: 4666, 907: 4685},
+ {491: 4681},
+ {491: 4671},
// 2005
- {476: 321},
- {476: 322},
- {476: 324},
- {476: 323},
- {476: 320},
+ {354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 56: 354, 490: 354, 494: 354, 354, 354, 354, 354, 506: 354, 509: 354, 599: 354, 606: 354, 612: 354, 661: 354, 354, 354, 665: 354},
+ {300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 16: 3935, 56: 300, 116: 4667, 4669, 133: 4668, 490: 300, 494: 300, 300, 300, 300, 300, 506: 300, 509: 300, 513: 4664, 548: 3932, 599: 300, 606: 300, 612: 300, 661: 300, 300, 300, 665: 300, 4663, 698: 4622, 4621, 709: 4665, 797: 3933, 820: 4666, 907: 4662, 1189: 4661},
+ {351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 16: 351, 56: 351, 490: 351, 351, 494: 351, 351, 351, 351, 351, 506: 351, 509: 351, 513: 351, 548: 351, 599: 351, 606: 351, 612: 351, 661: 351, 351, 351, 665: 351, 351, 865: 4660},
+ {350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 16: 350, 56: 350, 490: 350, 350, 494: 350, 350, 350, 350, 350, 506: 350, 509: 350, 513: 350, 548: 350, 599: 350, 606: 350, 612: 350, 661: 350, 350, 350, 665: 350, 350, 865: 4659},
+ {349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 16: 349, 56: 349, 490: 349, 349, 494: 349, 349, 349, 349, 349, 506: 349, 509: 349, 513: 349, 548: 349, 599: 349, 606: 349, 612: 349, 661: 349, 349, 349, 665: 349, 349, 698: 4657, 4656, 865: 4658},
// 2010
- {330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 16: 330, 50: 330, 107: 330, 330, 111: 330, 475: 330, 330, 479: 330, 330, 330, 330, 487: 330, 491: 330, 495: 330, 508: 330, 533: 330, 584: 330, 593: 330, 330, 645: 330, 330, 330, 330, 650: 330},
- {331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 16: 331, 50: 331, 107: 331, 331, 111: 331, 475: 331, 331, 479: 331, 331, 331, 331, 487: 331, 491: 331, 495: 331, 508: 331, 533: 331, 584: 331, 593: 331, 331, 645: 331, 331, 331, 331, 650: 331},
- {285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 16: 3862, 50: 285, 107: 4575, 4577, 111: 4576, 475: 285, 479: 285, 285, 285, 285, 487: 285, 491: 285, 495: 285, 508: 3863, 533: 3859, 584: 285, 593: 285, 285, 645: 285, 285, 285, 285, 650: 3861, 779: 3860, 803: 4574, 888: 4578},
- {337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 50: 337, 475: 337, 479: 337, 337, 337, 337, 487: 337, 491: 337, 495: 337, 584: 337, 593: 337, 337, 645: 337, 337, 337, 337},
- {509: 3865, 848: 4568},
+ {513: 4651, 666: 4650, 698: 4653, 4652},
+ {344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 16: 344, 56: 344, 116: 344, 344, 133: 344, 490: 344, 344, 494: 344, 344, 344, 344, 344, 506: 344, 509: 344, 513: 344, 548: 344, 599: 344, 606: 344, 612: 344, 661: 344, 344, 344, 665: 344, 344},
+ {343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 16: 343, 56: 343, 116: 343, 343, 133: 343, 490: 343, 343, 494: 343, 343, 343, 343, 343, 506: 343, 509: 343, 513: 343, 548: 343, 599: 343, 606: 343, 612: 343, 661: 343, 343, 343, 665: 343, 343},
+ {491: 340},
+ {334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 56: 334, 58: 334, 490: 334, 334, 494: 334, 334, 334, 334, 334, 506: 334, 509: 334, 599: 334, 606: 334, 612: 334, 661: 334, 334, 334, 665: 334, 762: 334, 764: 334},
// 2015
- {509: 3864, 848: 4567},
- {313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 50: 313, 475: 313, 479: 313, 313, 313, 313, 487: 313, 491: 313, 495: 313, 584: 313, 593: 313, 313, 645: 313, 313, 313, 313},
- {308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 50: 308, 475: 308, 479: 308, 308, 308, 308, 487: 308, 491: 308, 495: 308, 584: 308, 593: 308, 308, 645: 308, 308, 308, 308},
- {307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 50: 307, 475: 307, 479: 307, 307, 307, 307, 487: 307, 491: 307, 495: 307, 584: 307, 593: 307, 307, 645: 307, 307, 307, 307},
- {306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 50: 306, 475: 306, 479: 306, 306, 306, 306, 487: 306, 491: 306, 495: 306, 584: 306, 593: 306, 306, 645: 306, 306, 306, 306},
+ {333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 56: 333, 58: 333, 490: 333, 333, 494: 333, 333, 333, 333, 333, 506: 333, 509: 333, 599: 333, 606: 333, 612: 333, 661: 333, 333, 333, 665: 333, 762: 333, 764: 333},
+ {332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 56: 332, 490: 332, 494: 332, 332, 332, 332, 332, 506: 332, 509: 332, 599: 332, 606: 332, 612: 332, 661: 332, 332, 332, 665: 332},
+ {313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 56: 313, 490: 313, 3925, 494: 313, 313, 313, 313, 313, 506: 313, 509: 313, 599: 313, 606: 313, 612: 313, 661: 313, 313, 313, 665: 313, 785: 3926, 811: 4649},
+ {330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 56: 330, 490: 330, 494: 330, 330, 330, 330, 330, 506: 330, 509: 330, 599: 330, 606: 330, 612: 330, 661: 330, 330, 330, 665: 330},
+ {329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 56: 329, 490: 329, 494: 329, 329, 329, 329, 329, 506: 329, 509: 329, 599: 329, 606: 329, 612: 329, 661: 329, 329, 329, 665: 329},
// 2020
- {305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 50: 305, 475: 305, 479: 305, 305, 305, 305, 487: 305, 491: 305, 495: 305, 584: 305, 593: 305, 305, 645: 305, 305, 305, 305},
- {338, 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, 50: 338, 475: 338, 479: 338, 338, 338, 338, 487: 338, 491: 338, 495: 338, 584: 338, 593: 338, 338, 645: 338, 338, 338, 338},
- {478: 4581, 579: 4582, 583: 4583, 975: 4584, 1159: 4580},
- {9: 4586, 50: 4585},
- {9: 273, 50: 273},
+ {327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 16: 327, 56: 327, 116: 327, 327, 133: 327, 490: 327, 494: 327, 327, 327, 327, 327, 506: 327, 509: 327, 513: 327, 548: 327, 599: 327, 606: 327, 612: 327, 661: 327, 327, 327, 665: 327, 327},
+ {313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 16: 313, 56: 313, 116: 313, 313, 133: 313, 490: 313, 3925, 494: 313, 313, 313, 313, 313, 506: 313, 509: 313, 513: 313, 548: 313, 599: 313, 606: 313, 612: 313, 661: 313, 313, 313, 665: 313, 313, 785: 3926, 811: 4648},
+ {325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 16: 325, 56: 325, 116: 325, 325, 133: 325, 490: 325, 494: 325, 325, 325, 325, 325, 506: 325, 509: 325, 513: 325, 548: 325, 599: 325, 606: 325, 612: 325, 661: 325, 325, 325, 665: 325, 325},
+ {324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 16: 324, 56: 324, 116: 324, 324, 133: 324, 490: 324, 494: 324, 324, 324, 324, 324, 506: 324, 509: 324, 513: 324, 548: 324, 599: 324, 606: 324, 612: 324, 661: 324, 324, 324, 665: 324, 324},
+ {319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 56: 319, 490: 319, 494: 319, 319, 319, 319, 319, 506: 319, 509: 319, 599: 319, 606: 319, 612: 319, 661: 319, 319, 319, 665: 319},
// 2025
- {9: 272, 50: 272},
- {9: 271, 50: 271},
- {9: 270, 50: 270},
- {285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 16: 3862, 50: 285, 107: 4575, 4577, 111: 4576, 475: 285, 479: 285, 285, 285, 285, 487: 285, 491: 285, 495: 285, 508: 3863, 533: 3859, 584: 285, 593: 285, 285, 645: 285, 285, 285, 285, 650: 3861, 779: 3860, 803: 4574, 888: 4588},
- {478: 4581, 579: 4582, 583: 4583, 975: 4587},
+ {313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 56: 313, 490: 313, 3925, 494: 313, 313, 313, 313, 313, 506: 313, 509: 313, 599: 313, 606: 313, 612: 313, 661: 313, 313, 313, 665: 313, 785: 3926, 811: 4647},
+ {313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 56: 313, 490: 313, 3925, 494: 313, 313, 313, 313, 313, 506: 313, 509: 313, 599: 313, 606: 313, 612: 313, 661: 313, 313, 313, 665: 313, 785: 3926, 811: 4646},
+ {313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 56: 313, 490: 313, 3925, 494: 313, 313, 313, 313, 313, 506: 313, 509: 313, 599: 313, 606: 313, 612: 313, 661: 313, 313, 313, 665: 313, 785: 3926, 811: 4645},
+ {313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 56: 313, 58: 313, 490: 313, 3925, 494: 313, 313, 313, 313, 313, 506: 313, 509: 313, 599: 313, 606: 313, 612: 313, 661: 313, 313, 313, 665: 313, 762: 313, 764: 313, 785: 3926, 811: 4639},
+ {308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 56: 308, 58: 308, 490: 308, 494: 308, 308, 308, 308, 308, 506: 308, 509: 308, 599: 308, 606: 308, 612: 308, 661: 308, 308, 308, 665: 308, 762: 308, 764: 308, 899: 4640},
// 2030
- {9: 269, 50: 269},
- {340, 340, 340, 340, 340, 340, 340, 340, 340, 340, 340, 340, 340, 340, 340, 50: 340, 475: 340, 479: 340, 340, 340, 340, 487: 340, 491: 340, 495: 340, 584: 340, 593: 340, 340, 645: 340, 340, 340, 340},
- {478: 4581, 579: 4582, 583: 4583, 975: 4584, 1159: 4590},
- {9: 4586, 50: 4591},
- {285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 16: 3862, 50: 285, 107: 4575, 4577, 111: 4576, 475: 285, 479: 285, 285, 285, 285, 487: 285, 491: 285, 495: 285, 508: 3863, 533: 3859, 584: 285, 593: 285, 285, 645: 285, 285, 285, 285, 650: 3861, 779: 3860, 803: 4574, 888: 4592},
+ {315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 56: 315, 58: 4642, 490: 315, 494: 315, 315, 315, 315, 315, 506: 315, 509: 315, 599: 315, 606: 315, 612: 315, 661: 315, 315, 315, 665: 315, 762: 4641, 764: 4643, 898: 4644},
+ {311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 56: 311, 58: 311, 490: 311, 494: 311, 311, 311, 311, 311, 506: 311, 509: 311, 599: 311, 606: 311, 612: 311, 661: 311, 311, 311, 665: 311, 762: 311, 764: 311},
+ {310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 56: 310, 58: 310, 490: 310, 494: 310, 310, 310, 310, 310, 506: 310, 509: 310, 599: 310, 606: 310, 612: 310, 661: 310, 310, 310, 665: 310, 762: 310, 764: 310},
+ {309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 56: 309, 58: 309, 490: 309, 494: 309, 309, 309, 309, 309, 506: 309, 509: 309, 599: 309, 606: 309, 612: 309, 661: 309, 309, 309, 665: 309, 762: 309, 764: 309},
+ {307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 56: 307, 58: 307, 490: 307, 494: 307, 307, 307, 307, 307, 506: 307, 509: 307, 599: 307, 606: 307, 612: 307, 661: 307, 307, 307, 665: 307, 762: 307, 764: 307},
// 2035
- {341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 50: 341, 475: 341, 479: 341, 341, 341, 341, 487: 341, 491: 341, 495: 341, 584: 341, 593: 341, 341, 645: 341, 341, 341, 341},
- {342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 50: 342, 475: 342, 479: 342, 342, 342, 342, 487: 342, 491: 342, 495: 342, 584: 342, 593: 342, 342, 645: 342, 342, 342, 342},
- {344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 50: 344, 475: 344, 479: 344, 344, 344, 344, 487: 344, 491: 344, 495: 344, 584: 344, 593: 344, 344, 645: 344, 344, 344, 344},
- {345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 50: 345, 475: 345, 479: 345, 345, 345, 345, 487: 345, 491: 345, 495: 345, 584: 345, 593: 345, 345, 645: 345, 345, 345, 345},
- {285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 16: 3862, 50: 285, 475: 285, 479: 285, 285, 285, 285, 487: 285, 491: 285, 495: 285, 508: 3863, 533: 3859, 584: 285, 593: 285, 285, 645: 285, 285, 285, 285, 650: 3861, 779: 3860, 803: 4597},
+ {316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 56: 316, 490: 316, 494: 316, 316, 316, 316, 316, 506: 316, 509: 316, 599: 316, 606: 316, 612: 316, 661: 316, 316, 316, 665: 316},
+ {317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 56: 317, 490: 317, 494: 317, 317, 317, 317, 317, 506: 317, 509: 317, 599: 317, 606: 317, 612: 317, 661: 317, 317, 317, 665: 317},
+ {318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 56: 318, 490: 318, 494: 318, 318, 318, 318, 318, 506: 318, 509: 318, 599: 318, 606: 318, 612: 318, 661: 318, 318, 318, 665: 318},
+ {326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 16: 326, 56: 326, 116: 326, 326, 133: 326, 490: 326, 494: 326, 326, 326, 326, 326, 506: 326, 509: 326, 513: 326, 548: 326, 599: 326, 606: 326, 612: 326, 661: 326, 326, 326, 665: 326, 326},
+ {331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 56: 331, 490: 331, 494: 331, 331, 331, 331, 331, 506: 331, 509: 331, 599: 331, 606: 331, 612: 331, 661: 331, 331, 331, 665: 331},
// 2040
- {346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 50: 346, 475: 346, 479: 346, 346, 346, 346, 487: 346, 491: 346, 495: 346, 584: 346, 593: 346, 346, 645: 346, 346, 346, 346},
- {285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 16: 3862, 50: 285, 475: 285, 479: 285, 285, 285, 285, 487: 285, 491: 285, 495: 285, 508: 3863, 533: 3859, 584: 285, 593: 285, 285, 645: 285, 285, 285, 285, 650: 3861, 779: 3860, 803: 4599},
- {347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 50: 347, 475: 347, 479: 347, 347, 347, 347, 487: 347, 491: 347, 495: 347, 584: 347, 593: 347, 347, 645: 347, 347, 347, 347},
- {285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 16: 3862, 50: 285, 475: 285, 479: 285, 285, 285, 285, 487: 285, 491: 285, 495: 285, 508: 3863, 533: 3859, 584: 285, 593: 285, 285, 645: 285, 285, 285, 285, 650: 3861, 779: 3860, 803: 4602},
- {348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 50: 348, 475: 348, 479: 348, 348, 348, 348, 487: 348, 491: 348, 495: 348, 584: 348, 593: 348, 348, 645: 348, 348, 348, 348},
+ {348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 16: 348, 56: 348, 490: 348, 348, 494: 348, 348, 348, 348, 348, 506: 348, 509: 348, 513: 348, 548: 348, 599: 348, 606: 348, 612: 348, 661: 348, 348, 348, 665: 348, 348, 865: 4655},
+ {347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 16: 347, 56: 347, 490: 347, 347, 494: 347, 347, 347, 347, 347, 506: 347, 509: 347, 513: 347, 548: 347, 599: 347, 606: 347, 612: 347, 661: 347, 347, 347, 665: 347, 347, 865: 4654},
+ {491: 342},
+ {491: 341},
+ {491: 336},
// 2045
- {349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 50: 349, 475: 349, 479: 349, 349, 349, 349, 487: 349, 491: 349, 495: 349, 584: 349, 593: 349, 349, 645: 349, 349, 349, 349},
- {285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 16: 3862, 50: 285, 475: 285, 479: 285, 285, 285, 285, 487: 285, 491: 285, 495: 285, 508: 3863, 533: 3859, 584: 285, 593: 285, 285, 645: 285, 285, 285, 285, 650: 3861, 779: 3860, 803: 4605},
- {350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 50: 350, 475: 350, 479: 350, 350, 350, 350, 487: 350, 491: 350, 495: 350, 584: 350, 593: 350, 350, 645: 350, 350, 350, 350},
- {351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 50: 351, 475: 351, 479: 351, 351, 351, 351, 487: 351, 491: 351, 495: 351, 584: 351, 593: 351, 351, 645: 351, 351, 351, 351},
- {353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 50: 353, 52: 353, 475: 353, 353, 479: 353, 353, 353, 353, 487: 353, 491: 353, 495: 353, 584: 353, 593: 353, 353, 645: 353, 353, 353, 353, 744: 353, 747: 353},
+ {491: 337},
+ {491: 339},
+ {491: 338},
+ {491: 335},
+ {345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 16: 345, 56: 345, 116: 345, 345, 133: 345, 490: 345, 345, 494: 345, 345, 345, 345, 345, 506: 345, 509: 345, 513: 345, 548: 345, 599: 345, 606: 345, 612: 345, 661: 345, 345, 345, 665: 345, 345},
// 2050
- {376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 50: 376, 475: 376, 479: 376, 376, 376, 376, 487: 376, 491: 376, 495: 376, 584: 376, 593: 376, 376, 645: 376, 376, 376, 376},
- {293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 50: 293, 52: 293, 475: 293, 479: 293, 293, 293, 293, 487: 293, 491: 293, 495: 293, 584: 293, 593: 293, 293, 645: 293, 293, 293, 293, 744: 293, 747: 293, 880: 4609},
- {377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 50: 377, 52: 4550, 475: 377, 479: 377, 377, 377, 377, 487: 377, 491: 377, 495: 377, 584: 377, 593: 377, 377, 645: 377, 377, 377, 377, 744: 4549, 747: 4551, 879: 4552},
- {293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 50: 293, 52: 293, 475: 293, 479: 293, 293, 293, 293, 487: 293, 491: 293, 495: 293, 584: 293, 593: 293, 293, 645: 293, 293, 293, 293, 744: 293, 747: 293, 880: 4611},
- {378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 50: 378, 52: 4550, 475: 378, 479: 378, 378, 378, 378, 487: 378, 491: 378, 495: 378, 584: 378, 593: 378, 378, 645: 378, 378, 378, 378, 744: 4549, 747: 4551, 879: 4552},
+ {346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 16: 346, 56: 346, 116: 346, 346, 133: 346, 490: 346, 346, 494: 346, 346, 346, 346, 346, 506: 346, 509: 346, 513: 346, 548: 346, 599: 346, 606: 346, 612: 346, 661: 346, 346, 346, 665: 346, 346},
+ {300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 16: 3935, 56: 300, 116: 4667, 4669, 133: 4668, 490: 300, 494: 300, 300, 300, 300, 300, 506: 300, 509: 300, 513: 3936, 548: 3932, 599: 300, 606: 300, 612: 300, 661: 300, 300, 300, 665: 300, 3934, 797: 3933, 820: 4666, 907: 4670},
+ {352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 56: 352, 490: 352, 494: 352, 352, 352, 352, 352, 506: 352, 509: 352, 599: 352, 606: 352, 612: 352, 661: 352, 352, 352, 665: 352},
+ {525: 3938, 865: 4660},
+ {525: 3937, 865: 4659},
// 2055
- {379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 50: 379, 52: 4550, 475: 379, 479: 379, 379, 379, 379, 487: 379, 491: 379, 495: 379, 584: 379, 593: 379, 379, 645: 379, 379, 379, 379, 744: 4549, 747: 4551, 879: 4552},
- {293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 50: 293, 52: 293, 475: 293, 479: 293, 293, 293, 293, 487: 293, 491: 293, 495: 293, 584: 293, 593: 293, 293, 645: 293, 293, 293, 293, 744: 293, 747: 293, 880: 4614},
- {380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 50: 380, 52: 4550, 475: 380, 479: 380, 380, 380, 380, 487: 380, 491: 380, 495: 380, 584: 380, 593: 380, 380, 645: 380, 380, 380, 380, 744: 4549, 747: 4551, 879: 4552},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 584: 2425, 593: 2425, 2425, 645: 2425, 652: 2425, 664: 4754, 2785, 2786, 2784, 678: 2425, 2425, 1152: 4753},
- {2355, 2355, 2355, 2355, 2355, 2355, 9: 2355, 2355, 2355, 50: 2355, 491: 2355},
+ {328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 56: 328, 490: 328, 494: 328, 328, 328, 328, 328, 506: 328, 509: 328, 599: 328, 606: 328, 612: 328, 661: 328, 328, 328, 665: 328},
+ {323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 56: 323, 490: 323, 494: 323, 323, 323, 323, 323, 506: 323, 509: 323, 599: 323, 606: 323, 612: 323, 661: 323, 323, 323, 665: 323},
+ {322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 56: 322, 490: 322, 494: 322, 322, 322, 322, 322, 506: 322, 509: 322, 599: 322, 606: 322, 612: 322, 661: 322, 322, 322, 665: 322},
+ {321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 56: 321, 490: 321, 494: 321, 321, 321, 321, 321, 506: 321, 509: 321, 599: 321, 606: 321, 612: 321, 661: 321, 321, 321, 665: 321},
+ {320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 56: 320, 490: 320, 494: 320, 320, 320, 320, 320, 506: 320, 509: 320, 599: 320, 606: 320, 612: 320, 661: 320, 320, 320, 665: 320},
// 2060
- {584: 2332},
- {495: 4752},
- {2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 50: 2322, 475: 2322, 479: 2322, 2322, 2322, 2322, 487: 2322, 491: 2322, 495: 2322, 584: 2322, 593: 2322, 2322, 645: 2322, 2322, 2322, 2322},
- {2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 50: 2321, 475: 2321, 479: 2321, 2321, 2321, 2321, 487: 2321, 491: 2321, 495: 2321, 584: 2321, 593: 2321, 2321, 645: 2321, 2321, 2321, 2321},
- {584: 4748},
+ {353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 56: 353, 490: 353, 494: 353, 353, 353, 353, 353, 506: 353, 509: 353, 599: 353, 606: 353, 612: 353, 661: 353, 353, 353, 665: 353},
+ {492: 4673, 595: 4674, 597: 4675, 993: 4676, 1182: 4672},
+ {9: 4678, 56: 4677},
+ {9: 288, 56: 288},
+ {9: 287, 56: 287},
// 2065
- {2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 50: 2318, 475: 2318, 479: 2318, 2318, 2318, 2318, 487: 2318, 491: 2318, 495: 2318, 584: 4747, 593: 2318, 2318, 645: 2318, 2318, 2318, 2318},
- {130: 4735, 273: 4737, 364: 4738, 476: 4734, 478: 3265, 488: 4470, 4471, 495: 3256, 511: 3260, 574: 3255, 3257, 3259, 3258, 579: 3263, 583: 3264, 588: 4722, 4719, 591: 4720, 4721, 595: 3262, 716: 4469, 3261, 4732, 904: 4733, 951: 4717, 4718, 4736, 1089: 4730, 1142: 4731, 1213: 4729},
- {482: 4727},
- {657: 4715},
- {478: 4714},
+ {9: 286, 56: 286},
+ {9: 285, 56: 285},
+ {300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 16: 3935, 56: 300, 116: 4667, 4669, 133: 4668, 490: 300, 494: 300, 300, 300, 300, 300, 506: 300, 509: 300, 513: 3936, 548: 3932, 599: 300, 606: 300, 612: 300, 661: 300, 300, 300, 665: 300, 3934, 797: 3933, 820: 4666, 907: 4680},
+ {492: 4673, 595: 4674, 597: 4675, 993: 4679},
+ {9: 284, 56: 284},
// 2070
- {593: 4705},
- {481: 4698},
- {2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 50: 2310, 475: 2310, 479: 2310, 2310, 2310, 2310, 487: 2310, 491: 2310, 495: 2310, 584: 2310, 593: 2310, 2310, 645: 2310, 2310, 2310, 2310},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 533: 3515, 664: 3517, 2785, 2786, 2784, 742: 3514, 876: 4697},
- {182: 4695, 209: 4696, 482: 4694, 1198: 4693},
+ {355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, 56: 355, 490: 355, 494: 355, 355, 355, 355, 355, 506: 355, 509: 355, 599: 355, 606: 355, 612: 355, 661: 355, 355, 355, 665: 355},
+ {492: 4673, 595: 4674, 597: 4675, 993: 4676, 1182: 4682},
+ {9: 4678, 56: 4683},
+ {300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 16: 3935, 56: 300, 116: 4667, 4669, 133: 4668, 490: 300, 494: 300, 300, 300, 300, 300, 506: 300, 509: 300, 513: 3936, 548: 3932, 599: 300, 606: 300, 612: 300, 661: 300, 300, 300, 665: 300, 3934, 797: 3933, 820: 4666, 907: 4684},
+ {356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 56: 356, 490: 356, 494: 356, 356, 356, 356, 356, 506: 356, 509: 356, 599: 356, 606: 356, 612: 356, 661: 356, 356, 356, 665: 356},
// 2075
- {188: 4692, 250: 4691, 482: 4690, 1320: 4689},
- {2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 50: 2305, 475: 2305, 4683, 479: 2305, 2305, 2305, 2305, 487: 2305, 491: 2305, 495: 2305, 584: 2305, 593: 2305, 2305, 645: 2305, 2305, 2305, 2305, 1188: 4682},
- {314: 4681},
- {2291, 2291, 2291, 2291, 2291, 2291, 2291, 2291, 2291, 2291, 2291, 2291, 2291, 2291, 2291, 50: 2291, 475: 2291, 479: 2291, 2291, 2291, 2291, 487: 2291, 491: 2291, 495: 2291, 584: 2291, 593: 2291, 2291, 645: 2291, 2291, 2291, 2291},
- {2288, 2288, 2288, 2288, 2288, 2288, 4626, 4632, 4620, 2288, 2288, 2288, 4624, 4633, 4631, 50: 2288, 475: 4625, 479: 4115, 4114, 2296, 4623, 487: 4630, 491: 2288, 495: 4619, 584: 2333, 593: 2426, 4617, 645: 4622, 4615, 4637, 4634, 815: 4618, 837: 4627, 915: 4629, 933: 4680, 942: 4628, 961: 4621},
+ {357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 56: 357, 490: 357, 494: 357, 357, 357, 357, 357, 506: 357, 509: 357, 599: 357, 606: 357, 612: 357, 661: 357, 357, 357, 665: 357},
+ {359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 56: 359, 490: 359, 494: 359, 359, 359, 359, 359, 506: 359, 509: 359, 599: 359, 606: 359, 612: 359, 661: 359, 359, 359, 665: 359},
+ {360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 56: 360, 490: 360, 494: 360, 360, 360, 360, 360, 506: 360, 509: 360, 599: 360, 606: 360, 612: 360, 661: 360, 360, 360, 665: 360},
+ {300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 16: 3935, 56: 300, 490: 300, 494: 300, 300, 300, 300, 300, 506: 300, 509: 300, 513: 3936, 548: 3932, 599: 300, 606: 300, 612: 300, 661: 300, 300, 300, 665: 300, 3934, 797: 3933, 820: 4689},
+ {361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 56: 361, 490: 361, 494: 361, 361, 361, 361, 361, 506: 361, 509: 361, 599: 361, 606: 361, 612: 361, 661: 361, 361, 361, 665: 361},
// 2080
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 4638},
- {2228, 2228, 2228, 2228, 2228, 2228, 2228, 2228, 2228, 2228, 2228, 2228, 2228, 2228, 2228, 50: 2228, 475: 2228, 4640, 479: 2228, 2228, 2228, 2228, 487: 2228, 491: 2228, 495: 2228, 584: 2228, 593: 2228, 2228, 645: 2228, 2228, 2228, 2228, 651: 2228, 1241: 4639},
- {2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 50: 2278, 475: 2278, 479: 2278, 2278, 2278, 2278, 487: 2278, 491: 2278, 495: 2278, 584: 2278, 593: 2278, 2278, 645: 2278, 2278, 2278, 2278, 651: 4655, 1258: 4656, 4657},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 4644, 664: 4169, 2785, 2786, 2784, 748: 4643, 831: 4642, 841: 4641},
- {9: 4653, 50: 4652},
+ {300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 16: 3935, 56: 300, 490: 300, 494: 300, 300, 300, 300, 300, 506: 300, 509: 300, 513: 3936, 548: 3932, 599: 300, 606: 300, 612: 300, 661: 300, 300, 300, 665: 300, 3934, 797: 3933, 820: 4691},
+ {362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 56: 362, 490: 362, 494: 362, 362, 362, 362, 362, 506: 362, 509: 362, 599: 362, 606: 362, 612: 362, 661: 362, 362, 362, 665: 362},
+ {300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 16: 3935, 56: 300, 490: 300, 494: 300, 300, 300, 300, 300, 506: 300, 509: 300, 513: 3936, 548: 3932, 599: 300, 606: 300, 612: 300, 661: 300, 300, 300, 665: 300, 3934, 797: 3933, 820: 4694},
+ {363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 56: 363, 490: 363, 494: 363, 363, 363, 363, 363, 506: 363, 509: 363, 599: 363, 606: 363, 612: 363, 661: 363, 363, 363, 665: 363},
+ {364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 56: 364, 490: 364, 494: 364, 364, 364, 364, 364, 506: 364, 509: 364, 599: 364, 606: 364, 612: 364, 661: 364, 364, 364, 665: 364},
// 2085
- {9: 2226, 50: 2226},
- {9: 298, 50: 298, 476: 3852, 532: 298, 534: 298, 768: 3853, 794: 4650},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4645},
- {50: 4646, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {9: 1314, 50: 1314, 532: 4649, 534: 4648, 954: 4647},
+ {300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 16: 3935, 56: 300, 490: 300, 494: 300, 300, 300, 300, 300, 506: 300, 509: 300, 513: 3936, 548: 3932, 599: 300, 606: 300, 612: 300, 661: 300, 300, 300, 665: 300, 3934, 797: 3933, 820: 4697},
+ {365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 56: 365, 490: 365, 494: 365, 365, 365, 365, 365, 506: 365, 509: 365, 599: 365, 606: 365, 612: 365, 661: 365, 365, 365, 665: 365},
+ {366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 56: 366, 490: 366, 494: 366, 366, 366, 366, 366, 506: 366, 509: 366, 599: 366, 606: 366, 612: 366, 661: 366, 366, 366, 665: 366},
+ {368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 56: 368, 58: 368, 490: 368, 368, 494: 368, 368, 368, 368, 368, 506: 368, 509: 368, 599: 368, 606: 368, 612: 368, 661: 368, 368, 368, 665: 368, 762: 368, 764: 368},
+ {391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391, 56: 391, 490: 391, 494: 391, 391, 391, 391, 391, 506: 391, 509: 391, 599: 391, 606: 391, 612: 391, 661: 391, 391, 391, 665: 391},
// 2090
- {9: 2223, 50: 2223},
- {1313, 1313, 1313, 1313, 1313, 1313, 9: 1313, 50: 1313, 491: 1313},
- {1312, 1312, 1312, 1312, 1312, 1312, 9: 1312, 50: 1312, 491: 1312},
- {9: 1314, 50: 1314, 532: 4649, 534: 4648, 954: 4651},
- {9: 2224, 50: 2224},
+ {308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 56: 308, 58: 308, 490: 308, 494: 308, 308, 308, 308, 308, 506: 308, 509: 308, 599: 308, 606: 308, 612: 308, 661: 308, 308, 308, 665: 308, 762: 308, 764: 308, 899: 4701},
+ {392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 56: 392, 58: 4642, 490: 392, 494: 392, 392, 392, 392, 392, 506: 392, 509: 392, 599: 392, 606: 392, 612: 392, 661: 392, 392, 392, 665: 392, 762: 4641, 764: 4643, 898: 4644},
+ {308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 56: 308, 58: 308, 490: 308, 494: 308, 308, 308, 308, 308, 506: 308, 509: 308, 599: 308, 606: 308, 612: 308, 661: 308, 308, 308, 665: 308, 762: 308, 764: 308, 899: 4703},
+ {393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, 56: 393, 58: 4642, 490: 393, 494: 393, 393, 393, 393, 393, 506: 393, 509: 393, 599: 393, 606: 393, 612: 393, 661: 393, 393, 393, 665: 393, 762: 4641, 764: 4643, 898: 4644},
+ {394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 56: 394, 58: 4642, 490: 394, 494: 394, 394, 394, 394, 394, 506: 394, 509: 394, 599: 394, 606: 394, 612: 394, 661: 394, 394, 394, 665: 394, 762: 4641, 764: 4643, 898: 4644},
// 2095
- {2227, 2227, 2227, 2227, 2227, 2227, 2227, 2227, 2227, 2227, 2227, 2227, 2227, 2227, 2227, 50: 2227, 475: 2227, 479: 2227, 2227, 2227, 2227, 487: 2227, 491: 2227, 495: 2227, 584: 2227, 593: 2227, 2227, 645: 2227, 2227, 2227, 2227, 651: 2227},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 4644, 664: 4169, 2785, 2786, 2784, 748: 4643, 831: 4654},
- {9: 2225, 50: 2225},
- {213: 4677, 371: 4678, 389: 4679},
- {2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 50: 2277, 475: 2277, 479: 2277, 2277, 2277, 2277, 487: 2277, 491: 2277, 495: 2277, 584: 2277, 593: 2277, 2277, 645: 2277, 2277, 2277, 2277},
+ {308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 56: 308, 58: 308, 490: 308, 494: 308, 308, 308, 308, 308, 506: 308, 509: 308, 599: 308, 606: 308, 612: 308, 661: 308, 308, 308, 665: 308, 762: 308, 764: 308, 899: 4706},
+ {395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 56: 395, 58: 4642, 490: 395, 494: 395, 395, 395, 395, 395, 506: 395, 509: 395, 599: 395, 606: 395, 612: 395, 661: 395, 395, 395, 665: 395, 762: 4641, 764: 4643, 898: 4644},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 599: 2469, 606: 2469, 612: 2469, 661: 2469, 667: 2469, 685: 4851, 2843, 2844, 2842, 695: 2469, 2469, 1175: 4850},
+ {2399, 2399, 2399, 2399, 2399, 2399, 9: 2399, 2399, 2399, 56: 2399, 506: 2399},
+ {599: 2376},
// 2100
- {2273, 2273, 2273, 2273, 2273, 2273, 2273, 2273, 2273, 2273, 2273, 2273, 2273, 2273, 2273, 50: 2273, 475: 4659, 479: 2273, 2273, 2273, 2273, 487: 2273, 491: 2273, 495: 2273, 584: 2273, 593: 2273, 2273, 645: 2273, 2273, 2273, 2273, 1095: 4660, 4661, 1267: 4658},
- {2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 50: 2276, 475: 2276, 479: 2276, 2276, 2276, 2276, 487: 2276, 491: 2276, 495: 2276, 584: 2276, 593: 2276, 2276, 645: 2276, 2276, 2276, 2276},
- {657: 4675, 743: 4664},
- {2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 50: 2272, 475: 4673, 479: 2272, 2272, 2272, 2272, 487: 2272, 491: 2272, 495: 2272, 584: 2272, 593: 2272, 2272, 645: 2272, 2272, 2272, 2272, 1096: 4674},
- {2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 50: 2271, 475: 4662, 479: 2271, 2271, 2271, 2271, 487: 2271, 491: 2271, 495: 2271, 584: 2271, 593: 2271, 2271, 645: 2271, 2271, 2271, 2271, 1095: 4663},
+ {509: 4849},
+ {2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 56: 2366, 490: 2366, 494: 2366, 2366, 2366, 2366, 2366, 506: 2366, 509: 2366, 599: 2366, 606: 2366, 612: 2366, 661: 2366, 2366, 2366, 665: 2366},
+ {2365, 2365, 2365, 2365, 2365, 2365, 2365, 2365, 2365, 2365, 2365, 2365, 2365, 2365, 2365, 56: 2365, 490: 2365, 494: 2365, 2365, 2365, 2365, 2365, 506: 2365, 509: 2365, 599: 2365, 606: 2365, 612: 2365, 661: 2365, 2365, 2365, 665: 2365},
+ {599: 4845},
+ {2362, 2362, 2362, 2362, 2362, 2362, 2362, 2362, 2362, 2362, 2362, 2362, 2362, 2362, 2362, 56: 2362, 490: 2362, 494: 2362, 2362, 2362, 2362, 2362, 506: 2362, 509: 2362, 599: 4844, 606: 2362, 612: 2362, 661: 2362, 2362, 2362, 665: 2362},
// 2105
- {743: 4664},
- {2269, 2269, 2269, 2269, 2269, 2269, 2269, 2269, 2269, 2269, 2269, 2269, 2269, 2269, 2269, 50: 2269, 475: 2269, 479: 2269, 2269, 2269, 2269, 487: 2269, 491: 2269, 495: 2269, 584: 2269, 593: 2269, 2269, 645: 2269, 2269, 2269, 2269},
- {73: 4669, 509: 4668, 673: 4667, 675: 4666, 1119: 4665},
- {2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 50: 2275, 475: 2275, 479: 2275, 2275, 2275, 2275, 487: 2275, 491: 2275, 495: 2275, 584: 2275, 593: 2275, 2275, 645: 2275, 2275, 2275, 2275},
- {2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 50: 2268, 475: 2268, 479: 2268, 2268, 2268, 2268, 487: 2268, 491: 2268, 495: 2268, 584: 2268, 593: 2268, 2268, 645: 2268, 2268, 2268, 2268},
+ {141: 4832, 285: 4834, 376: 4835, 491: 4831, 3338, 503: 4562, 4563, 509: 3329, 524: 3333, 590: 3328, 3330, 3332, 3331, 595: 3336, 597: 3337, 604: 4817, 4816, 607: 4812, 4813, 610: 4814, 4815, 613: 3335, 733: 4561, 3334, 4829, 922: 4830, 955: 4811, 970: 4809, 4810, 4833, 1109: 4827, 1165: 4828, 1236: 4826},
+ {495: 4824},
+ {673: 4807},
+ {492: 4806},
+ {606: 4797},
// 2110
- {2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 50: 2267, 475: 2267, 479: 2267, 2267, 2267, 2267, 487: 2267, 491: 2267, 495: 2267, 584: 2267, 593: 2267, 2267, 645: 2267, 2267, 2267, 2267},
- {482: 4672, 495: 4671},
- {310: 4670},
- {2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 50: 2265, 475: 2265, 479: 2265, 2265, 2265, 2265, 487: 2265, 491: 2265, 495: 2265, 584: 2265, 593: 2265, 2265, 645: 2265, 2265, 2265, 2265},
- {2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266, 50: 2266, 475: 2266, 479: 2266, 2266, 2266, 2266, 487: 2266, 491: 2266, 495: 2266, 584: 2266, 593: 2266, 2266, 645: 2266, 2266, 2266, 2266},
+ {497: 4790},
+ {2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 56: 2354, 490: 2354, 494: 2354, 2354, 2354, 2354, 2354, 506: 2354, 509: 2354, 599: 2354, 606: 2354, 612: 2354, 661: 2354, 2354, 2354, 665: 2354},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 548: 3588, 685: 3590, 2843, 2844, 2842, 759: 3587, 894: 4789},
+ {193: 4787, 222: 4788, 495: 4786, 1221: 4785},
+ {199: 4784, 262: 4783, 495: 4782, 1343: 4781},
// 2115
- {2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 50: 2264, 475: 2264, 479: 2264, 2264, 2264, 2264, 487: 2264, 491: 2264, 495: 2264, 584: 2264, 593: 2264, 2264, 645: 2264, 2264, 2264, 2264},
- {657: 4675},
- {2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 50: 2270, 475: 2270, 479: 2270, 2270, 2270, 2270, 487: 2270, 491: 2270, 495: 2270, 584: 2270, 593: 2270, 2270, 645: 2270, 2270, 2270, 2270},
- {73: 4669, 509: 4668, 673: 4667, 675: 4666, 1119: 4676},
- {2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 50: 2274, 475: 2274, 479: 2274, 2274, 2274, 2274, 487: 2274, 491: 2274, 495: 2274, 584: 2274, 593: 2274, 2274, 645: 2274, 2274, 2274, 2274},
+ {2349, 2349, 2349, 2349, 2349, 2349, 2349, 2349, 2349, 2349, 2349, 2349, 2349, 2349, 2349, 56: 2349, 490: 2349, 4775, 494: 2349, 2349, 2349, 2349, 2349, 506: 2349, 509: 2349, 599: 2349, 606: 2349, 612: 2349, 661: 2349, 2349, 2349, 665: 2349, 1212: 4774},
+ {327: 4773},
+ {2335, 2335, 2335, 2335, 2335, 2335, 2335, 2335, 2335, 2335, 2335, 2335, 2335, 2335, 2335, 56: 2335, 490: 2335, 494: 2335, 2335, 2335, 2335, 2335, 506: 2335, 509: 2335, 599: 2335, 606: 2335, 612: 2335, 661: 2335, 2335, 2335, 665: 2335},
+ {2332, 2332, 2332, 2332, 2332, 2332, 4718, 4724, 4712, 2332, 2332, 2332, 4716, 4725, 4723, 56: 2332, 490: 4717, 494: 4190, 4715, 4189, 2340, 4722, 506: 2332, 509: 4711, 599: 2377, 606: 2470, 612: 4709, 661: 4714, 4707, 4729, 665: 4726, 833: 4710, 854: 4719, 933: 4721, 951: 4772, 961: 4720, 979: 4713},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4730},
// 2120
- {2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 50: 2281, 475: 2281, 479: 2281, 2281, 2281, 2281, 487: 2281, 491: 2281, 495: 2281, 584: 2281, 593: 2281, 2281, 645: 2281, 2281, 2281, 2281},
- {2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 50: 2280, 475: 2280, 479: 2280, 2280, 2280, 2280, 487: 2280, 491: 2280, 495: 2280, 584: 2280, 593: 2280, 2280, 645: 2280, 2280, 2280, 2280},
- {2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 50: 2279, 475: 2279, 479: 2279, 2279, 2279, 2279, 487: 2279, 491: 2279, 495: 2279, 584: 2279, 593: 2279, 2279, 645: 2279, 2279, 2279, 2279},
- {2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 50: 2290, 475: 2290, 479: 2290, 2290, 2290, 2290, 487: 2290, 491: 2290, 495: 2290, 584: 2290, 593: 2290, 2290, 645: 2290, 2290, 2290, 2290},
- {481: 2295},
+ {2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 56: 2268, 490: 2268, 4732, 494: 2268, 2268, 2268, 2268, 2268, 506: 2268, 509: 2268, 599: 2268, 606: 2268, 612: 2268, 661: 2268, 2268, 2268, 665: 2268, 668: 2268, 1264: 4731},
+ {2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 2322, 56: 2322, 490: 2322, 494: 2322, 2322, 2322, 2322, 2322, 506: 2322, 509: 2322, 599: 2322, 606: 2322, 612: 2322, 661: 2322, 2322, 2322, 665: 2322, 668: 4747, 1281: 4748, 4749},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 4736, 685: 4248, 2843, 2844, 2842, 765: 4735, 848: 4734, 858: 4733},
+ {9: 4745, 56: 4744},
+ {9: 2266, 56: 2266},
// 2125
- {2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 50: 2306, 475: 2306, 479: 2306, 2306, 2306, 2306, 487: 2306, 491: 2306, 495: 2306, 584: 2306, 593: 2306, 2306, 645: 2306, 2306, 2306, 2306},
- {511: 2759, 737: 2758, 745: 4684},
- {9: 4686, 50: 4685},
- {2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 50: 2304, 475: 2304, 479: 2304, 2304, 2304, 2304, 487: 2304, 491: 2304, 495: 2304, 584: 2304, 593: 2304, 2304, 645: 2304, 2304, 2304, 2304},
- {511: 2759, 737: 2758, 745: 4687},
+ {9: 313, 56: 313, 491: 3925, 547: 313, 560: 313, 785: 3926, 811: 4742},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4737},
+ {56: 4738, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {9: 1336, 56: 1336, 547: 4741, 560: 4740, 973: 4739},
+ {9: 2263, 56: 2263},
// 2130
- {50: 4688},
- {2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 50: 2303, 475: 2303, 479: 2303, 2303, 2303, 2303, 487: 2303, 491: 2303, 495: 2303, 584: 2303, 593: 2303, 2303, 645: 2303, 2303, 2303, 2303},
- {2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 50: 2307, 475: 2307, 479: 2307, 2307, 2307, 2307, 487: 2307, 491: 2307, 495: 2307, 584: 2307, 593: 2307, 2307, 645: 2307, 2307, 2307, 2307},
- {2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 50: 2302, 475: 2302, 479: 2302, 2302, 2302, 2302, 487: 2302, 491: 2302, 495: 2302, 584: 2302, 593: 2302, 2302, 645: 2302, 2302, 2302, 2302},
- {2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 50: 2301, 475: 2301, 479: 2301, 2301, 2301, 2301, 487: 2301, 491: 2301, 495: 2301, 584: 2301, 593: 2301, 2301, 645: 2301, 2301, 2301, 2301},
+ {1335, 1335, 1335, 1335, 1335, 1335, 9: 1335, 56: 1335, 506: 1335},
+ {1334, 1334, 1334, 1334, 1334, 1334, 9: 1334, 56: 1334, 506: 1334},
+ {9: 1336, 56: 1336, 547: 4741, 560: 4740, 973: 4743},
+ {9: 2264, 56: 2264},
+ {2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 56: 2267, 490: 2267, 494: 2267, 2267, 2267, 2267, 2267, 506: 2267, 509: 2267, 599: 2267, 606: 2267, 612: 2267, 661: 2267, 2267, 2267, 665: 2267, 668: 2267},
// 2135
- {2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 50: 2300, 475: 2300, 479: 2300, 2300, 2300, 2300, 487: 2300, 491: 2300, 495: 2300, 584: 2300, 593: 2300, 2300, 645: 2300, 2300, 2300, 2300},
- {2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 50: 2308, 475: 2308, 479: 2308, 2308, 2308, 2308, 487: 2308, 491: 2308, 495: 2308, 584: 2308, 593: 2308, 2308, 645: 2308, 2308, 2308, 2308},
- {2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 50: 2299, 475: 2299, 479: 2299, 2299, 2299, 2299, 487: 2299, 491: 2299, 495: 2299, 584: 2299, 593: 2299, 2299, 645: 2299, 2299, 2299, 2299},
- {2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 50: 2298, 475: 2298, 479: 2298, 2298, 2298, 2298, 487: 2298, 491: 2298, 495: 2298, 584: 2298, 593: 2298, 2298, 645: 2298, 2298, 2298, 2298},
- {2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 50: 2297, 475: 2297, 479: 2297, 2297, 2297, 2297, 487: 2297, 491: 2297, 495: 2297, 584: 2297, 593: 2297, 2297, 645: 2297, 2297, 2297, 2297},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 4736, 685: 4248, 2843, 2844, 2842, 765: 4735, 848: 4746},
+ {9: 2265, 56: 2265},
+ {226: 4769, 383: 4770, 402: 4771},
+ {2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 56: 2321, 490: 2321, 494: 2321, 2321, 2321, 2321, 2321, 506: 2321, 509: 2321, 599: 2321, 606: 2321, 612: 2321, 661: 2321, 2321, 2321, 665: 2321},
+ {2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 56: 2317, 490: 4751, 494: 2317, 2317, 2317, 2317, 2317, 506: 2317, 509: 2317, 599: 2317, 606: 2317, 612: 2317, 661: 2317, 2317, 2317, 665: 2317, 1115: 4752, 4753, 1290: 4750},
// 2140
- {2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 50: 2309, 475: 2309, 479: 2309, 2309, 2309, 2309, 487: 2309, 491: 2309, 495: 2309, 584: 2309, 593: 2309, 2309, 645: 2309, 2309, 2309, 2309},
- {476: 4699},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4700},
- {50: 4701, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 50: 2294, 475: 2294, 479: 2294, 2294, 2294, 2294, 487: 2294, 491: 2294, 495: 2294, 584: 2294, 593: 2294, 2294, 645: 2294, 2294, 2294, 2294, 1321: 4704, 1351: 4703, 4702},
+ {2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 56: 2320, 490: 2320, 494: 2320, 2320, 2320, 2320, 2320, 506: 2320, 509: 2320, 599: 2320, 606: 2320, 612: 2320, 661: 2320, 2320, 2320, 665: 2320},
+ {673: 4767, 760: 4756},
+ {2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 56: 2316, 490: 4765, 494: 2316, 2316, 2316, 2316, 2316, 506: 2316, 509: 2316, 599: 2316, 606: 2316, 612: 2316, 661: 2316, 2316, 2316, 665: 2316, 1116: 4766},
+ {2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 56: 2315, 490: 4754, 494: 2315, 2315, 2315, 2315, 2315, 506: 2315, 509: 2315, 599: 2315, 606: 2315, 612: 2315, 661: 2315, 2315, 2315, 665: 2315, 1115: 4755},
+ {760: 4756},
// 2145
- {2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 50: 2311, 475: 2311, 479: 2311, 2311, 2311, 2311, 487: 2311, 491: 2311, 495: 2311, 584: 2311, 593: 2311, 2311, 645: 2311, 2311, 2311, 2311},
- {2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 50: 2293, 475: 2293, 479: 2293, 2293, 2293, 2293, 487: 2293, 491: 2293, 495: 2293, 584: 2293, 593: 2293, 2293, 645: 2293, 2293, 2293, 2293},
- {2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 50: 2292, 475: 2292, 479: 2292, 2292, 2292, 2292, 487: 2292, 491: 2292, 495: 2292, 584: 2292, 593: 2292, 2292, 645: 2292, 2292, 2292, 2292},
- {476: 4706},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4707},
+ {2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 56: 2313, 490: 2313, 494: 2313, 2313, 2313, 2313, 2313, 506: 2313, 509: 2313, 599: 2313, 606: 2313, 612: 2313, 661: 2313, 2313, 2313, 665: 2313},
+ {79: 4761, 525: 4760, 690: 4759, 692: 4758, 1139: 4757},
+ {2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 56: 2319, 490: 2319, 494: 2319, 2319, 2319, 2319, 2319, 506: 2319, 509: 2319, 599: 2319, 606: 2319, 612: 2319, 661: 2319, 2319, 2319, 665: 2319},
+ {2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 56: 2312, 490: 2312, 494: 2312, 2312, 2312, 2312, 2312, 506: 2312, 509: 2312, 599: 2312, 606: 2312, 612: 2312, 661: 2312, 2312, 2312, 665: 2312},
+ {2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 2311, 56: 2311, 490: 2311, 494: 2311, 2311, 2311, 2311, 2311, 506: 2311, 509: 2311, 599: 2311, 606: 2311, 612: 2311, 661: 2311, 2311, 2311, 665: 2311},
// 2150
- {50: 4708, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2327, 2327, 2327, 2327, 2327, 2327, 2327, 2327, 2327, 2327, 2327, 2327, 2327, 2327, 2327, 50: 2327, 152: 4459, 475: 2327, 479: 4115, 4114, 2327, 2327, 487: 2327, 491: 2327, 495: 2327, 584: 2327, 593: 2327, 2327, 645: 2327, 2327, 2327, 2327, 815: 4709, 939: 4710, 1045: 4711, 1217: 4712},
- {152: 4461, 495: 4713},
- {2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 50: 2326, 475: 2326, 479: 2326, 2326, 2326, 2326, 487: 2326, 491: 2326, 495: 2326, 584: 2326, 593: 2326, 2326, 645: 2326, 2326, 2326, 2326},
- {2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 50: 2324, 475: 2324, 479: 2324, 2324, 2324, 2324, 487: 2324, 491: 2324, 495: 2324, 584: 2324, 593: 2324, 2324, 645: 2324, 2324, 2324, 2324},
+ {495: 4764, 509: 4763},
+ {323: 4762},
+ {2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 56: 2309, 490: 2309, 494: 2309, 2309, 2309, 2309, 2309, 506: 2309, 509: 2309, 599: 2309, 606: 2309, 612: 2309, 661: 2309, 2309, 2309, 665: 2309},
+ {2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, 56: 2310, 490: 2310, 494: 2310, 2310, 2310, 2310, 2310, 506: 2310, 509: 2310, 599: 2310, 606: 2310, 612: 2310, 661: 2310, 2310, 2310, 665: 2310},
+ {2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 56: 2308, 490: 2308, 494: 2308, 2308, 2308, 2308, 2308, 506: 2308, 509: 2308, 599: 2308, 606: 2308, 612: 2308, 661: 2308, 2308, 2308, 665: 2308},
// 2155
- {2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 2312, 50: 2312, 475: 2312, 479: 2312, 2312, 2312, 2312, 487: 2312, 491: 2312, 495: 2312, 584: 2312, 593: 2312, 2312, 645: 2312, 2312, 2312, 2312},
- {2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 50: 2325, 475: 2325, 479: 2325, 2325, 2325, 2325, 487: 2325, 491: 2325, 495: 2325, 584: 2325, 593: 2325, 2325, 645: 2325, 2325, 2325, 2325},
- {2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 50: 2313, 475: 2313, 479: 2313, 2313, 2313, 2313, 487: 2313, 491: 2313, 495: 2313, 584: 2313, 593: 2313, 2313, 645: 2313, 2313, 2313, 2313},
- {588: 4722, 4719, 591: 4720, 4721, 951: 4717, 4718, 4716},
- {2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 50: 2314, 475: 2314, 479: 2314, 2314, 2314, 2314, 487: 2314, 491: 2314, 495: 2314, 584: 2314, 593: 2314, 2314, 645: 2314, 2314, 2314, 2314},
+ {673: 4767},
+ {2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 2314, 56: 2314, 490: 2314, 494: 2314, 2314, 2314, 2314, 2314, 506: 2314, 509: 2314, 599: 2314, 606: 2314, 612: 2314, 661: 2314, 2314, 2314, 665: 2314},
+ {79: 4761, 525: 4760, 690: 4759, 692: 4758, 1139: 4768},
+ {2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 56: 2318, 490: 2318, 494: 2318, 2318, 2318, 2318, 2318, 506: 2318, 509: 2318, 599: 2318, 606: 2318, 612: 2318, 661: 2318, 2318, 2318, 665: 2318},
+ {2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 56: 2325, 490: 2325, 494: 2325, 2325, 2325, 2325, 2325, 506: 2325, 509: 2325, 599: 2325, 606: 2325, 612: 2325, 661: 2325, 2325, 2325, 665: 2325},
// 2160
- {2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 50: 2254, 475: 2254, 479: 2254, 2254, 2254, 2254, 487: 2254, 491: 2254, 495: 2254, 584: 2254, 593: 2254, 2254, 645: 2254, 2254, 2254, 2254},
- {476: 4723},
- {2245, 2245, 2245, 2245, 2245, 2245, 2245, 2245, 2245, 2245, 2245, 2245, 2245, 2245, 2245, 50: 2245, 475: 2245, 2249, 479: 2245, 2245, 2245, 2245, 487: 2245, 491: 2245, 495: 2245, 584: 2245, 593: 2245, 2245, 645: 2245, 2245, 2245, 2245},
- {2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 50: 2244, 475: 2244, 2248, 479: 2244, 2244, 2244, 2244, 487: 2244, 491: 2244, 495: 2244, 584: 2244, 593: 2244, 2244, 645: 2244, 2244, 2244, 2244},
- {2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 50: 2243, 475: 2243, 2247, 479: 2243, 2243, 2243, 2243, 487: 2243, 491: 2243, 495: 2243, 584: 2243, 593: 2243, 2243, 645: 2243, 2243, 2243, 2243},
+ {2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 56: 2324, 490: 2324, 494: 2324, 2324, 2324, 2324, 2324, 506: 2324, 509: 2324, 599: 2324, 606: 2324, 612: 2324, 661: 2324, 2324, 2324, 665: 2324},
+ {2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 56: 2323, 490: 2323, 494: 2323, 2323, 2323, 2323, 2323, 506: 2323, 509: 2323, 599: 2323, 606: 2323, 612: 2323, 661: 2323, 2323, 2323, 665: 2323},
+ {2334, 2334, 2334, 2334, 2334, 2334, 2334, 2334, 2334, 2334, 2334, 2334, 2334, 2334, 2334, 56: 2334, 490: 2334, 494: 2334, 2334, 2334, 2334, 2334, 506: 2334, 509: 2334, 599: 2334, 606: 2334, 612: 2334, 661: 2334, 2334, 2334, 665: 2334},
+ {497: 2339},
+ {2350, 2350, 2350, 2350, 2350, 2350, 2350, 2350, 2350, 2350, 2350, 2350, 2350, 2350, 2350, 56: 2350, 490: 2350, 494: 2350, 2350, 2350, 2350, 2350, 506: 2350, 509: 2350, 599: 2350, 606: 2350, 612: 2350, 661: 2350, 2350, 2350, 665: 2350},
// 2165
- {476: 2246},
- {50: 4724, 511: 2759, 737: 4725},
- {2253, 2253, 2253, 2253, 2253, 2253, 2253, 2253, 2253, 2253, 2253, 2253, 2253, 2253, 2253, 50: 2253, 475: 2253, 479: 2253, 2253, 2253, 2253, 487: 2253, 491: 2253, 495: 2253, 584: 2253, 593: 2253, 2253, 645: 2253, 2253, 2253, 2253},
- {50: 4726},
- {2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 50: 2252, 475: 2252, 479: 2252, 2252, 2252, 2252, 487: 2252, 491: 2252, 495: 2252, 584: 2252, 593: 2252, 2252, 645: 2252, 2252, 2252, 2252},
+ {524: 2817, 754: 2816, 761: 4776},
+ {9: 4778, 56: 4777},
+ {2348, 2348, 2348, 2348, 2348, 2348, 2348, 2348, 2348, 2348, 2348, 2348, 2348, 2348, 2348, 56: 2348, 490: 2348, 494: 2348, 2348, 2348, 2348, 2348, 506: 2348, 509: 2348, 599: 2348, 606: 2348, 612: 2348, 661: 2348, 2348, 2348, 665: 2348},
+ {524: 2817, 754: 2816, 761: 4779},
+ {56: 4780},
// 2170
- {160: 4728},
- {2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 50: 2315, 475: 2315, 479: 2315, 2315, 2315, 2315, 487: 2315, 491: 2315, 495: 2315, 584: 2315, 593: 2315, 2315, 645: 2315, 2315, 2315, 2315},
- {2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 50: 2316, 475: 2316, 479: 2316, 2316, 2316, 2316, 487: 2316, 491: 2316, 495: 2316, 584: 2316, 593: 2316, 2316, 645: 2316, 2316, 2316, 2316},
- {2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 50: 2263, 475: 2263, 479: 2263, 2263, 2263, 2263, 487: 2263, 491: 2263, 495: 2263, 584: 2263, 593: 2263, 2263, 645: 2263, 2263, 2263, 2263},
- {2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 50: 2262, 475: 2262, 479: 2262, 2262, 2262, 2262, 487: 2262, 491: 2262, 495: 2262, 584: 2262, 593: 2262, 2262, 645: 2262, 2262, 2262, 2262},
+ {2347, 2347, 2347, 2347, 2347, 2347, 2347, 2347, 2347, 2347, 2347, 2347, 2347, 2347, 2347, 56: 2347, 490: 2347, 494: 2347, 2347, 2347, 2347, 2347, 506: 2347, 509: 2347, 599: 2347, 606: 2347, 612: 2347, 661: 2347, 2347, 2347, 665: 2347},
+ {2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 56: 2351, 490: 2351, 494: 2351, 2351, 2351, 2351, 2351, 506: 2351, 509: 2351, 599: 2351, 606: 2351, 612: 2351, 661: 2351, 2351, 2351, 665: 2351},
+ {2346, 2346, 2346, 2346, 2346, 2346, 2346, 2346, 2346, 2346, 2346, 2346, 2346, 2346, 2346, 56: 2346, 490: 2346, 494: 2346, 2346, 2346, 2346, 2346, 506: 2346, 509: 2346, 599: 2346, 606: 2346, 612: 2346, 661: 2346, 2346, 2346, 665: 2346},
+ {2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 56: 2345, 490: 2345, 494: 2345, 2345, 2345, 2345, 2345, 506: 2345, 509: 2345, 599: 2345, 606: 2345, 612: 2345, 661: 2345, 2345, 2345, 665: 2345},
+ {2344, 2344, 2344, 2344, 2344, 2344, 2344, 2344, 2344, 2344, 2344, 2344, 2344, 2344, 2344, 56: 2344, 490: 2344, 494: 2344, 2344, 2344, 2344, 2344, 506: 2344, 509: 2344, 599: 2344, 606: 2344, 612: 2344, 661: 2344, 2344, 2344, 665: 2344},
// 2175
- {2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 50: 2261, 475: 2261, 479: 2261, 2261, 2261, 2261, 487: 2261, 491: 2261, 495: 2261, 584: 2261, 593: 2261, 2261, 645: 2261, 2261, 2261, 2261},
- {2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260, 50: 2260, 475: 2260, 479: 2260, 2260, 2260, 2260, 487: 2260, 491: 2260, 495: 2260, 584: 2260, 593: 2260, 2260, 645: 2260, 2260, 2260, 2260},
- {130: 4735, 476: 4734, 588: 4722, 4719, 591: 4720, 4721, 904: 4743, 951: 4717, 4718, 4736, 1089: 4744},
- {476: 4739},
- {2255, 2255, 2255, 2255, 2255, 2255, 2255, 2255, 2255, 2255, 2255, 2255, 2255, 2255, 2255, 50: 2255, 475: 2255, 479: 2255, 2255, 2255, 2255, 487: 2255, 491: 2255, 495: 2255, 584: 2255, 593: 2255, 2255, 645: 2255, 2255, 2255, 2255},
+ {2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2352, 56: 2352, 490: 2352, 494: 2352, 2352, 2352, 2352, 2352, 506: 2352, 509: 2352, 599: 2352, 606: 2352, 612: 2352, 661: 2352, 2352, 2352, 665: 2352},
+ {2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 2343, 56: 2343, 490: 2343, 494: 2343, 2343, 2343, 2343, 2343, 506: 2343, 509: 2343, 599: 2343, 606: 2343, 612: 2343, 661: 2343, 2343, 2343, 665: 2343},
+ {2342, 2342, 2342, 2342, 2342, 2342, 2342, 2342, 2342, 2342, 2342, 2342, 2342, 2342, 2342, 56: 2342, 490: 2342, 494: 2342, 2342, 2342, 2342, 2342, 506: 2342, 509: 2342, 599: 2342, 606: 2342, 612: 2342, 661: 2342, 2342, 2342, 665: 2342},
+ {2341, 2341, 2341, 2341, 2341, 2341, 2341, 2341, 2341, 2341, 2341, 2341, 2341, 2341, 2341, 56: 2341, 490: 2341, 494: 2341, 2341, 2341, 2341, 2341, 506: 2341, 509: 2341, 599: 2341, 606: 2341, 612: 2341, 661: 2341, 2341, 2341, 665: 2341},
+ {2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 56: 2353, 490: 2353, 494: 2353, 2353, 2353, 2353, 2353, 506: 2353, 509: 2353, 599: 2353, 606: 2353, 612: 2353, 661: 2353, 2353, 2353, 665: 2353},
// 2180
- {160: 4205},
- {476: 4202},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 4740, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3614, 782: 4741},
- {2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 50: 2258, 475: 2258, 479: 2258, 2258, 2258, 2258, 487: 2258, 491: 2258, 495: 2258, 584: 2258, 593: 2258, 2258, 645: 2258, 2258, 2258, 2258},
- {9: 3616, 50: 4742},
+ {491: 4791},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4792},
+ {56: 4793, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2338, 2338, 2338, 2338, 2338, 2338, 2338, 2338, 2338, 2338, 2338, 2338, 2338, 2338, 2338, 56: 2338, 490: 2338, 494: 2338, 2338, 2338, 2338, 2338, 506: 2338, 509: 2338, 599: 2338, 606: 2338, 612: 2338, 661: 2338, 2338, 2338, 665: 2338, 1344: 4796, 1374: 4795, 4794},
+ {2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 56: 2355, 490: 2355, 494: 2355, 2355, 2355, 2355, 2355, 506: 2355, 509: 2355, 599: 2355, 606: 2355, 612: 2355, 661: 2355, 2355, 2355, 665: 2355},
// 2185
- {2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 2257, 50: 2257, 475: 2257, 479: 2257, 2257, 2257, 2257, 487: 2257, 491: 2257, 495: 2257, 584: 2257, 593: 2257, 2257, 645: 2257, 2257, 2257, 2257},
- {50: 4746},
- {50: 4745},
- {2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 50: 2256, 475: 2256, 479: 2256, 2256, 2256, 2256, 487: 2256, 491: 2256, 495: 2256, 584: 2256, 593: 2256, 2256, 645: 2256, 2256, 2256, 2256},
- {2259, 2259, 2259, 2259, 2259, 2259, 2259, 2259, 2259, 2259, 2259, 2259, 2259, 2259, 2259, 50: 2259, 475: 2259, 479: 2259, 2259, 2259, 2259, 487: 2259, 491: 2259, 495: 2259, 584: 2259, 593: 2259, 2259, 645: 2259, 2259, 2259, 2259},
+ {2337, 2337, 2337, 2337, 2337, 2337, 2337, 2337, 2337, 2337, 2337, 2337, 2337, 2337, 2337, 56: 2337, 490: 2337, 494: 2337, 2337, 2337, 2337, 2337, 506: 2337, 509: 2337, 599: 2337, 606: 2337, 612: 2337, 661: 2337, 2337, 2337, 665: 2337},
+ {2336, 2336, 2336, 2336, 2336, 2336, 2336, 2336, 2336, 2336, 2336, 2336, 2336, 2336, 2336, 56: 2336, 490: 2336, 494: 2336, 2336, 2336, 2336, 2336, 506: 2336, 509: 2336, 599: 2336, 606: 2336, 612: 2336, 661: 2336, 2336, 2336, 665: 2336},
+ {491: 4798},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4799},
+ {56: 4800, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
// 2190
- {2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 50: 2317, 475: 2317, 479: 2317, 2317, 2317, 2317, 487: 2317, 491: 2317, 495: 2317, 584: 2317, 593: 2317, 2317, 645: 2317, 2317, 2317, 2317},
- {2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 50: 2320, 86: 4749, 88: 4750, 475: 2320, 479: 2320, 2320, 2320, 2320, 487: 2320, 491: 2320, 495: 2320, 584: 2320, 593: 2320, 2320, 645: 2320, 2320, 2320, 2320, 873: 4751},
- {2452, 2452, 2452, 2452, 2452, 2452, 2452, 2452, 2452, 2452, 2452, 2452, 2452, 2452, 2452, 19: 2452, 50: 2452, 84: 2452, 2452, 2452, 2452, 2452, 90: 2452, 475: 2452, 477: 2452, 479: 2452, 2452, 2452, 2452, 484: 2452, 487: 2452, 491: 2452, 495: 2452, 500: 2452, 584: 2452, 593: 2452, 2452, 645: 2452, 2452, 2452, 2452},
- {2451, 2451, 2451, 2451, 2451, 2451, 2451, 2451, 2451, 2451, 2451, 2451, 2451, 2451, 2451, 19: 2451, 50: 2451, 84: 2451, 2451, 2451, 2451, 2451, 90: 2451, 475: 2451, 477: 2451, 479: 2451, 2451, 2451, 2451, 484: 2451, 487: 2451, 491: 2451, 495: 2451, 500: 2451, 584: 2451, 593: 2451, 2451, 645: 2451, 2451, 2451, 2451},
- {2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 50: 2319, 475: 2319, 479: 2319, 2319, 2319, 2319, 487: 2319, 491: 2319, 495: 2319, 584: 2319, 593: 2319, 2319, 645: 2319, 2319, 2319, 2319},
+ {2371, 2371, 2371, 2371, 2371, 2371, 2371, 2371, 2371, 2371, 2371, 2371, 2371, 2371, 2371, 56: 2371, 163: 4551, 490: 2371, 494: 4190, 2371, 4189, 2371, 2371, 506: 2371, 509: 2371, 599: 2371, 606: 2371, 612: 2371, 661: 2371, 2371, 2371, 665: 2371, 833: 4801, 958: 4802, 1065: 4803, 1240: 4804},
+ {163: 4553, 509: 4805},
+ {2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 56: 2370, 490: 2370, 494: 2370, 2370, 2370, 2370, 2370, 506: 2370, 509: 2370, 599: 2370, 606: 2370, 612: 2370, 661: 2370, 2370, 2370, 665: 2370},
+ {2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 2368, 56: 2368, 490: 2368, 494: 2368, 2368, 2368, 2368, 2368, 506: 2368, 509: 2368, 599: 2368, 606: 2368, 612: 2368, 661: 2368, 2368, 2368, 665: 2368},
+ {2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 56: 2356, 490: 2356, 494: 2356, 2356, 2356, 2356, 2356, 506: 2356, 509: 2356, 599: 2356, 606: 2356, 612: 2356, 661: 2356, 2356, 2356, 665: 2356},
// 2195
- {2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 50: 2323, 475: 2323, 479: 2323, 2323, 2323, 2323, 487: 2323, 491: 2323, 495: 2323, 584: 2323, 593: 2323, 2323, 645: 2323, 2323, 2323, 2323},
- {584: 2424, 593: 2424, 2424, 645: 2424, 652: 2424, 678: 2424, 2424},
- {2423, 2423, 2423, 2423, 2423, 2423, 9: 2423, 491: 2423, 584: 2423, 593: 2423, 2423, 645: 2423, 652: 2423, 678: 2423, 2423},
- {2356, 2356, 2356, 2356, 2356, 2356, 9: 2356, 2356, 2356, 50: 2356, 491: 2356},
- {2482, 2482, 2482, 2482, 2482, 2482, 9: 2482, 491: 2482},
+ {2369, 2369, 2369, 2369, 2369, 2369, 2369, 2369, 2369, 2369, 2369, 2369, 2369, 2369, 2369, 56: 2369, 490: 2369, 494: 2369, 2369, 2369, 2369, 2369, 506: 2369, 509: 2369, 599: 2369, 606: 2369, 612: 2369, 661: 2369, 2369, 2369, 665: 2369},
+ {2357, 2357, 2357, 2357, 2357, 2357, 2357, 2357, 2357, 2357, 2357, 2357, 2357, 2357, 2357, 56: 2357, 490: 2357, 494: 2357, 2357, 2357, 2357, 2357, 506: 2357, 509: 2357, 599: 2357, 606: 2357, 612: 2357, 661: 2357, 2357, 2357, 665: 2357},
+ {604: 4817, 4816, 607: 4812, 4813, 610: 4814, 4815, 955: 4811, 970: 4809, 4810, 4808},
+ {2358, 2358, 2358, 2358, 2358, 2358, 2358, 2358, 2358, 2358, 2358, 2358, 2358, 2358, 2358, 56: 2358, 490: 2358, 494: 2358, 2358, 2358, 2358, 2358, 506: 2358, 509: 2358, 599: 2358, 606: 2358, 612: 2358, 661: 2358, 2358, 2358, 665: 2358},
+ {2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 56: 2298, 490: 2298, 494: 2298, 2298, 2298, 2298, 2298, 506: 2298, 509: 2298, 599: 2298, 606: 2298, 612: 2298, 661: 2298, 2298, 2298, 665: 2298},
// 2200
- {2434, 2434, 2434, 2434, 2434, 2434, 9: 2434, 491: 2434},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4759},
- {2433, 2433, 2433, 2433, 2433, 2433, 9: 2433, 491: 2433},
- {2: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 10: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 51: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 567: 4478, 784: 4761},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4482, 853: 4762},
+ {491: 4820},
+ {491: 4818},
+ {2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 56: 2294, 490: 2294, 2283, 494: 2294, 2294, 2294, 2294, 2294, 506: 2294, 509: 2294, 599: 2294, 606: 2294, 612: 2294, 661: 2294, 2294, 2294, 665: 2294},
+ {2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 56: 2287, 490: 2287, 2291, 494: 2287, 2287, 2287, 2287, 2287, 506: 2287, 509: 2287, 599: 2287, 606: 2287, 612: 2287, 661: 2287, 2287, 2287, 665: 2287},
+ {2286, 2286, 2286, 2286, 2286, 2286, 2286, 2286, 2286, 2286, 2286, 2286, 2286, 2286, 2286, 56: 2286, 490: 2286, 2290, 494: 2286, 2286, 2286, 2286, 2286, 506: 2286, 509: 2286, 599: 2286, 606: 2286, 612: 2286, 661: 2286, 2286, 2286, 665: 2286},
// 2205
- {2435, 2435, 2435, 2435, 2435, 2435, 9: 2435, 4757, 4758, 491: 2435, 934: 4763},
- {2483, 2483, 2483, 2483, 2483, 2483, 9: 2483, 491: 2483},
- {2484, 2484, 2484, 2484, 2484, 2484, 9: 2484, 491: 2484},
- {2485, 2485, 2485, 2485, 2485, 2485, 9: 2485, 491: 2485},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4769, 990: 4768, 1177: 4767},
+ {2285, 2285, 2285, 2285, 2285, 2285, 2285, 2285, 2285, 2285, 2285, 2285, 2285, 2285, 2285, 56: 2285, 490: 2285, 2289, 494: 2285, 2285, 2285, 2285, 2285, 506: 2285, 509: 2285, 599: 2285, 606: 2285, 612: 2285, 661: 2285, 2285, 2285, 665: 2285},
+ {491: 2288},
+ {491: 2284},
+ {56: 4819},
+ {2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 56: 2295, 490: 2295, 494: 2295, 2295, 2295, 2295, 2295, 506: 2295, 509: 2295, 599: 2295, 606: 2295, 612: 2295, 661: 2295, 2295, 2295, 665: 2295},
// 2210
- {2486, 2486, 2486, 2486, 2486, 2486, 9: 4771, 491: 2486},
- {1324, 1324, 1324, 1324, 1324, 1324, 9: 1324, 491: 1324},
- {1314, 1314, 1314, 1314, 1314, 1314, 9: 1314, 491: 1314, 532: 4649, 534: 4648, 954: 4770},
- {1322, 1322, 1322, 1322, 1322, 1322, 9: 1322, 491: 1322},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4769, 990: 4772},
+ {56: 4821, 524: 2817, 754: 4822},
+ {2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 56: 2297, 490: 2297, 494: 2297, 2297, 2297, 2297, 2297, 506: 2297, 509: 2297, 599: 2297, 606: 2297, 612: 2297, 661: 2297, 2297, 2297, 665: 2297},
+ {56: 4823},
+ {2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 56: 2296, 490: 2296, 494: 2296, 2296, 2296, 2296, 2296, 506: 2296, 509: 2296, 599: 2296, 606: 2296, 612: 2296, 661: 2296, 2296, 2296, 665: 2296},
+ {172: 4825},
// 2215
- {1323, 1323, 1323, 1323, 1323, 1323, 9: 1323, 491: 1323},
- {2: 582, 582, 582, 582, 582, 582, 582, 10: 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 51: 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 4776, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 654: 582, 816: 4775, 833: 4774},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 654: 4778, 664: 4780, 2785, 2786, 2784, 791: 4779, 836: 4777},
- {581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 51: 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 476: 581, 491: 581, 511: 581, 533: 581, 572: 581, 654: 581},
- {580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 51: 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 476: 580, 491: 580, 511: 580, 533: 580, 572: 580, 654: 580},
+ {2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 56: 2359, 490: 2359, 494: 2359, 2359, 2359, 2359, 2359, 506: 2359, 509: 2359, 599: 2359, 606: 2359, 612: 2359, 661: 2359, 2359, 2359, 665: 2359},
+ {2360, 2360, 2360, 2360, 2360, 2360, 2360, 2360, 2360, 2360, 2360, 2360, 2360, 2360, 2360, 56: 2360, 490: 2360, 494: 2360, 2360, 2360, 2360, 2360, 506: 2360, 509: 2360, 599: 2360, 606: 2360, 612: 2360, 661: 2360, 2360, 2360, 665: 2360},
+ {2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 56: 2307, 490: 2307, 494: 2307, 2307, 2307, 2307, 2307, 506: 2307, 509: 2307, 599: 2307, 606: 2307, 612: 2307, 661: 2307, 2307, 2307, 665: 2307},
+ {2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 56: 2306, 490: 2306, 494: 2306, 2306, 2306, 2306, 2306, 506: 2306, 509: 2306, 599: 2306, 606: 2306, 612: 2306, 661: 2306, 2306, 2306, 665: 2306},
+ {2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 2305, 56: 2305, 490: 2305, 494: 2305, 2305, 2305, 2305, 2305, 506: 2305, 509: 2305, 599: 2305, 606: 2305, 612: 2305, 661: 2305, 2305, 2305, 665: 2305},
// 2220
- {2489, 2489, 2489, 2489, 2489, 2489, 9: 2489, 491: 2489},
- {2458, 2458, 2458, 2458, 2458, 2458, 9: 2458, 20: 2458, 491: 2458},
- {2457, 2457, 2457, 2457, 2457, 2457, 9: 4781, 20: 2457, 491: 2457},
- {2428, 2428, 2428, 2428, 2428, 2428, 9: 2428, 20: 2428, 50: 2428, 103: 2428, 168: 2428, 170: 2428, 477: 2428, 491: 2428, 499: 2428, 652: 2428, 654: 2428},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4782, 2785, 2786, 2784},
+ {2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 56: 2304, 490: 2304, 494: 2304, 2304, 2304, 2304, 2304, 506: 2304, 509: 2304, 599: 2304, 606: 2304, 612: 2304, 661: 2304, 2304, 2304, 665: 2304},
+ {141: 4832, 491: 4831, 604: 4817, 4816, 607: 4812, 4813, 610: 4814, 4815, 922: 4840, 955: 4811, 970: 4809, 4810, 4833, 1109: 4841},
+ {491: 4836},
+ {2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 56: 2299, 490: 2299, 494: 2299, 2299, 2299, 2299, 2299, 506: 2299, 509: 2299, 599: 2299, 606: 2299, 612: 2299, 661: 2299, 2299, 2299, 665: 2299},
+ {172: 4284},
// 2225
- {2427, 2427, 2427, 2427, 2427, 2427, 9: 2427, 20: 2427, 50: 2427, 103: 2427, 168: 2427, 170: 2427, 477: 2427, 491: 2427, 499: 2427, 652: 2427, 654: 2427},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 654: 4778, 664: 4780, 2785, 2786, 2784, 791: 4779, 836: 4785},
- {2490, 2490, 2490, 2490, 2490, 2490, 9: 2490, 491: 2490},
- {20: 4786},
- {2492, 2492, 2492, 2492, 2492, 2492, 9: 2492, 491: 2492},
+ {491: 4281},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 4837, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 3687, 800: 4838},
+ {2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 56: 2302, 490: 2302, 494: 2302, 2302, 2302, 2302, 2302, 506: 2302, 509: 2302, 599: 2302, 606: 2302, 612: 2302, 661: 2302, 2302, 2302, 665: 2302},
+ {9: 3689, 56: 4839},
+ {2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 56: 2301, 490: 2301, 494: 2301, 2301, 2301, 2301, 2301, 506: 2301, 509: 2301, 599: 2301, 606: 2301, 612: 2301, 661: 2301, 2301, 2301, 665: 2301},
// 2230
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 654: 4778, 664: 4780, 2785, 2786, 2784, 791: 4779, 836: 4789},
- {2491, 2491, 2491, 2491, 2491, 2491, 9: 2491, 491: 2491},
- {20: 4790},
- {2493, 2493, 2493, 2493, 2493, 2493, 9: 2493, 491: 2493},
- {2: 582, 582, 582, 582, 582, 582, 582, 10: 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 51: 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 4776, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 654: 582, 816: 4775, 833: 4792},
+ {56: 4843},
+ {56: 4842},
+ {2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2300, 56: 2300, 490: 2300, 494: 2300, 2300, 2300, 2300, 2300, 506: 2300, 509: 2300, 599: 2300, 606: 2300, 612: 2300, 661: 2300, 2300, 2300, 665: 2300},
+ {2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 56: 2303, 490: 2303, 494: 2303, 2303, 2303, 2303, 2303, 506: 2303, 509: 2303, 599: 2303, 606: 2303, 612: 2303, 661: 2303, 2303, 2303, 665: 2303},
+ {2361, 2361, 2361, 2361, 2361, 2361, 2361, 2361, 2361, 2361, 2361, 2361, 2361, 2361, 2361, 56: 2361, 490: 2361, 494: 2361, 2361, 2361, 2361, 2361, 506: 2361, 509: 2361, 599: 2361, 606: 2361, 612: 2361, 661: 2361, 2361, 2361, 665: 2361},
// 2235
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 654: 4778, 664: 4780, 2785, 2786, 2784, 791: 4779, 836: 4793},
- {2494, 2494, 2494, 2494, 2494, 2494, 9: 2494, 491: 2494},
- {2: 582, 582, 582, 582, 582, 582, 582, 10: 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 51: 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 4776, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 654: 582, 816: 4775, 833: 4795},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 654: 4778, 664: 4780, 2785, 2786, 2784, 791: 4779, 836: 4796},
- {2495, 2495, 2495, 2495, 2495, 2495, 9: 2495, 491: 2495},
+ {2364, 2364, 2364, 2364, 2364, 2364, 2364, 2364, 2364, 2364, 2364, 2364, 2364, 2364, 2364, 56: 2364, 92: 4846, 94: 4847, 490: 2364, 494: 2364, 2364, 2364, 2364, 2364, 506: 2364, 509: 2364, 599: 2364, 606: 2364, 612: 2364, 661: 2364, 2364, 2364, 665: 2364, 891: 4848},
+ {2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 19: 2496, 56: 2496, 90: 2496, 2496, 2496, 2496, 2496, 96: 2496, 490: 2496, 493: 2496, 2496, 2496, 2496, 2496, 2496, 500: 2496, 506: 2496, 509: 2496, 517: 2496, 599: 2496, 606: 2496, 612: 2496, 661: 2496, 2496, 2496, 665: 2496},
+ {2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 19: 2495, 56: 2495, 90: 2495, 2495, 2495, 2495, 2495, 96: 2495, 490: 2495, 493: 2495, 2495, 2495, 2495, 2495, 2495, 500: 2495, 506: 2495, 509: 2495, 517: 2495, 599: 2495, 606: 2495, 612: 2495, 661: 2495, 2495, 2495, 665: 2495},
+ {2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 56: 2363, 490: 2363, 494: 2363, 2363, 2363, 2363, 2363, 506: 2363, 509: 2363, 599: 2363, 606: 2363, 612: 2363, 661: 2363, 2363, 2363, 665: 2363},
+ {2367, 2367, 2367, 2367, 2367, 2367, 2367, 2367, 2367, 2367, 2367, 2367, 2367, 2367, 2367, 56: 2367, 490: 2367, 494: 2367, 2367, 2367, 2367, 2367, 506: 2367, 509: 2367, 599: 2367, 606: 2367, 612: 2367, 661: 2367, 2367, 2367, 665: 2367},
// 2240
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 654: 4778, 664: 4780, 2785, 2786, 2784, 791: 4779, 836: 4798},
- {2496, 2496, 2496, 2496, 2496, 2496, 9: 2496, 491: 2496},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4800, 2785, 2786, 2784},
- {477: 4801},
- {572: 4802},
+ {599: 2468, 606: 2468, 612: 2468, 661: 2468, 667: 2468, 695: 2468, 2468},
+ {2467, 2467, 2467, 2467, 2467, 2467, 9: 2467, 506: 2467, 599: 2467, 606: 2467, 612: 2467, 661: 2467, 667: 2467, 695: 2467, 2467},
+ {2400, 2400, 2400, 2400, 2400, 2400, 9: 2400, 2400, 2400, 56: 2400, 506: 2400},
+ {2526, 2526, 2526, 2526, 2526, 2526, 9: 2526, 506: 2526},
+ {2478, 2478, 2478, 2478, 2478, 2478, 9: 2478, 506: 2478},
// 2245
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 4803},
- {2456, 2456, 2456, 2456, 2456, 2456, 9: 2456, 227: 4807, 477: 4806, 491: 2456, 1362: 4805, 4804},
- {2497, 2497, 2497, 2497, 2497, 2497, 9: 2497, 491: 2497},
- {2455, 2455, 2455, 2455, 2455, 2455, 9: 2455, 491: 2455},
- {203: 4809},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4856},
+ {2477, 2477, 2477, 2477, 2477, 2477, 9: 2477, 506: 2477},
+ {2: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 10: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 57: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 582: 4570, 799: 4858},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4574, 870: 4859},
+ {2479, 2479, 2479, 2479, 2479, 2479, 9: 2479, 4854, 4855, 506: 2479, 952: 4860},
// 2250
- {203: 4808},
- {2453, 2453, 2453, 2453, 2453, 2453, 9: 2453, 491: 2453},
- {2454, 2454, 2454, 2454, 2454, 2454, 9: 2454, 491: 2454},
- {154: 4811},
- {159: 4812},
+ {2527, 2527, 2527, 2527, 2527, 2527, 9: 2527, 506: 2527},
+ {2528, 2528, 2528, 2528, 2528, 2528, 9: 2528, 506: 2528},
+ {2529, 2529, 2529, 2529, 2529, 2529, 9: 2529, 506: 2529},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4866, 1008: 4865, 1200: 4864},
+ {2530, 2530, 2530, 2530, 2530, 2530, 9: 4868, 506: 2530},
// 2255
- {476: 4813},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 4814},
- {50: 4815, 488: 3712, 3713, 3718, 523: 3714, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711},
- {1877, 1877, 1877, 1877, 1877, 1877, 9: 1877, 491: 1877, 567: 4478, 784: 4816},
- {2499, 2499, 2499, 2499, 2499, 2499, 9: 2499, 491: 2499},
+ {1346, 1346, 1346, 1346, 1346, 1346, 9: 1346, 506: 1346},
+ {1336, 1336, 1336, 1336, 1336, 1336, 9: 1336, 506: 1336, 547: 4741, 560: 4740, 973: 4867},
+ {1344, 1344, 1344, 1344, 1344, 1344, 9: 1344, 506: 1344},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4866, 1008: 4869},
+ {1345, 1345, 1345, 1345, 1345, 1345, 9: 1345, 506: 1345},
// 2260
- {2: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 10: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 51: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 567: 4478, 784: 4835},
- {584: 4834},
- {2: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 10: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 51: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 567: 4478, 784: 4832},
- {2: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 10: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 51: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 567: 4478, 784: 4830},
- {2: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 10: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 51: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 567: 4478, 784: 4828},
+ {2: 602, 602, 602, 602, 602, 602, 602, 10: 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 57: 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 4873, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 670: 602, 834: 4872, 850: 4871},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 670: 4875, 685: 4877, 2843, 2844, 2842, 808: 4876, 853: 4874},
+ {601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 57: 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 491: 601, 506: 601, 524: 601, 548: 601, 587: 601, 670: 601},
+ {600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 57: 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 491: 600, 506: 600, 524: 600, 548: 600, 587: 600, 670: 600},
+ {2533, 2533, 2533, 2533, 2533, 2533, 9: 2533, 506: 2533},
// 2265
- {584: 4825},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4824, 2785, 2786, 2784},
- {2464, 2464, 2464, 2464, 2464, 2464, 9: 2464, 491: 2464},
- {2: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 10: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 51: 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 567: 4478, 784: 4826},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4754, 2785, 2786, 2784, 1152: 4827},
+ {2502, 2502, 2502, 2502, 2502, 2502, 9: 2502, 20: 2502, 506: 2502},
+ {2501, 2501, 2501, 2501, 2501, 2501, 9: 4878, 20: 2501, 506: 2501},
+ {2472, 2472, 2472, 2472, 2472, 2472, 9: 2472, 20: 2472, 56: 2472, 109: 2472, 180: 2472, 182: 2472, 493: 2472, 506: 2472, 515: 2472, 667: 2472, 670: 2472},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4879, 2843, 2844, 2842},
+ {2471, 2471, 2471, 2471, 2471, 2471, 9: 2471, 20: 2471, 56: 2471, 109: 2471, 180: 2471, 182: 2471, 493: 2471, 506: 2471, 515: 2471, 667: 2471, 670: 2471},
// 2270
- {2487, 2487, 2487, 2487, 2487, 2487, 9: 2487, 491: 2487},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4829, 2785, 2786, 2784},
- {2488, 2488, 2488, 2488, 2488, 2488, 9: 2488, 491: 2488},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4831, 2785, 2786, 2784},
- {2498, 2498, 2498, 2498, 2498, 2498, 9: 2498, 491: 2498},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 670: 4875, 685: 4877, 2843, 2844, 2842, 808: 4876, 853: 4882},
+ {2534, 2534, 2534, 2534, 2534, 2534, 9: 2534, 506: 2534},
+ {20: 4883},
+ {2536, 2536, 2536, 2536, 2536, 2536, 9: 2536, 506: 2536},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 670: 4875, 685: 4877, 2843, 2844, 2842, 808: 4876, 853: 4886},
// 2275
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4780, 2785, 2786, 2784, 791: 4833},
- {2500, 2500, 2500, 2500, 2500, 2500, 9: 4781, 491: 2500},
- {2501, 2501, 2501, 2501, 2501, 2501, 9: 2501, 491: 2501},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4836},
- {2069, 2069, 2069, 2069, 2069, 2069, 9: 2069, 491: 2069, 673: 4839, 675: 4838, 916: 4837},
+ {2535, 2535, 2535, 2535, 2535, 2535, 9: 2535, 506: 2535},
+ {20: 4887},
+ {2537, 2537, 2537, 2537, 2537, 2537, 9: 2537, 506: 2537},
+ {2: 602, 602, 602, 602, 602, 602, 602, 10: 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 57: 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 4873, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 670: 602, 834: 4872, 850: 4889},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 670: 4875, 685: 4877, 2843, 2844, 2842, 808: 4876, 853: 4890},
// 2280
- {2502, 2502, 2502, 2502, 2502, 2502, 9: 2502, 491: 2502},
- {2068, 2068, 2068, 2068, 2068, 2068, 9: 2068, 491: 2068},
- {2067, 2067, 2067, 2067, 2067, 2067, 9: 2067, 491: 2067},
- {141: 4776, 511: 582, 816: 4775, 833: 4841},
- {511: 2759, 737: 4842},
+ {2538, 2538, 2538, 2538, 2538, 2538, 9: 2538, 506: 2538},
+ {2: 602, 602, 602, 602, 602, 602, 602, 10: 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 57: 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 4873, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 670: 602, 834: 4872, 850: 4892},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 670: 4875, 685: 4877, 2843, 2844, 2842, 808: 4876, 853: 4893},
+ {2539, 2539, 2539, 2539, 2539, 2539, 9: 2539, 506: 2539},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 670: 4875, 685: 4877, 2843, 2844, 2842, 808: 4876, 853: 4895},
// 2285
- {2503, 2503, 2503, 2503, 2503, 2503, 9: 2503, 491: 2503},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 654: 4778, 664: 4780, 2785, 2786, 2784, 791: 4779, 836: 4844},
- {2504, 2504, 2504, 2504, 2504, 2504, 9: 2504, 491: 2504},
- {154: 4846},
- {159: 4847},
+ {2540, 2540, 2540, 2540, 2540, 2540, 9: 2540, 506: 2540},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4897, 2843, 2844, 2842},
+ {493: 4898},
+ {587: 4899},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4900},
// 2290
- {476: 4848},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 4849},
- {50: 4850, 488: 3712, 3713, 3718, 523: 3714, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711},
- {582, 582, 582, 582, 582, 582, 9: 582, 141: 4776, 491: 582, 816: 4775, 833: 4851},
- {2508, 2508, 2508, 2508, 2508, 2508, 9: 2508, 491: 2508},
+ {2500, 2500, 2500, 2500, 2500, 2500, 9: 2500, 239: 4904, 493: 4903, 506: 2500, 1385: 4902, 4901},
+ {2541, 2541, 2541, 2541, 2541, 2541, 9: 2541, 506: 2541},
+ {2499, 2499, 2499, 2499, 2499, 2499, 9: 2499, 506: 2499},
+ {215: 4906},
+ {215: 4905},
// 2295
- {2: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 10: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 51: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 476: 1875, 567: 4870, 790: 4984},
- {2511, 2511, 2511, 2511, 2511, 2511, 9: 2511, 491: 2511},
- {1875, 1875, 1875, 1875, 1875, 1875, 9: 1875, 92: 1875, 141: 1875, 476: 1875, 491: 1875, 567: 4870, 790: 4938, 816: 1875},
- {2: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 10: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 51: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 567: 4870, 790: 4929},
- {584: 4436, 593: 4862, 4857, 645: 4860, 652: 4437, 678: 4861, 4858, 832: 4859, 1206: 4863},
+ {2497, 2497, 2497, 2497, 2497, 2497, 9: 2497, 506: 2497},
+ {2498, 2498, 2498, 2498, 2498, 2498, 9: 2498, 506: 2498},
+ {165: 4908},
+ {170: 4909},
+ {491: 4910},
// 2300
- {584: 4923},
- {2: 2439, 2439, 2439, 2439, 2439, 2439, 2439, 10: 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 51: 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 476: 2439, 584: 4436, 652: 4437, 832: 4879, 1074: 4917},
- {2: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 10: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 51: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 476: 1875, 484: 1875, 567: 4870, 790: 4911},
- {2: 2439, 2439, 2439, 2439, 2439, 2439, 2439, 10: 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 51: 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 476: 2439, 484: 2439, 584: 4436, 652: 4437, 832: 4879, 1074: 4880},
- {584: 4868},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 4911},
+ {56: 4912, 503: 3785, 3786, 3791, 540: 3787, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784},
+ {1914, 1914, 1914, 1914, 1914, 1914, 9: 1914, 506: 1914, 582: 4570, 799: 4913},
+ {2543, 2543, 2543, 2543, 2543, 2543, 9: 2543, 506: 2543},
+ {2: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 10: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 57: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 582: 4570, 799: 4932},
// 2305
- {476: 4864},
- {453, 453, 453, 453, 453, 453, 9: 453, 50: 453, 491: 453},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 4865},
- {50: 4866, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2327, 2327, 2327, 2327, 2327, 2327, 9: 2327, 50: 2327, 152: 4459, 479: 4115, 4114, 491: 2327, 815: 4460, 939: 4710, 1045: 4867},
+ {599: 4931},
+ {2: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 10: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 57: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 582: 4570, 799: 4929},
+ {2: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 10: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 57: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 582: 4570, 799: 4927},
+ {2: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 10: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 57: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 582: 4570, 799: 4925},
+ {599: 4922},
// 2310
- {2282, 2282, 2282, 2282, 2282, 2282, 9: 2282, 50: 2282, 491: 2282},
- {2: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 10: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 51: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 476: 1875, 567: 4870, 790: 4869},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 1871, 664: 4874, 2785, 2786, 2784, 882: 4873},
- {479: 4115, 4114, 815: 4871},
- {586: 4872},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4921, 2843, 2844, 2842},
+ {2508, 2508, 2508, 2508, 2508, 2508, 9: 2508, 506: 2508},
+ {2: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 10: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 57: 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 582: 4570, 799: 4923},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4851, 2843, 2844, 2842, 1175: 4924},
+ {2531, 2531, 2531, 2531, 2531, 2531, 9: 2531, 506: 2531},
// 2315
- {1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 51: 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 476: 1874, 478: 1874, 484: 1874, 491: 1874, 573: 1874, 816: 1874},
- {476: 4875},
- {476: 1870},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 4644, 664: 4169, 2785, 2786, 2784, 748: 4643, 831: 4642, 841: 4876},
- {9: 4653, 50: 4877},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4926, 2843, 2844, 2842},
+ {2532, 2532, 2532, 2532, 2532, 2532, 9: 2532, 506: 2532},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4928, 2843, 2844, 2842},
+ {2542, 2542, 2542, 2542, 2542, 2542, 9: 2542, 506: 2542},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4877, 2843, 2844, 2842, 808: 4930},
// 2320
- {647: 4637, 915: 4878},
- {2283, 2283, 2283, 2283, 2283, 2283, 9: 2283, 50: 2283, 491: 2283},
- {2: 2438, 2438, 2438, 2438, 2438, 2438, 2438, 10: 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 51: 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 476: 2438, 484: 2438},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 1871, 484: 1871, 664: 4882, 2785, 2786, 2784, 882: 4883, 947: 4881},
- {476: 4891},
+ {2544, 2544, 2544, 2544, 2544, 2544, 9: 4878, 506: 2544},
+ {2545, 2545, 2545, 2545, 2545, 2545, 9: 2545, 506: 2545},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4933},
+ {2108, 2108, 2108, 2108, 2108, 2108, 9: 2108, 506: 2108, 690: 4936, 692: 4935, 934: 4934},
+ {2546, 2546, 2546, 2546, 2546, 2546, 9: 2546, 506: 2546},
// 2325
- {85: 4889, 476: 1870, 484: 1870},
- {476: 1861, 484: 4884},
- {146: 4887, 179: 4886, 195: 4888, 910: 4885},
- {476: 1860},
- {1854, 1854, 1854, 1854, 1854, 1854, 1854, 9: 1854, 19: 1854, 50: 1854, 84: 1854, 1854, 1854, 1854, 1854, 90: 1854, 475: 1854, 1854, 1854, 484: 1854, 491: 1854, 500: 1854},
+ {2107, 2107, 2107, 2107, 2107, 2107, 9: 2107, 506: 2107},
+ {2106, 2106, 2106, 2106, 2106, 2106, 9: 2106, 506: 2106},
+ {152: 4873, 524: 602, 834: 4872, 850: 4938},
+ {524: 2817, 754: 4939},
+ {2547, 2547, 2547, 2547, 2547, 2547, 9: 2547, 506: 2547},
// 2330
- {1853, 1853, 1853, 1853, 1853, 1853, 1853, 9: 1853, 19: 1853, 50: 1853, 84: 1853, 1853, 1853, 1853, 1853, 90: 1853, 475: 1853, 1853, 1853, 484: 1853, 491: 1853, 500: 1853},
- {1852, 1852, 1852, 1852, 1852, 1852, 1852, 9: 1852, 19: 1852, 50: 1852, 84: 1852, 1852, 1852, 1852, 1852, 90: 1852, 475: 1852, 1852, 1852, 484: 1852, 491: 1852, 500: 1852},
- {146: 4887, 179: 4886, 195: 4888, 910: 4890},
- {476: 1859},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 4644, 664: 4169, 2785, 2786, 2784, 748: 4643, 831: 4642, 841: 4892},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 670: 4875, 685: 4877, 2843, 2844, 2842, 808: 4876, 853: 4941},
+ {2548, 2548, 2548, 2548, 2548, 2548, 9: 2548, 506: 2548},
+ {165: 4943},
+ {170: 4944},
+ {491: 4945},
// 2335
- {9: 4653, 50: 4893},
- {1869, 1869, 1869, 1869, 1869, 1869, 1869, 9: 1869, 19: 1869, 50: 1869, 85: 1869, 1869, 1869, 1869, 90: 1869, 477: 1869, 484: 1869, 491: 1869, 884: 4894},
- {2284, 2284, 2284, 2284, 2284, 2284, 4899, 9: 2284, 19: 4896, 50: 2284, 85: 4903, 4749, 4456, 4750, 90: 4455, 477: 4898, 484: 4902, 491: 2284, 860: 4900, 862: 4897, 873: 4901, 883: 4895},
- {1868, 1868, 1868, 1868, 1868, 1868, 1868, 9: 1868, 19: 1868, 50: 1868, 84: 1868, 1868, 1868, 1868, 1868, 90: 1868, 477: 1868, 484: 1868, 491: 1868, 500: 1868},
- {502: 4307, 511: 2064, 741: 4909},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 4946},
+ {56: 4947, 503: 3785, 3786, 3791, 540: 3787, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784},
+ {602, 602, 602, 602, 602, 602, 9: 602, 152: 4873, 506: 602, 834: 4872, 850: 4948},
+ {2552, 2552, 2552, 2552, 2552, 2552, 9: 2552, 506: 2552},
+ {2: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 10: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 57: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 491: 1912, 582: 4967, 804: 5081},
// 2340
- {1866, 1866, 1866, 1866, 1866, 1866, 1866, 9: 1866, 19: 1866, 50: 1866, 84: 1866, 1866, 1866, 1866, 1866, 90: 1866, 477: 1866, 484: 1866, 491: 1866, 500: 1866},
- {370: 4907},
- {478: 4906},
- {1863, 1863, 1863, 1863, 1863, 1863, 1863, 9: 1863, 19: 1863, 50: 1863, 84: 1863, 1863, 1863, 1863, 1863, 90: 1863, 477: 1863, 484: 1863, 491: 1863, 500: 1863},
- {1862, 1862, 1862, 1862, 1862, 1862, 1862, 9: 1862, 19: 1862, 50: 1862, 84: 1862, 1862, 1862, 1862, 1862, 90: 1862, 477: 1862, 484: 1862, 491: 1862, 500: 1862},
+ {2555, 2555, 2555, 2555, 2555, 2555, 9: 2555, 506: 2555},
+ {1912, 1912, 1912, 1912, 1912, 1912, 9: 1912, 98: 1912, 152: 1912, 491: 1912, 506: 1912, 582: 4967, 804: 5035, 834: 1912},
+ {2: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 10: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 57: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 582: 4967, 804: 5026},
+ {599: 4528, 606: 4959, 612: 4954, 661: 4957, 667: 4529, 695: 4958, 4955, 849: 4956, 1229: 4960},
+ {599: 5020},
// 2345
- {146: 4887, 179: 4886, 195: 4888, 910: 4905},
- {146: 4887, 179: 4886, 195: 4888, 910: 4904},
- {1855, 1855, 1855, 1855, 1855, 1855, 1855, 9: 1855, 19: 1855, 50: 1855, 84: 1855, 1855, 1855, 1855, 1855, 90: 1855, 475: 1855, 477: 1855, 484: 1855, 491: 1855, 500: 1855},
- {1856, 1856, 1856, 1856, 1856, 1856, 1856, 9: 1856, 19: 1856, 50: 1856, 84: 1856, 1856, 1856, 1856, 1856, 90: 1856, 475: 1856, 477: 1856, 484: 1856, 491: 1856, 500: 1856},
- {1864, 1864, 1864, 1864, 1864, 1864, 1864, 9: 1864, 19: 1864, 50: 1864, 84: 1864, 1864, 1864, 1864, 1864, 90: 1864, 477: 1864, 484: 1864, 491: 1864, 500: 1864},
+ {2: 2483, 2483, 2483, 2483, 2483, 2483, 2483, 10: 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 57: 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 491: 2483, 599: 4528, 667: 4529, 849: 4976, 1094: 5014},
+ {2: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 10: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 57: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 491: 1912, 500: 1912, 582: 4967, 804: 5008},
+ {2: 2483, 2483, 2483, 2483, 2483, 2483, 2483, 10: 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 57: 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 491: 2483, 500: 2483, 599: 4528, 667: 4529, 849: 4976, 1094: 4977},
+ {599: 4965},
+ {491: 4961},
// 2350
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4908, 2785, 2786, 2784},
- {1865, 1865, 1865, 1865, 1865, 1865, 1865, 9: 1865, 19: 1865, 50: 1865, 84: 1865, 1865, 1865, 1865, 1865, 90: 1865, 477: 1865, 484: 1865, 491: 1865, 500: 1865},
- {511: 2759, 737: 2758, 745: 4910},
- {1867, 1867, 1867, 1867, 1867, 1867, 1867, 9: 1867, 19: 1867, 50: 1867, 84: 1867, 1867, 1867, 1867, 1867, 90: 1867, 477: 1867, 484: 1867, 491: 1867, 500: 1867},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 1871, 484: 1871, 664: 4882, 2785, 2786, 2784, 882: 4883, 947: 4912},
+ {471, 471, 471, 471, 471, 471, 9: 471, 56: 471, 506: 471},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4962},
+ {56: 4963, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {2371, 2371, 2371, 2371, 2371, 2371, 9: 2371, 56: 2371, 163: 4551, 494: 4190, 496: 4189, 506: 2371, 833: 4552, 958: 4802, 1065: 4964},
+ {2326, 2326, 2326, 2326, 2326, 2326, 9: 2326, 56: 2326, 506: 2326},
// 2355
- {476: 4913},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 4644, 664: 4169, 2785, 2786, 2784, 748: 4643, 831: 4642, 841: 4914},
- {9: 4653, 50: 4915},
- {1869, 1869, 1869, 1869, 1869, 1869, 1869, 9: 1869, 19: 1869, 50: 1869, 85: 1869, 1869, 1869, 1869, 90: 1869, 477: 1869, 484: 1869, 491: 1869, 884: 4916},
- {2285, 2285, 2285, 2285, 2285, 2285, 4899, 9: 2285, 19: 4896, 50: 2285, 85: 4903, 4749, 4456, 4750, 90: 4455, 477: 4898, 484: 4902, 491: 2285, 860: 4900, 862: 4897, 873: 4901, 883: 4895},
+ {2: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 10: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 57: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 491: 1912, 582: 4967, 804: 4966},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 1908, 685: 4971, 2843, 2844, 2842, 901: 4970},
+ {494: 4190, 496: 4189, 833: 4968},
+ {602: 4969},
+ {1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 57: 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 491: 1911, 1911, 500: 1911, 506: 1911, 589: 1911, 834: 1911},
// 2360
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 1871, 664: 4874, 2785, 2786, 2784, 882: 4918},
- {476: 4919},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 4644, 664: 4169, 2785, 2786, 2784, 748: 4643, 831: 4642, 841: 4920},
- {9: 4653, 50: 4921},
- {1869, 1869, 1869, 1869, 1869, 1869, 1869, 9: 1869, 19: 1869, 50: 1869, 85: 1869, 1869, 1869, 1869, 90: 1869, 477: 1869, 484: 1869, 491: 1869, 884: 4922},
+ {491: 4972},
+ {491: 1907},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 4736, 685: 4248, 2843, 2844, 2842, 765: 4735, 848: 4734, 858: 4973},
+ {9: 4745, 56: 4974},
+ {663: 4729, 933: 4975},
// 2365
- {2286, 2286, 2286, 2286, 2286, 2286, 4899, 9: 2286, 19: 4896, 50: 2286, 85: 4903, 4749, 4456, 4750, 90: 4455, 477: 4898, 484: 4902, 491: 2286, 860: 4900, 862: 4897, 873: 4901, 883: 4895},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 1871, 484: 1871, 664: 4882, 2785, 2786, 2784, 882: 4883, 947: 4924},
- {476: 4925},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 4644, 664: 4169, 2785, 2786, 2784, 748: 4643, 831: 4642, 841: 4926},
- {9: 4653, 50: 4927},
+ {2327, 2327, 2327, 2327, 2327, 2327, 9: 2327, 56: 2327, 506: 2327},
+ {2: 2482, 2482, 2482, 2482, 2482, 2482, 2482, 10: 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 57: 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 491: 2482, 500: 2482},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 1908, 500: 1908, 685: 4979, 2843, 2844, 2842, 901: 4980, 966: 4978},
+ {491: 4988},
+ {91: 4986, 491: 1907, 500: 1907},
// 2370
- {1869, 1869, 1869, 1869, 1869, 1869, 1869, 9: 1869, 19: 1869, 50: 1869, 85: 1869, 1869, 1869, 1869, 90: 1869, 477: 1869, 484: 1869, 491: 1869, 884: 4928},
- {2287, 2287, 2287, 2287, 2287, 2287, 4899, 9: 2287, 19: 4896, 50: 2287, 85: 4903, 4749, 4456, 4750, 90: 4455, 477: 4898, 484: 4902, 491: 2287, 860: 4900, 862: 4897, 873: 4901, 883: 4895},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4930, 2785, 2786, 2784},
- {236: 4932, 244: 4934, 247: 4933, 1148: 4931},
- {476: 4935},
+ {491: 1898, 500: 4981},
+ {157: 4984, 190: 4983, 207: 4985, 928: 4982},
+ {491: 1897},
+ {1891, 1891, 1891, 1891, 1891, 1891, 1891, 9: 1891, 19: 1891, 56: 1891, 90: 1891, 1891, 1891, 1891, 1891, 96: 1891, 490: 1891, 1891, 493: 1891, 500: 1891, 506: 1891, 517: 1891},
+ {1890, 1890, 1890, 1890, 1890, 1890, 1890, 9: 1890, 19: 1890, 56: 1890, 90: 1890, 1890, 1890, 1890, 1890, 96: 1890, 490: 1890, 1890, 493: 1890, 500: 1890, 506: 1890, 517: 1890},
// 2375
- {50: 2236, 476: 2236},
- {50: 2235, 476: 2235},
- {50: 2234, 476: 2234},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4170, 812: 4936},
- {9: 4172, 50: 4937},
+ {1889, 1889, 1889, 1889, 1889, 1889, 1889, 9: 1889, 19: 1889, 56: 1889, 90: 1889, 1889, 1889, 1889, 1889, 96: 1889, 490: 1889, 1889, 493: 1889, 500: 1889, 506: 1889, 517: 1889},
+ {157: 4984, 190: 4983, 207: 4985, 928: 4987},
+ {491: 1896},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 4736, 685: 4248, 2843, 2844, 2842, 765: 4735, 848: 4734, 858: 4989},
+ {9: 4745, 56: 4990},
// 2380
- {2507, 2507, 2507, 2507, 2507, 2507, 9: 2507, 491: 2507},
- {582, 582, 582, 582, 582, 582, 9: 582, 92: 582, 141: 4776, 476: 582, 491: 582, 816: 4775, 833: 4939},
- {2159, 2159, 2159, 2159, 2159, 2159, 9: 2159, 92: 4941, 476: 4942, 491: 2159, 1106: 4940},
- {2510, 2510, 2510, 2510, 2510, 2510, 9: 2510, 491: 2510},
- {511: 2759, 737: 4983},
+ {1906, 1906, 1906, 1906, 1906, 1906, 1906, 9: 1906, 19: 1906, 56: 1906, 91: 1906, 1906, 1906, 1906, 96: 1906, 493: 1906, 500: 1906, 506: 1906, 903: 4991},
+ {2328, 2328, 2328, 2328, 2328, 2328, 4996, 9: 2328, 19: 4993, 56: 2328, 91: 5000, 4846, 4548, 4847, 96: 4547, 493: 4995, 500: 4999, 506: 2328, 877: 4997, 879: 4994, 891: 4998, 902: 4992},
+ {1905, 1905, 1905, 1905, 1905, 1905, 1905, 9: 1905, 19: 1905, 56: 1905, 90: 1905, 1905, 1905, 1905, 1905, 96: 1905, 493: 1905, 500: 1905, 506: 1905, 517: 1905},
+ {516: 4389, 524: 2103, 757: 5006},
+ {1903, 1903, 1903, 1903, 1903, 1903, 1903, 9: 1903, 19: 1903, 56: 1903, 90: 1903, 1903, 1903, 1903, 1903, 96: 1903, 493: 1903, 500: 1903, 506: 1903, 517: 1903},
// 2385
- {491: 4945, 957: 4944, 1105: 4943},
- {9: 4981, 50: 4980},
- {9: 2157, 50: 2157},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4946, 2785, 2786, 2784},
- {6: 2136, 2136, 9: 2136, 18: 2136, 20: 2136, 22: 2136, 2136, 2136, 2136, 2136, 2136, 50: 2136, 151: 4951, 350: 4950, 476: 2136, 482: 4949, 498: 4948, 652: 2136, 1283: 4947},
+ {382: 5004},
+ {492: 5003},
+ {1900, 1900, 1900, 1900, 1900, 1900, 1900, 9: 1900, 19: 1900, 56: 1900, 90: 1900, 1900, 1900, 1900, 1900, 96: 1900, 493: 1900, 500: 1900, 506: 1900, 517: 1900},
+ {1899, 1899, 1899, 1899, 1899, 1899, 1899, 9: 1899, 19: 1899, 56: 1899, 90: 1899, 1899, 1899, 1899, 1899, 96: 1899, 493: 1899, 500: 1899, 506: 1899, 517: 1899},
+ {157: 4984, 190: 4983, 207: 4985, 928: 5002},
// 2390
- {6: 2149, 2149, 9: 2149, 18: 2149, 20: 2149, 22: 2149, 2149, 2149, 2149, 2149, 2149, 50: 2149, 476: 2149, 652: 2149, 956: 4967},
- {154: 4952, 547: 4953},
- {6: 2133, 2133, 9: 2133, 18: 2133, 20: 2133, 22: 2133, 2133, 2133, 2133, 2133, 2133, 50: 2133, 476: 2133, 652: 2133},
- {6: 2131, 2131, 9: 2131, 18: 2131, 20: 2131, 22: 2131, 2131, 2131, 2131, 2131, 2131, 50: 2131, 476: 2131, 652: 2131},
- {6: 2130, 2130, 9: 2130, 18: 2130, 20: 2130, 22: 2130, 2130, 2130, 2130, 2130, 2130, 50: 2130, 476: 2130, 652: 2130},
+ {157: 4984, 190: 4983, 207: 4985, 928: 5001},
+ {1892, 1892, 1892, 1892, 1892, 1892, 1892, 9: 1892, 19: 1892, 56: 1892, 90: 1892, 1892, 1892, 1892, 1892, 96: 1892, 490: 1892, 493: 1892, 500: 1892, 506: 1892, 517: 1892},
+ {1893, 1893, 1893, 1893, 1893, 1893, 1893, 9: 1893, 19: 1893, 56: 1893, 90: 1893, 1893, 1893, 1893, 1893, 96: 1893, 490: 1893, 493: 1893, 500: 1893, 506: 1893, 517: 1893},
+ {1901, 1901, 1901, 1901, 1901, 1901, 1901, 9: 1901, 19: 1901, 56: 1901, 90: 1901, 1901, 1901, 1901, 1901, 96: 1901, 493: 1901, 500: 1901, 506: 1901, 517: 1901},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 5005, 2843, 2844, 2842},
// 2395
- {159: 4962},
- {476: 4954},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 658: 4956, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 4957, 950: 4958, 1087: 4955},
- {9: 4960, 50: 4959},
- {9: 1951, 50: 1951},
+ {1902, 1902, 1902, 1902, 1902, 1902, 1902, 9: 1902, 19: 1902, 56: 1902, 90: 1902, 1902, 1902, 1902, 1902, 96: 1902, 493: 1902, 500: 1902, 506: 1902, 517: 1902},
+ {524: 2817, 754: 2816, 761: 5007},
+ {1904, 1904, 1904, 1904, 1904, 1904, 1904, 9: 1904, 19: 1904, 56: 1904, 90: 1904, 1904, 1904, 1904, 1904, 96: 1904, 493: 1904, 500: 1904, 506: 1904, 517: 1904},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 1908, 500: 1908, 685: 4979, 2843, 2844, 2842, 901: 4980, 966: 5009},
+ {491: 5010},
// 2400
- {9: 1950, 50: 1950, 488: 3712, 3713, 3718, 523: 3714, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711},
- {9: 1938, 50: 1938},
- {6: 2132, 2132, 9: 2132, 18: 2132, 20: 2132, 22: 2132, 2132, 2132, 2132, 2132, 2132, 50: 2132, 476: 2132, 652: 2132},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 658: 4956, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 4957, 950: 4961},
- {9: 1937, 50: 1937},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 4736, 685: 4248, 2843, 2844, 2842, 765: 4735, 848: 4734, 858: 5011},
+ {9: 4745, 56: 5012},
+ {1906, 1906, 1906, 1906, 1906, 1906, 1906, 9: 1906, 19: 1906, 56: 1906, 91: 1906, 1906, 1906, 1906, 96: 1906, 493: 1906, 500: 1906, 506: 1906, 903: 5013},
+ {2329, 2329, 2329, 2329, 2329, 2329, 4996, 9: 2329, 19: 4993, 56: 2329, 91: 5000, 4846, 4548, 4847, 96: 4547, 493: 4995, 500: 4999, 506: 2329, 877: 4997, 879: 4994, 891: 4998, 902: 4992},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 1908, 685: 4971, 2843, 2844, 2842, 901: 5015},
// 2405
- {476: 4964, 658: 4963},
- {6: 2135, 2135, 9: 2135, 18: 2135, 20: 2135, 22: 2135, 2135, 2135, 2135, 2135, 2135, 50: 2135, 476: 2135, 652: 2135},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 658: 4956, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 4957, 950: 4958, 1087: 4965},
- {9: 4960, 50: 4966},
- {6: 2134, 2134, 9: 2134, 18: 2134, 20: 2134, 22: 2134, 2134, 2134, 2134, 2134, 2134, 50: 2134, 476: 2134, 652: 2134},
+ {491: 5016},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 4736, 685: 4248, 2843, 2844, 2842, 765: 4735, 848: 4734, 858: 5017},
+ {9: 4745, 56: 5018},
+ {1906, 1906, 1906, 1906, 1906, 1906, 1906, 9: 1906, 19: 1906, 56: 1906, 91: 1906, 1906, 1906, 1906, 96: 1906, 493: 1906, 500: 1906, 506: 1906, 903: 5019},
+ {2330, 2330, 2330, 2330, 2330, 2330, 4996, 9: 2330, 19: 4993, 56: 2330, 91: 5000, 4846, 4548, 4847, 96: 4547, 493: 4995, 500: 4999, 506: 2330, 877: 4997, 879: 4994, 891: 4998, 902: 4992},
// 2410
- {6: 4267, 4971, 9: 2154, 18: 4223, 20: 4275, 22: 4268, 4271, 4270, 4273, 4274, 4276, 50: 2154, 476: 4969, 652: 4272, 785: 4277, 818: 4970, 1326: 4968},
- {9: 2155, 50: 2155},
- {91: 4974, 1150: 4973, 1325: 4972},
- {2148, 2148, 6: 2148, 2148, 9: 2148, 18: 2148, 20: 2148, 22: 2148, 2148, 2148, 2148, 2148, 2148, 50: 2148, 476: 2148, 652: 2148},
- {22: 4407},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 1908, 500: 1908, 685: 4979, 2843, 2844, 2842, 901: 4980, 966: 5021},
+ {491: 5022},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 4736, 685: 4248, 2843, 2844, 2842, 765: 4735, 848: 4734, 858: 5023},
+ {9: 4745, 56: 5024},
+ {1906, 1906, 1906, 1906, 1906, 1906, 1906, 9: 1906, 19: 1906, 56: 1906, 91: 1906, 1906, 1906, 1906, 96: 1906, 493: 1906, 500: 1906, 506: 1906, 903: 5025},
// 2415
- {9: 4978, 50: 4977},
- {9: 2152, 50: 2152},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4975, 2785, 2786, 2784},
- {6: 2149, 2149, 9: 2149, 18: 2149, 20: 2149, 22: 2149, 2149, 2149, 2149, 2149, 2149, 50: 2149, 652: 2149, 956: 4976},
- {6: 4267, 4971, 9: 2150, 18: 4223, 20: 4275, 22: 4268, 4271, 4270, 4273, 4274, 4276, 50: 2150, 652: 4272, 785: 4277, 818: 4970},
+ {2331, 2331, 2331, 2331, 2331, 2331, 4996, 9: 2331, 19: 4993, 56: 2331, 91: 5000, 4846, 4548, 4847, 96: 4547, 493: 4995, 500: 4999, 506: 2331, 877: 4997, 879: 4994, 891: 4998, 902: 4992},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 5027, 2843, 2844, 2842},
+ {249: 5029, 257: 5031, 259: 5030, 1171: 5028},
+ {491: 5032},
+ {56: 2276, 491: 2276},
// 2420
- {9: 2153, 50: 2153},
- {91: 4974, 1150: 4979},
- {9: 2151, 50: 2151},
- {2158, 2158, 2158, 2158, 2158, 2158, 9: 2158, 475: 2158, 2158, 2158, 481: 2158, 491: 2158, 2158, 498: 2158, 507: 2158, 572: 2158, 649: 2158},
- {491: 4945, 957: 4982},
+ {56: 2275, 491: 2275},
+ {56: 2274, 491: 2274},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4249, 830: 5033},
+ {9: 4251, 56: 5034},
+ {2551, 2551, 2551, 2551, 2551, 2551, 9: 2551, 506: 2551},
// 2425
- {9: 2156, 50: 2156},
- {2509, 2509, 2509, 2509, 2509, 2509, 9: 2509, 491: 2509},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 4986, 664: 4169, 2785, 2786, 2784, 748: 4482, 853: 4985},
- {2435, 2435, 2435, 2435, 2435, 2435, 9: 2435, 4757, 4758, 491: 2435, 934: 4994},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 584: 2426, 593: 2426, 2426, 645: 2426, 4615, 652: 2426, 664: 4169, 2785, 2786, 2784, 678: 2426, 2426, 748: 4482, 837: 4856, 853: 4988, 908: 4989, 973: 4990, 1153: 4987},
+ {602, 602, 602, 602, 602, 602, 9: 602, 98: 602, 152: 4873, 491: 602, 506: 602, 834: 4872, 850: 5036},
+ {2198, 2198, 2198, 2198, 2198, 2198, 9: 2198, 98: 5038, 491: 5039, 506: 2198, 1126: 5037},
+ {2554, 2554, 2554, 2554, 2554, 2554, 9: 2554, 506: 2554},
+ {524: 2817, 754: 5080},
+ {506: 5042, 976: 5041, 1125: 5040},
// 2430
- {9: 4992, 50: 4991},
- {9: 450, 50: 450},
- {9: 449, 50: 449},
- {9: 448, 50: 448},
- {2512, 2512, 2512, 2512, 2512, 2512, 9: 2512, 491: 2512},
+ {9: 5078, 56: 5077},
+ {9: 2196, 56: 2196},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 5043, 2843, 2844, 2842},
+ {6: 2175, 2175, 9: 2175, 18: 2175, 20: 2175, 22: 2175, 2175, 2175, 2175, 2175, 2175, 56: 2175, 162: 5048, 227: 5047, 491: 2175, 495: 5046, 514: 5045, 667: 2175, 1306: 5044},
+ {6: 2188, 2188, 9: 2188, 18: 2188, 20: 2188, 22: 2188, 2188, 2188, 2188, 2188, 2188, 56: 2188, 491: 2188, 667: 2188, 975: 5064},
// 2435
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 584: 2426, 593: 2426, 2426, 645: 2426, 4615, 652: 2426, 664: 4169, 2785, 2786, 2784, 678: 2426, 2426, 748: 4482, 837: 4856, 853: 4988, 908: 4989, 973: 4993},
- {9: 447, 50: 447},
- {2513, 2513, 2513, 2513, 2513, 2513, 9: 2513, 491: 2513},
- {16: 3862, 508: 3863, 650: 3861, 779: 4996},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 482: 4998, 533: 3787, 664: 3517, 2785, 2786, 2784, 742: 3786, 811: 4997},
+ {165: 5049, 563: 5050},
+ {6: 2172, 2172, 9: 2172, 18: 2172, 20: 2172, 22: 2172, 2172, 2172, 2172, 2172, 2172, 56: 2172, 491: 2172, 667: 2172},
+ {6: 2170, 2170, 9: 2170, 18: 2170, 20: 2170, 22: 2170, 2170, 2170, 2170, 2170, 2170, 56: 2170, 491: 2170, 667: 2170},
+ {6: 2169, 2169, 9: 2169, 18: 2169, 20: 2169, 22: 2169, 2169, 2169, 2169, 2169, 2169, 56: 2169, 491: 2169, 667: 2169},
+ {170: 5059},
// 2440
- {277, 277, 277, 277, 277, 277, 9: 277, 487: 5000, 491: 277, 1097: 5002},
- {277, 277, 277, 277, 277, 277, 9: 277, 487: 5000, 491: 277, 1097: 4999},
- {2514, 2514, 2514, 2514, 2514, 2514, 9: 2514, 491: 2514},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 533: 3515, 664: 3517, 2785, 2786, 2784, 742: 3514, 876: 5001},
- {276, 276, 276, 276, 276, 276, 9: 276, 491: 276},
+ {491: 5051},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 674: 5053, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 5054, 969: 5055, 1107: 5052},
+ {9: 5057, 56: 5056},
+ {9: 1989, 56: 1989},
+ {9: 1988, 56: 1988, 503: 3785, 3786, 3791, 540: 3787, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784},
// 2445
- {2515, 2515, 2515, 2515, 2515, 2515, 9: 2515, 491: 2515},
- {193: 5004},
- {511: 2759, 737: 2758, 745: 5005},
- {2519, 2519, 2519, 2519, 2519, 2519, 9: 2519, 186: 5006, 491: 2519, 1084: 5007},
- {270: 5008},
+ {9: 1976, 56: 1976},
+ {6: 2171, 2171, 9: 2171, 18: 2171, 20: 2171, 22: 2171, 2171, 2171, 2171, 2171, 2171, 56: 2171, 491: 2171, 667: 2171},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 674: 5053, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 5054, 969: 5058},
+ {9: 1975, 56: 1975},
+ {491: 5061, 674: 5060},
// 2450
- {2516, 2516, 2516, 2516, 2516, 2516, 9: 2516, 491: 2516},
- {478: 5010, 1322: 5009},
- {2518, 2518, 2518, 2518, 2518, 2518, 9: 5011, 16: 2518, 18: 2518, 21: 2518, 482: 2518, 487: 2518, 491: 2518, 508: 2518, 2518, 650: 2518},
- {275, 275, 275, 275, 275, 275, 9: 275, 16: 275, 18: 275, 21: 275, 482: 275, 487: 275, 491: 275, 508: 275, 275, 650: 275},
- {478: 5012},
+ {6: 2174, 2174, 9: 2174, 18: 2174, 20: 2174, 22: 2174, 2174, 2174, 2174, 2174, 2174, 56: 2174, 491: 2174, 667: 2174},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 674: 5053, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 5054, 969: 5055, 1107: 5062},
+ {9: 5057, 56: 5063},
+ {6: 2173, 2173, 9: 2173, 18: 2173, 20: 2173, 22: 2173, 2173, 2173, 2173, 2173, 2173, 56: 2173, 491: 2173, 667: 2173},
+ {6: 4346, 5068, 9: 2193, 18: 4302, 20: 4354, 22: 4347, 4350, 4349, 4352, 4353, 4355, 56: 2193, 491: 5066, 667: 4351, 802: 4356, 836: 5067, 1349: 5065},
// 2455
- {274, 274, 274, 274, 274, 274, 9: 274, 16: 274, 18: 274, 21: 274, 482: 274, 487: 274, 491: 274, 508: 274, 274, 650: 274},
- {8: 409, 29: 409},
- {403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 15: 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 475: 403, 403, 403, 481: 403, 403, 403, 487: 403, 491: 403, 403, 498: 403, 506: 403, 403, 403, 572: 403, 649: 403, 403, 652: 403},
- {6: 4267, 4269, 410, 15: 4286, 2193, 4284, 4223, 4288, 4275, 4304, 4268, 4271, 4270, 4273, 4274, 4276, 4283, 410, 4294, 4295, 4281, 4282, 4287, 4289, 4301, 4300, 4306, 4302, 4299, 4292, 4297, 4298, 4291, 4293, 4296, 4285, 482: 4266, 4303, 487: 2193, 506: 5013, 508: 2193, 650: 2193, 652: 4272, 785: 4277, 797: 4279, 818: 4278, 840: 4280, 843: 4290, 847: 5016},
- {402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 15: 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 475: 402, 402, 402, 481: 402, 402, 402, 487: 402, 491: 402, 402, 498: 402, 506: 402, 402, 402, 572: 402, 649: 402, 402, 652: 402},
+ {9: 2194, 56: 2194},
+ {97: 5071, 1173: 5070, 1348: 5069},
+ {2187, 2187, 6: 2187, 2187, 9: 2187, 18: 2187, 20: 2187, 22: 2187, 2187, 2187, 2187, 2187, 2187, 56: 2187, 491: 2187, 667: 2187},
+ {22: 4499},
+ {9: 5075, 56: 5074},
// 2460
- {478: 5019, 482: 5018},
- {2528, 2528, 2528, 2528, 2528, 2528, 9: 2528, 491: 2528},
- {2527, 2527, 2527, 2527, 2527, 2527, 9: 2527, 491: 2527},
- {478: 5022, 482: 5021},
- {2530, 2530, 2530, 2530, 2530, 2530, 9: 2530, 491: 2530},
+ {9: 2191, 56: 2191},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 5072, 2843, 2844, 2842},
+ {6: 2188, 2188, 9: 2188, 18: 2188, 20: 2188, 22: 2188, 2188, 2188, 2188, 2188, 2188, 56: 2188, 667: 2188, 975: 5073},
+ {6: 4346, 5068, 9: 2189, 18: 4302, 20: 4354, 22: 4347, 4350, 4349, 4352, 4353, 4355, 56: 2189, 667: 4351, 802: 4356, 836: 5067},
+ {9: 2192, 56: 2192},
// 2465
- {2529, 2529, 2529, 2529, 2529, 2529, 9: 2529, 491: 2529},
- {2: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 10: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 51: 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 478: 2064, 482: 2064, 502: 4307, 509: 5025, 741: 5024},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 5027, 482: 5029, 664: 5030, 2785, 2786, 2784, 890: 5028},
- {482: 5026},
- {2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 15: 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 50: 2531, 475: 2531, 2531, 2531, 481: 2531, 2531, 2531, 487: 2531, 491: 2531, 2531, 498: 2531, 506: 2531, 2531, 2531, 2531, 572: 2531, 649: 2531, 2531, 652: 2531},
+ {97: 5071, 1173: 5076},
+ {9: 2190, 56: 2190},
+ {2197, 2197, 2197, 2197, 2197, 2197, 9: 2197, 490: 2197, 2197, 493: 2197, 497: 2197, 506: 2197, 2197, 514: 2197, 521: 2197, 587: 2197, 664: 2197},
+ {506: 5042, 976: 5079},
+ {9: 2195, 56: 2195},
// 2470
- {2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 15: 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 50: 2534, 475: 2534, 2534, 2534, 481: 2534, 2534, 2534, 487: 2534, 491: 2534, 2534, 498: 2534, 506: 2534, 2534, 2534, 2534, 572: 2534, 649: 2534, 2534, 652: 2534},
- {2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 15: 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 50: 2533, 475: 2533, 2533, 2533, 481: 2533, 2533, 2533, 487: 2533, 491: 2533, 2533, 498: 2533, 506: 2533, 2533, 2533, 2533, 572: 2533, 649: 2533, 2533, 652: 2533},
- {2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 15: 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 50: 2532, 475: 2532, 2532, 2532, 481: 2532, 2532, 2532, 487: 2532, 491: 2532, 2532, 498: 2532, 506: 2532, 2532, 2532, 2532, 572: 2532, 649: 2532, 2532, 652: 2532},
- {2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 15: 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 50: 2209, 89: 2209, 93: 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 2209, 475: 2209, 2209, 2209, 481: 2209, 2209, 2209, 487: 2209, 491: 2209, 2209, 498: 2209, 506: 2209, 2209, 2209, 2209, 572: 2209, 649: 2209, 2209, 652: 2209},
- {193: 5036},
+ {2553, 2553, 2553, 2553, 2553, 2553, 9: 2553, 506: 2553},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 5083, 685: 4248, 2843, 2844, 2842, 765: 4574, 870: 5082},
+ {2479, 2479, 2479, 2479, 2479, 2479, 9: 2479, 4854, 4855, 506: 2479, 952: 5091},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 599: 2470, 606: 2470, 612: 2470, 661: 2470, 4707, 667: 2470, 685: 4248, 2843, 2844, 2842, 695: 2470, 2470, 765: 4574, 854: 4953, 870: 5085, 926: 5086, 991: 5087, 1176: 5084},
+ {9: 5089, 56: 5088},
// 2475
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4780, 2785, 2786, 2784, 791: 5033},
- {2550, 2550, 9: 4781, 170: 5034},
- {193: 5035},
- {2549, 2549},
- {2551, 2551},
+ {9: 468, 56: 468},
+ {9: 467, 56: 467},
+ {9: 466, 56: 466},
+ {2556, 2556, 2556, 2556, 2556, 2556, 9: 2556, 506: 2556},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 599: 2470, 606: 2470, 612: 2470, 661: 2470, 4707, 667: 2470, 685: 4248, 2843, 2844, 2842, 695: 2470, 2470, 765: 4574, 854: 4953, 870: 5085, 926: 5086, 991: 5090},
// 2480
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4780, 2785, 2786, 2784, 791: 5038},
- {2383, 2383, 9: 4781, 477: 5041, 652: 5040, 808: 5039},
- {2554, 2554},
- {922, 922, 3161, 2991, 3026, 2871, 2907, 3028, 2798, 922, 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 477: 922, 594: 5058, 664: 5057, 2785, 2786, 2784, 861: 5056},
- {511: 5046, 576: 3451, 3450, 737: 5044, 824: 5045, 996: 5043, 1182: 5042},
+ {9: 465, 56: 465},
+ {2557, 2557, 2557, 2557, 2557, 2557, 9: 2557, 506: 2557},
+ {16: 3935, 513: 3936, 666: 3934, 797: 5093},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 495: 5095, 548: 3860, 685: 3590, 2843, 2844, 2842, 759: 3859, 829: 5094},
+ {292, 292, 292, 292, 292, 292, 9: 292, 498: 5097, 506: 292, 1117: 5099},
// 2485
- {2382, 2382, 9: 5054},
- {2381, 2381, 9: 2381},
- {235: 5048, 239: 5050, 286: 5051, 304: 5049},
- {197: 5047},
- {197: 2239, 235: 1990, 239: 1990, 286: 1990, 304: 1990},
+ {292, 292, 292, 292, 292, 292, 9: 292, 498: 5097, 506: 292, 1117: 5096},
+ {2558, 2558, 2558, 2558, 2558, 2558, 9: 2558, 506: 2558},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 548: 3588, 685: 3590, 2843, 2844, 2842, 759: 3587, 894: 5098},
+ {291, 291, 291, 291, 291, 291, 9: 291, 506: 291},
+ {2559, 2559, 2559, 2559, 2559, 2559, 9: 2559, 506: 2559},
// 2490
- {2374, 2374, 9: 2374},
- {2379, 2379, 9: 2379},
- {2378, 2378, 9: 2378},
- {335: 5052, 409: 5053},
- {2375, 2375, 9: 2375},
+ {205: 5101},
+ {524: 2817, 754: 2816, 761: 5102},
+ {2563, 2563, 2563, 2563, 2563, 2563, 9: 2563, 197: 5103, 506: 2563, 1104: 5104},
+ {282: 5105},
+ {2560, 2560, 2560, 2560, 2560, 2560, 9: 2560, 506: 2560},
// 2495
- {2377, 2377, 9: 2377},
- {2376, 2376, 9: 2376},
- {511: 5046, 576: 3451, 3450, 737: 5044, 824: 5045, 996: 5055},
- {2380, 2380, 9: 2380},
- {2383, 2383, 9: 5060, 477: 5041, 808: 5059},
+ {492: 5107, 1345: 5106},
+ {2562, 2562, 2562, 2562, 2562, 2562, 9: 5108, 16: 2562, 18: 2562, 21: 2562, 495: 2562, 498: 2562, 506: 2562, 513: 2562, 525: 2562, 666: 2562},
+ {290, 290, 290, 290, 290, 290, 9: 290, 16: 290, 18: 290, 21: 290, 495: 290, 498: 290, 506: 290, 513: 290, 525: 290, 666: 290},
+ {492: 5109},
+ {289, 289, 289, 289, 289, 289, 9: 289, 16: 289, 18: 289, 21: 289, 495: 289, 498: 289, 506: 289, 513: 289, 525: 289, 666: 289},
// 2500
- {921, 921, 9: 921, 50: 921, 477: 921},
- {919, 919, 9: 919, 50: 919, 477: 919},
- {2553, 2553},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 594: 5062, 664: 5061, 2785, 2786, 2784},
- {920, 920, 9: 920, 50: 920, 477: 920},
+ {8: 424, 29: 424},
+ {418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 15: 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 490: 418, 418, 493: 418, 495: 418, 497: 418, 418, 418, 506: 418, 418, 513: 418, 418, 521: 418, 523: 418, 587: 418, 664: 418, 666: 418, 418},
+ {6: 4346, 4348, 425, 15: 4365, 2232, 4363, 4302, 4367, 4354, 4383, 4347, 4350, 4349, 4352, 4353, 4355, 4362, 425, 4373, 4374, 4384, 4360, 4361, 4366, 4368, 4380, 4379, 4388, 4381, 4378, 4371, 4376, 4377, 4370, 4372, 4375, 4364, 4385, 4386, 495: 4345, 498: 2232, 4382, 513: 2232, 523: 5110, 666: 2232, 4351, 802: 4356, 815: 4358, 836: 4357, 857: 4359, 860: 4369, 864: 5113},
+ {417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 15: 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 490: 417, 417, 493: 417, 495: 417, 497: 417, 417, 417, 506: 417, 417, 513: 417, 417, 521: 417, 523: 417, 587: 417, 664: 417, 666: 417, 417},
+ {492: 5116, 495: 5115},
// 2505
- {918, 918, 9: 918, 50: 918, 477: 918},
- {2555, 2555},
- {2526, 2526},
- {372: 5175},
- {491: 5167},
+ {2573, 2573, 2573, 2573, 2573, 2573, 9: 2573, 506: 2573},
+ {2572, 2572, 2572, 2572, 2572, 2572, 9: 2572, 506: 2572},
+ {492: 5119, 495: 5118},
+ {2575, 2575, 2575, 2575, 2575, 2575, 9: 2575, 506: 2575},
+ {2574, 2574, 2574, 2574, 2574, 2574, 9: 2574, 506: 2574},
// 2510
- {658: 5160},
- {10: 5153},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 663: 5071, 5070, 2785, 2786, 2784},
- {2149, 2149, 6: 2149, 2149, 18: 2149, 20: 2149, 22: 2149, 2149, 2149, 2149, 2149, 2149, 205: 4224, 652: 2149, 931: 5151, 956: 5152},
- {146: 2167, 359: 5076, 398: 5077, 530: 5075, 584: 2167, 1079: 5078, 5073, 1151: 5074, 1285: 5072},
+ {2: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 10: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 57: 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 2103, 492: 2103, 495: 2103, 516: 4389, 525: 5122, 757: 5121},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 5124, 495: 5126, 685: 5127, 2843, 2844, 2842, 882: 5125},
+ {495: 5123},
+ {2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 15: 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 2576, 56: 2576, 490: 2576, 2576, 493: 2576, 495: 2576, 497: 2576, 2576, 2576, 506: 2576, 2576, 513: 2576, 2576, 521: 2576, 523: 2576, 525: 2576, 587: 2576, 664: 2576, 666: 2576, 2576},
+ {2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 15: 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 2579, 56: 2579, 490: 2579, 2579, 493: 2579, 495: 2579, 497: 2579, 2579, 2579, 506: 2579, 2579, 513: 2579, 2579, 521: 2579, 523: 2579, 525: 2579, 587: 2579, 664: 2579, 666: 2579, 2579},
// 2515
- {2161, 2161, 91: 2161, 5141, 475: 2161, 2161, 2161, 481: 2161, 492: 2161, 498: 2161, 507: 2161, 572: 2161, 649: 2161, 1286: 5140},
- {146: 5128, 584: 5127},
- {2185, 2185, 91: 2185, 2185, 475: 2185, 2185, 2185, 481: 2185, 492: 2185, 498: 2185, 507: 2185, 572: 2185, 649: 2185},
- {103: 3970, 112: 3969, 476: 5091, 839: 5092},
- {103: 3970, 112: 3969, 476: 5084, 839: 5085},
+ {2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 15: 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 2578, 56: 2578, 490: 2578, 2578, 493: 2578, 495: 2578, 497: 2578, 2578, 2578, 506: 2578, 2578, 513: 2578, 2578, 521: 2578, 523: 2578, 525: 2578, 587: 2578, 664: 2578, 666: 2578, 2578},
+ {2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 15: 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 2577, 56: 2577, 490: 2577, 2577, 493: 2577, 495: 2577, 497: 2577, 2577, 2577, 506: 2577, 2577, 513: 2577, 2577, 521: 2577, 523: 2577, 525: 2577, 587: 2577, 664: 2577, 666: 2577, 2577},
+ {2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 15: 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 56: 2249, 95: 2249, 99: 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 490: 2249, 2249, 493: 2249, 495: 2249, 497: 2249, 2249, 2249, 506: 2249, 2249, 513: 2249, 2249, 521: 2249, 523: 2249, 525: 2249, 587: 2249, 664: 2249, 666: 2249, 2249},
+ {205: 5133},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4877, 2843, 2844, 2842, 808: 5130},
// 2520
- {2178, 2178, 91: 2178, 2178, 475: 2178, 2178, 2178, 481: 2178, 492: 2178, 496: 5080, 498: 2178, 507: 2178, 572: 2178, 581: 5079, 649: 2178},
- {146: 2166, 584: 2166},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 5082},
- {511: 2759, 737: 2758, 745: 5081},
- {2179, 2179, 91: 2179, 2179, 475: 2179, 2179, 2179, 481: 2179, 492: 2179, 498: 2179, 507: 2179, 572: 2179, 649: 2179},
+ {2603, 2603, 9: 4878, 182: 5131},
+ {205: 5132},
+ {2602, 2602},
+ {2604, 2604},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4877, 2843, 2844, 2842, 808: 5135},
// 2525
- {105: 3490, 3486, 109: 3483, 3498, 113: 3485, 3482, 3484, 3488, 3489, 3494, 3493, 3492, 3496, 3497, 3491, 3495, 3487, 510: 3371, 512: 3369, 3370, 3368, 3366, 535: 3480, 3477, 3479, 3478, 3474, 3476, 3475, 3472, 3473, 3471, 3481, 738: 3367, 3365, 800: 3470, 820: 5083},
- {2180, 2180, 91: 2180, 2180, 475: 2180, 2180, 2180, 481: 2180, 492: 2180, 498: 2180, 507: 2180, 572: 2180, 649: 2180},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 5089},
- {476: 5086},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4170, 812: 5087},
+ {2427, 2427, 9: 4878, 493: 5138, 667: 5137, 825: 5136},
+ {2607, 2607},
+ {942, 942, 3228, 3050, 3086, 2929, 2966, 3088, 2856, 942, 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 493: 942, 612: 5155, 685: 5154, 2843, 2844, 2842, 878: 5153},
+ {524: 5143, 592: 3524, 3523, 754: 5141, 841: 5142, 1015: 5140, 1205: 5139},
+ {2426, 2426, 9: 5151},
// 2530
- {9: 4172, 50: 5088},
- {2181, 2181, 91: 2181, 2181, 475: 2181, 2181, 2181, 481: 2181, 492: 2181, 498: 2181, 507: 2181, 572: 2181, 649: 2181},
- {50: 5090, 488: 3712, 3713, 3718, 523: 3714, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711},
- {2182, 2182, 91: 2182, 2182, 475: 2182, 2182, 2182, 481: 2182, 492: 2182, 498: 2182, 507: 2182, 572: 2182, 649: 2182},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 5124},
+ {2425, 2425, 9: 2425},
+ {247: 5145, 252: 5147, 298: 5148, 317: 5146},
+ {209: 5144},
+ {209: 2279, 247: 2028, 252: 2028, 298: 2028, 317: 2028},
+ {2418, 2418, 9: 2418},
// 2535
- {476: 5093},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4170, 812: 5094},
- {9: 4172, 50: 5095},
- {2177, 2177, 91: 2177, 2177, 475: 2177, 2177, 2177, 481: 2177, 492: 2177, 498: 2177, 507: 2177, 572: 2177, 581: 5097, 649: 2177, 1107: 5096},
- {2183, 2183, 91: 2183, 2183, 475: 2183, 2183, 2183, 481: 2183, 492: 2183, 498: 2183, 507: 2183, 572: 2183, 649: 2183},
+ {2423, 2423, 9: 2423},
+ {2422, 2422, 9: 2422},
+ {347: 5149, 422: 5150},
+ {2419, 2419, 9: 2419},
+ {2421, 2421, 9: 2421},
// 2540
- {476: 5098},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 5100, 1246: 5099},
- {50: 5102},
- {50: 2175, 105: 3490, 3486, 109: 3483, 3498, 113: 3485, 3482, 3484, 3488, 3489, 3494, 3493, 3492, 3496, 3497, 3491, 3495, 3487, 488: 3712, 3713, 3718, 523: 3714, 535: 3480, 3477, 3479, 3478, 3474, 3476, 3475, 3472, 3473, 3471, 3481, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711, 800: 3470, 820: 5101},
- {50: 2174},
+ {2420, 2420, 9: 2420},
+ {524: 5143, 592: 3524, 3523, 754: 5141, 841: 5142, 1015: 5152},
+ {2424, 2424, 9: 2424},
+ {2427, 2427, 9: 5157, 493: 5138, 825: 5156},
+ {941, 941, 9: 941, 56: 941, 493: 941},
// 2545
- {2169, 2169, 10: 5104, 91: 2169, 2169, 475: 2169, 2169, 2169, 481: 2169, 492: 2169, 495: 2169, 498: 2169, 507: 2169, 572: 2169, 649: 2169, 658: 2169, 1224: 5103},
- {2173, 2173, 91: 2173, 2173, 475: 2173, 2173, 2173, 481: 2173, 492: 2173, 495: 5119, 498: 2173, 507: 2173, 572: 2173, 649: 2173, 658: 2173, 1264: 5118},
- {491: 5105},
- {154: 5106},
- {159: 5107},
+ {939, 939, 9: 939, 56: 939, 493: 939},
+ {2606, 2606},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 612: 5159, 685: 5158, 2843, 2844, 2842},
+ {940, 940, 9: 940, 56: 940, 493: 940},
+ {938, 938, 9: 938, 56: 938, 493: 938},
// 2550
- {476: 5108},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 5109},
- {50: 5110, 488: 3712, 3713, 3718, 523: 3714, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711},
- {185: 5111},
- {491: 5112},
+ {2608, 2608},
+ {2571, 2571},
+ {32: 5273, 384: 5272},
+ {506: 5264},
+ {674: 5257},
// 2555
- {154: 5113},
- {159: 5114},
- {476: 5115},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 5116},
- {50: 5117, 488: 3712, 3713, 3718, 523: 3714, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711},
+ {10: 5250},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 680: 5168, 685: 5167, 2843, 2844, 2842},
+ {2188, 2188, 6: 2188, 2188, 18: 2188, 20: 2188, 22: 2188, 2188, 2188, 2188, 2188, 2188, 217: 4303, 667: 2188, 949: 5248, 975: 5249},
+ {157: 2206, 370: 5173, 411: 5174, 545: 5172, 599: 2206, 1099: 5175, 5170, 1174: 5171, 1308: 5169},
+ {2200, 2200, 97: 2200, 5238, 490: 2200, 2200, 493: 2200, 497: 2200, 507: 2200, 514: 2200, 521: 2200, 587: 2200, 664: 2200, 1309: 5237},
// 2560
- {2168, 2168, 91: 2168, 2168, 475: 2168, 2168, 2168, 481: 2168, 492: 2168, 495: 2168, 498: 2168, 507: 2168, 572: 2168, 649: 2168, 658: 2168},
- {2171, 2171, 91: 2171, 2171, 475: 2171, 2171, 2171, 481: 2171, 492: 2171, 498: 2171, 507: 2171, 572: 2171, 649: 2171, 658: 5122, 1262: 5121},
- {491: 5120},
- {2172, 2172, 91: 2172, 2172, 475: 2172, 2172, 2172, 481: 2172, 492: 2172, 498: 2172, 507: 2172, 572: 2172, 649: 2172, 658: 2172},
- {2176, 2176, 91: 2176, 2176, 475: 2176, 2176, 2176, 481: 2176, 492: 2176, 498: 2176, 507: 2176, 572: 2176, 649: 2176},
+ {157: 5225, 599: 5224},
+ {2224, 2224, 97: 2224, 2224, 490: 2224, 2224, 493: 2224, 497: 2224, 507: 2224, 514: 2224, 521: 2224, 587: 2224, 664: 2224},
+ {109: 4045, 136: 4044, 491: 5188, 856: 5189},
+ {109: 4045, 136: 4044, 491: 5181, 856: 5182},
+ {2217, 2217, 97: 2217, 2217, 490: 2217, 2217, 493: 2217, 497: 2217, 507: 2217, 511: 5177, 514: 2217, 521: 2217, 587: 2217, 598: 5176, 664: 2217},
// 2565
- {491: 5123},
- {2170, 2170, 91: 2170, 2170, 475: 2170, 2170, 2170, 481: 2170, 492: 2170, 498: 2170, 507: 2170, 572: 2170, 649: 2170},
- {50: 5125, 488: 3712, 3713, 3718, 523: 3714, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711},
- {2177, 2177, 91: 2177, 2177, 475: 2177, 2177, 2177, 481: 2177, 492: 2177, 498: 2177, 507: 2177, 572: 2177, 581: 5097, 649: 2177, 1107: 5126},
- {2184, 2184, 91: 2184, 2184, 475: 2184, 2184, 2184, 481: 2184, 492: 2184, 498: 2184, 507: 2184, 572: 2184, 649: 2184},
+ {157: 2205, 599: 2205},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 5179},
+ {524: 2817, 754: 2816, 761: 5178},
+ {2218, 2218, 97: 2218, 2218, 490: 2218, 2218, 493: 2218, 497: 2218, 507: 2218, 514: 2218, 521: 2218, 587: 2218, 664: 2218},
+ {111: 3559, 3563, 114: 3556, 3571, 118: 3558, 121: 3555, 3557, 3561, 3562, 126: 3567, 3566, 3565, 3569, 3570, 3564, 3568, 134: 3560, 526: 3444, 3442, 3443, 3441, 3439, 549: 3553, 3550, 3552, 3551, 3547, 3549, 3548, 3545, 3546, 3544, 3554, 755: 3440, 3438, 812: 3543, 827: 5180},
// 2570
- {84: 5133, 476: 2187, 1284: 5132},
- {476: 5129},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 5130},
- {50: 5131, 488: 3712, 3713, 3718, 523: 3714, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711},
- {2188, 2188, 91: 2188, 2188, 224: 2188, 475: 2188, 2188, 2188, 481: 2188, 492: 2188, 498: 2188, 507: 2188, 572: 2188, 649: 2188},
+ {2219, 2219, 97: 2219, 2219, 490: 2219, 2219, 493: 2219, 497: 2219, 507: 2219, 514: 2219, 521: 2219, 587: 2219, 664: 2219},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 5186},
+ {491: 5183},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4249, 830: 5184},
+ {9: 4251, 56: 5185},
// 2575
- {476: 5136},
- {502: 5134},
- {511: 2759, 737: 5135},
- {476: 2186},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 2349, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4170, 812: 5137, 1005: 5138},
+ {2220, 2220, 97: 2220, 2220, 490: 2220, 2220, 493: 2220, 497: 2220, 507: 2220, 514: 2220, 521: 2220, 587: 2220, 664: 2220},
+ {56: 5187, 503: 3785, 3786, 3791, 540: 3787, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784},
+ {2221, 2221, 97: 2221, 2221, 490: 2221, 2221, 493: 2221, 497: 2221, 507: 2221, 514: 2221, 521: 2221, 587: 2221, 664: 2221},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 5221},
+ {491: 5190},
// 2580
- {9: 4172, 50: 2348},
- {50: 5139},
- {2189, 2189, 91: 2189, 2189, 224: 2189, 475: 2189, 2189, 2189, 481: 2189, 492: 2189, 498: 2189, 507: 2189, 572: 2189, 649: 2189},
- {2165, 2165, 91: 5144, 475: 2165, 2165, 2165, 481: 2165, 492: 2165, 498: 2165, 507: 2165, 572: 2165, 649: 2165, 1328: 5143},
- {511: 2759, 737: 2758, 745: 5142},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4249, 830: 5191},
+ {9: 4251, 56: 5192},
+ {2216, 2216, 97: 2216, 2216, 490: 2216, 2216, 493: 2216, 497: 2216, 507: 2216, 514: 2216, 521: 2216, 587: 2216, 598: 5194, 664: 2216, 1127: 5193},
+ {2222, 2222, 97: 2222, 2222, 490: 2222, 2222, 493: 2222, 497: 2222, 507: 2222, 514: 2222, 521: 2222, 587: 2222, 664: 2222},
+ {491: 5195},
// 2585
- {2160, 2160, 91: 2160, 475: 2160, 2160, 2160, 481: 2160, 492: 2160, 498: 2160, 507: 2160, 572: 2160, 649: 2160},
- {2159, 2159, 475: 2159, 4942, 2159, 481: 2159, 492: 2159, 498: 2159, 507: 2159, 572: 2159, 649: 2159, 1106: 5150},
- {663: 5145},
- {146: 2167, 584: 2167, 1079: 5078, 5073, 1151: 5146},
- {2163, 2163, 224: 5148, 475: 2163, 2163, 2163, 481: 2163, 492: 2163, 498: 2163, 507: 2163, 572: 2163, 649: 2163, 1327: 5147},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 5197, 1269: 5196},
+ {56: 5199},
+ {56: 2214, 111: 3559, 3563, 114: 3556, 3571, 118: 3558, 121: 3555, 3557, 3561, 3562, 126: 3567, 3566, 3565, 3569, 3570, 3564, 3568, 134: 3560, 503: 3785, 3786, 3791, 540: 3787, 549: 3553, 3550, 3552, 3551, 3547, 3549, 3548, 3545, 3546, 3544, 3554, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784, 812: 3543, 827: 5198},
+ {56: 2213},
+ {2208, 2208, 10: 5201, 97: 2208, 2208, 490: 2208, 2208, 493: 2208, 497: 2208, 507: 2208, 509: 2208, 514: 2208, 521: 2208, 587: 2208, 664: 2208, 674: 2208, 1247: 5200},
// 2590
- {2164, 2164, 475: 2164, 2164, 2164, 481: 2164, 492: 2164, 498: 2164, 507: 2164, 572: 2164, 649: 2164},
- {511: 2759, 737: 2758, 745: 5149},
- {2162, 2162, 475: 2162, 2162, 2162, 481: 2162, 492: 2162, 498: 2162, 507: 2162, 572: 2162, 649: 2162},
- {2190, 2190, 475: 2190, 2190, 2190, 481: 2190, 492: 2190, 498: 2190, 507: 2190, 572: 2190, 649: 2190},
- {2521, 2521},
+ {2212, 2212, 97: 2212, 2212, 490: 2212, 2212, 493: 2212, 497: 2212, 507: 2212, 509: 5216, 514: 2212, 521: 2212, 587: 2212, 664: 2212, 674: 2212, 1287: 5215},
+ {506: 5202},
+ {165: 5203},
+ {170: 5204},
+ {491: 5205},
// 2595
- {2520, 2520, 6: 4267, 4971, 18: 4223, 20: 4275, 22: 4268, 4271, 4270, 4273, 4274, 4276, 652: 4272, 785: 4277, 818: 4970},
- {491: 5154},
- {154: 5155},
- {159: 5156},
- {476: 5157},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 5206},
+ {56: 5207, 503: 3785, 3786, 3791, 540: 3787, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784},
+ {196: 5208},
+ {506: 5209},
+ {165: 5210},
// 2600
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 5158},
- {50: 5159, 488: 3712, 3713, 3718, 523: 3714, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711},
- {2522, 2522},
- {491: 5161},
- {154: 5162},
+ {170: 5211},
+ {491: 5212},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 5213},
+ {56: 5214, 503: 3785, 3786, 3791, 540: 3787, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784},
+ {2207, 2207, 97: 2207, 2207, 490: 2207, 2207, 493: 2207, 497: 2207, 507: 2207, 509: 2207, 514: 2207, 521: 2207, 587: 2207, 664: 2207, 674: 2207},
// 2605
- {159: 5163},
- {476: 5164},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 5165},
- {50: 5166, 488: 3712, 3713, 3718, 523: 3714, 550: 3715, 3716, 3709, 3719, 3708, 3717, 3710, 3711},
- {2523, 2523},
+ {2210, 2210, 97: 2210, 2210, 490: 2210, 2210, 493: 2210, 497: 2210, 507: 2210, 514: 2210, 521: 2210, 587: 2210, 664: 2210, 674: 5219, 1285: 5218},
+ {506: 5217},
+ {2211, 2211, 97: 2211, 2211, 490: 2211, 2211, 493: 2211, 497: 2211, 507: 2211, 514: 2211, 521: 2211, 587: 2211, 664: 2211, 674: 2211},
+ {2215, 2215, 97: 2215, 2215, 490: 2215, 2215, 493: 2215, 497: 2215, 507: 2215, 514: 2215, 521: 2215, 587: 2215, 664: 2215},
+ {506: 5220},
// 2610
- {582, 582, 582, 582, 582, 582, 582, 582, 582, 10: 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 51: 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 4776, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 816: 4775, 833: 5168},
- {2460, 2460, 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4780, 2785, 2786, 2784, 791: 5170, 1294: 5169},
- {2524, 2524},
- {9: 4781, 499: 5171},
- {476: 5172},
+ {2209, 2209, 97: 2209, 2209, 490: 2209, 2209, 493: 2209, 497: 2209, 507: 2209, 514: 2209, 521: 2209, 587: 2209, 664: 2209},
+ {56: 5222, 503: 3785, 3786, 3791, 540: 3787, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784},
+ {2216, 2216, 97: 2216, 2216, 490: 2216, 2216, 493: 2216, 497: 2216, 507: 2216, 514: 2216, 521: 2216, 587: 2216, 598: 5194, 664: 2216, 1127: 5223},
+ {2223, 2223, 97: 2223, 2223, 490: 2223, 2223, 493: 2223, 497: 2223, 507: 2223, 514: 2223, 521: 2223, 587: 2223, 664: 2223},
+ {90: 5230, 491: 2226, 1307: 5229},
// 2615
- {491: 4945, 957: 4944, 1105: 5173},
- {9: 4981, 50: 5174},
- {2459, 2459},
- {2525, 2525},
- {141: 5177, 885: 110, 1083: 5178},
+ {491: 5226},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 5227},
+ {56: 5228, 503: 3785, 3786, 3791, 540: 3787, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784},
+ {2227, 2227, 97: 2227, 2227, 236: 2227, 490: 2227, 2227, 493: 2227, 497: 2227, 507: 2227, 514: 2227, 521: 2227, 587: 2227, 664: 2227},
+ {491: 5233},
// 2620
- {885: 109},
- {885: 5179},
- {478: 5180},
- {19, 19, 187: 19, 361: 5182, 661: 19, 1261: 5181},
- {17, 17, 187: 5185, 661: 17, 1260: 5184},
+ {516: 5231},
+ {524: 2817, 754: 5232},
+ {491: 2225},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 2393, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4249, 830: 5234, 1024: 5235},
+ {9: 4251, 56: 2392},
// 2625
- {511: 2759, 737: 5183},
- {18, 18, 187: 18, 661: 18},
- {95, 95, 661: 3991, 949: 5192},
- {15, 15, 191: 15, 373: 5187, 661: 15, 1288: 5186},
- {13, 13, 191: 5190, 661: 13, 1287: 5189},
+ {56: 5236},
+ {2228, 2228, 97: 2228, 2228, 236: 2228, 490: 2228, 2228, 493: 2228, 497: 2228, 507: 2228, 514: 2228, 521: 2228, 587: 2228, 664: 2228},
+ {2204, 2204, 97: 5241, 490: 2204, 2204, 493: 2204, 497: 2204, 507: 2204, 514: 2204, 521: 2204, 587: 2204, 664: 2204, 1351: 5240},
+ {524: 2817, 754: 2816, 761: 5239},
+ {2199, 2199, 97: 2199, 490: 2199, 2199, 493: 2199, 497: 2199, 507: 2199, 514: 2199, 521: 2199, 587: 2199, 664: 2199},
// 2630
- {511: 2759, 737: 5188},
- {14, 14, 191: 14, 661: 14},
- {16, 16, 661: 16},
- {511: 2759, 737: 5191},
- {12, 12, 661: 12},
+ {2198, 2198, 490: 2198, 5039, 493: 2198, 497: 2198, 507: 2198, 514: 2198, 521: 2198, 587: 2198, 664: 2198, 1126: 5247},
+ {680: 5242},
+ {157: 2206, 599: 2206, 1099: 5175, 5170, 1174: 5243},
+ {2202, 2202, 236: 5245, 490: 2202, 2202, 493: 2202, 497: 2202, 507: 2202, 514: 2202, 521: 2202, 587: 2202, 664: 2202, 1350: 5244},
+ {2203, 2203, 490: 2203, 2203, 493: 2203, 497: 2203, 507: 2203, 514: 2203, 521: 2203, 587: 2203, 664: 2203},
// 2635
- {20, 20},
- {28: 59, 130: 59, 142: 59, 476: 59, 511: 59},
- {130: 4735, 476: 5194, 904: 4743},
- {64, 64},
- {511: 2759, 737: 5200},
+ {524: 2817, 754: 2816, 761: 5246},
+ {2201, 2201, 490: 2201, 2201, 493: 2201, 497: 2201, 507: 2201, 514: 2201, 521: 2201, 587: 2201, 664: 2201},
+ {2229, 2229, 490: 2229, 2229, 493: 2229, 497: 2229, 507: 2229, 514: 2229, 521: 2229, 587: 2229, 664: 2229},
+ {2566, 2566},
+ {2565, 2565, 6: 4346, 5068, 18: 4302, 20: 4354, 22: 4347, 4350, 4349, 4352, 4353, 4355, 667: 4351, 802: 4356, 836: 5067},
// 2640
- {511: 2759, 737: 5199},
- {61, 61},
- {62, 62},
- {63, 63},
- {496: 5204},
+ {506: 5251},
+ {165: 5252},
+ {170: 5253},
+ {491: 5254},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 5255},
// 2645
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 5203},
- {496: 65},
- {511: 2759, 737: 5205},
- {254: 5207, 477: 69, 570: 69, 657: 69, 743: 69, 1214: 5206},
- {477: 2607, 570: 2591, 657: 2713, 743: 2573, 763: 5210, 770: 2712, 2574, 777: 5214, 5213, 783: 2575, 788: 5212, 1304: 5211},
+ {56: 5256, 503: 3785, 3786, 3791, 540: 3787, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784},
+ {2567, 2567},
+ {506: 5258},
+ {165: 5259},
+ {170: 5260},
// 2650
- {385: 5208},
- {142: 5209, 477: 68, 570: 68, 657: 68, 743: 68},
- {477: 67, 570: 67, 657: 67, 743: 67},
- {657: 2713, 743: 2573, 770: 5217, 5215, 783: 5216},
- {73, 73},
+ {491: 5261},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 3448, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 5262},
+ {56: 5263, 503: 3785, 3786, 3791, 540: 3787, 565: 3788, 3789, 3782, 3792, 3781, 3790, 3783, 3784},
+ {2568, 2568},
+ {602, 602, 602, 602, 602, 602, 602, 602, 602, 10: 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 57: 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 4873, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 834: 4872, 850: 5265},
// 2655
- {72, 72},
- {71, 71},
- {70, 70},
- {2087, 2087},
- {2086, 2086},
+ {2504, 2504, 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4877, 2843, 2844, 2842, 808: 5267, 1317: 5266},
+ {2569, 2569},
+ {9: 4878, 515: 5268},
+ {491: 5269},
+ {506: 5042, 976: 5041, 1125: 5270},
// 2660
- {262, 262, 484: 262},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 5224, 1154: 5225, 1330: 5223},
- {82, 82, 82, 82, 82, 82, 82, 82, 82, 10: 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 51: 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82},
- {81, 81, 81, 81, 81, 81, 81, 81, 81, 10: 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 51: 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 3948, 786: 5222},
+ {9: 5078, 56: 5271},
+ {2503, 2503},
+ {2570, 2570},
+ {2564, 2564},
+ {152: 5275, 904: 115, 1103: 5276},
// 2665
- {57, 57, 9: 3950},
- {83, 83, 9: 5231},
- {674: 5227, 691: 5228, 1256: 5226},
- {75, 75, 9: 75},
- {80, 80, 9: 80},
+ {904: 114},
+ {904: 5277},
+ {492: 5278},
+ {20, 20, 198: 20, 372: 5280, 678: 20, 1284: 5279},
+ {18, 18, 198: 5283, 678: 18, 1283: 5282},
// 2670
- {79, 79, 9: 79, 141: 5230},
- {77, 77, 9: 77, 141: 5229},
- {76, 76, 9: 76},
- {78, 78, 9: 78},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 5224, 1154: 5232},
+ {524: 2817, 754: 5281},
+ {19, 19, 198: 19, 678: 19},
+ {100, 100, 678: 4066, 968: 5290},
+ {16, 16, 202: 16, 385: 5285, 678: 16, 1311: 5284},
+ {14, 14, 202: 5288, 678: 14, 1310: 5287},
// 2675
- {74, 74, 9: 74},
- {84, 84},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 3948, 786: 5235},
- {56, 56, 9: 3950},
- {141: 5177, 885: 110, 1083: 5239},
+ {524: 2817, 754: 5286},
+ {15, 15, 202: 15, 678: 15},
+ {17, 17, 678: 17},
+ {524: 2817, 754: 5289},
+ {13, 13, 678: 13},
// 2680
- {478: 5238},
- {58, 58},
- {885: 5240},
- {478: 5241},
- {492: 5242, 499: 2129, 507: 5243, 1042: 5244},
+ {21, 21},
+ {28: 63, 141: 63, 153: 63, 491: 63, 524: 63},
+ {141: 4832, 491: 5292, 922: 4840},
+ {68, 68},
+ {524: 2817, 754: 5298},
// 2685
- {2128, 2128, 475: 2128, 2128, 2128, 481: 2128, 498: 2128, 2128, 572: 2128, 649: 2128},
- {2127, 2127, 475: 2127, 2127, 2127, 481: 2127, 498: 2127, 2127, 572: 2127, 649: 2127},
- {499: 5245},
- {572: 5246},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 5247},
+ {524: 2817, 754: 5297},
+ {65, 65},
+ {66, 66},
+ {67, 67},
+ {511: 5302},
// 2690
- {112, 112, 103: 112, 112: 112, 476: 112, 492: 112, 509: 112, 650: 5249, 661: 112, 1196: 5248},
- {108, 108, 103: 3970, 112: 3969, 476: 108, 492: 108, 509: 108, 661: 108, 839: 3968, 1053: 5252},
- {509: 5250},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 533: 3787, 664: 3517, 2785, 2786, 2784, 742: 3786, 811: 5251},
- {111, 111, 103: 111, 112: 111, 476: 111, 492: 111, 509: 111, 661: 111},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 5301},
+ {511: 69},
+ {524: 2817, 754: 5303},
+ {266: 5305, 493: 73, 521: 73, 586: 73, 673: 73, 760: 73, 1237: 5304},
+ {493: 2660, 521: 2645, 586: 2644, 673: 2768, 760: 2626, 780: 5308, 787: 2767, 2627, 794: 5312, 5313, 5311, 801: 2628, 806: 5310, 1327: 5309},
// 2695
- {95, 95, 476: 95, 492: 95, 509: 95, 661: 3991, 949: 5253},
- {114, 114, 476: 114, 492: 5255, 509: 114, 1237: 5254},
- {2337, 2337, 476: 5258, 509: 2337, 1202: 5259},
- {511: 2759, 737: 5256},
- {661: 5257},
+ {398: 5306},
+ {153: 5307, 493: 72, 521: 72, 586: 72, 673: 72, 760: 72},
+ {493: 71, 521: 71, 586: 71, 673: 71, 760: 71},
+ {673: 2768, 760: 2626, 787: 5316, 5314, 801: 5315},
+ {78, 78},
// 2700
- {113, 113, 476: 113, 509: 113},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 2343, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 571: 3375, 664: 4169, 2785, 2786, 2784, 714: 5272, 748: 5271, 1006: 5270, 1200: 5269, 5273},
- {89, 89, 509: 5261, 1255: 5260},
- {115, 115},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3806, 2785, 2786, 2784, 715: 5264, 1081: 5263, 1254: 5262},
+ {77, 77},
+ {76, 76},
+ {75, 75},
+ {74, 74},
+ {2126, 2126},
// 2705
- {88, 88, 9: 5267},
- {86, 86, 9: 86},
- {502: 5265},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3929, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3925, 801: 5266},
- {85, 85, 9: 85},
+ {2125, 2125},
+ {277, 277, 500: 277},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 5323, 1177: 5324, 1353: 5322},
+ {87, 87, 87, 87, 87, 87, 87, 87, 87, 10: 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 57: 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87},
+ {86, 86, 86, 86, 86, 86, 86, 86, 86, 10: 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 57: 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86},
// 2710
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3806, 2785, 2786, 2784, 715: 5264, 1081: 5268},
- {87, 87, 9: 87},
- {9: 5275, 50: 2342},
- {9: 2341, 50: 2341},
- {9: 2339, 50: 2339},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4023, 803: 5321},
+ {61, 61, 9: 4025},
+ {88, 88, 9: 5330},
+ {691: 5326, 708: 5327, 1279: 5325},
+ {80, 80, 9: 80},
// 2715
- {9: 2338, 50: 2338},
- {50: 5274},
- {2336, 2336, 509: 2336},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 571: 3375, 664: 4169, 2785, 2786, 2784, 714: 5272, 748: 5271, 1006: 5276},
- {9: 2340, 50: 2340},
+ {85, 85, 9: 85},
+ {84, 84, 9: 84, 152: 5329},
+ {82, 82, 9: 82, 152: 5328},
+ {81, 81, 9: 81},
+ {83, 83, 9: 83},
// 2720
- {9: 172, 130: 172, 475: 172, 503: 172, 571: 1849, 653: 172, 670: 1849},
- {9: 137, 475: 137, 137, 503: 137, 571: 1818, 653: 137, 670: 1818},
- {9: 151, 475: 151, 151, 503: 151, 571: 1792, 653: 151, 670: 1792},
- {9: 138, 475: 138, 138, 503: 138, 571: 1789, 653: 138, 670: 1789},
- {9: 127, 475: 127, 127, 503: 127, 571: 1754, 653: 127, 670: 1754},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 5323, 1177: 5331},
+ {79, 79, 9: 79},
+ {89, 89},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4023, 803: 5334},
+ {60, 60, 9: 4025},
// 2725
- {9: 147, 475: 147, 147, 503: 147, 571: 1677, 653: 147, 670: 1677},
- {9: 152, 475: 152, 152, 503: 152, 571: 1670, 653: 152, 670: 1670},
- {326: 5386, 390: 5385, 571: 1651, 670: 1651},
- {9: 139, 475: 139, 139, 503: 139, 571: 1648, 653: 139, 670: 1648},
- {9: 128, 475: 128, 128, 503: 128, 571: 1645, 653: 128, 670: 1645},
+ {152: 5275, 904: 115, 1103: 5338},
+ {492: 5337},
+ {62, 62},
+ {904: 5339},
+ {492: 5340},
// 2730
- {571: 5383, 670: 5382},
- {9: 748, 475: 748, 503: 748, 571: 268, 653: 748, 670: 268},
- {9: 747, 475: 747, 503: 747, 653: 747},
- {9: 168, 130: 5381, 475: 168, 503: 168, 653: 168},
- {9: 170, 475: 170, 503: 170, 653: 170},
+ {507: 5341, 515: 2168, 521: 5342, 1062: 5343},
+ {2167, 2167, 490: 2167, 2167, 493: 2167, 497: 2167, 514: 2167, 2167, 587: 2167, 664: 2167},
+ {2166, 2166, 490: 2166, 2166, 493: 2166, 497: 2166, 514: 2166, 2166, 587: 2166, 664: 2166},
+ {515: 5344},
+ {587: 5345},
// 2735
- {9: 169, 475: 169, 503: 169, 653: 169},
- {503: 5379},
- {9: 148, 475: 148, 148, 499: 5377, 503: 148, 653: 148},
- {9: 165, 475: 165, 503: 165, 653: 165},
- {9: 5329, 475: 5330, 503: 5331},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 5346},
+ {117, 117, 109: 117, 136: 117, 491: 117, 507: 117, 525: 117, 666: 5348, 678: 117, 1220: 5347},
+ {113, 113, 109: 4045, 136: 4044, 491: 113, 507: 113, 525: 113, 678: 113, 856: 4043, 1073: 5351},
+ {525: 5349},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 548: 3860, 685: 3590, 2843, 2844, 2842, 759: 3859, 829: 5350},
// 2740
- {9: 163, 475: 163, 5326, 503: 163, 653: 163},
- {9: 161, 192: 5325, 475: 161, 161, 503: 161, 653: 161},
- {9: 159, 284: 5324, 475: 159, 159, 503: 159, 653: 159},
- {9: 158, 20: 5318, 104: 5320, 169: 5319, 172: 5317, 176: 5321, 284: 5322, 475: 158, 158, 503: 158, 653: 158},
- {9: 155, 475: 155, 155, 503: 155, 653: 155},
+ {116, 116, 109: 116, 136: 116, 491: 116, 507: 116, 525: 116, 678: 116},
+ {100, 100, 491: 100, 507: 100, 525: 100, 678: 4066, 968: 5352},
+ {119, 119, 491: 119, 507: 5354, 525: 119, 1260: 5353},
+ {2381, 2381, 491: 5357, 525: 2381, 1225: 5358},
+ {524: 2817, 754: 5355},
// 2745
- {9: 154, 475: 154, 154, 503: 154, 653: 154},
- {9: 153, 176: 5316, 475: 153, 153, 503: 153, 653: 153},
- {9: 150, 475: 150, 150, 503: 150, 653: 150},
- {9: 149, 475: 149, 149, 503: 149, 653: 149},
- {104: 5315, 1025: 5314},
+ {678: 5356},
+ {118, 118, 491: 118, 525: 118},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 2387, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 588: 3448, 685: 4248, 2843, 2844, 2842, 731: 5371, 765: 5370, 1025: 5369, 1223: 5368, 5372},
+ {94, 94, 525: 5360, 1278: 5359},
+ {120, 120},
// 2750
- {9: 145, 475: 145, 145, 503: 145, 653: 145},
- {911: 5313},
- {9: 143, 475: 143, 143, 503: 143, 653: 143},
- {9: 140, 475: 140, 140, 503: 140, 653: 140},
- {126: 5312},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 3879, 2843, 2844, 2842, 732: 5363, 1101: 5362, 1277: 5361},
+ {93, 93, 9: 5366},
+ {91, 91, 9: 91},
+ {516: 5364},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 4004, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4000, 818: 5365},
// 2755
- {9: 135, 475: 135, 135, 503: 135, 653: 135},
- {9: 144, 475: 144, 144, 503: 144, 653: 144},
- {9: 146, 475: 146, 146, 503: 146, 653: 146},
- {9: 133, 475: 133, 133, 503: 133, 653: 133},
- {9: 131, 475: 131, 131, 503: 131, 653: 131},
+ {90, 90, 9: 90},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 3879, 2843, 2844, 2842, 732: 5363, 1101: 5367},
+ {92, 92, 9: 92},
+ {9: 5374, 56: 2386},
+ {9: 2385, 56: 2385},
// 2760
- {9: 157, 475: 157, 157, 503: 157, 653: 157},
- {9: 156, 475: 156, 156, 503: 156, 653: 156},
- {126: 5323},
- {9: 134, 475: 134, 134, 503: 134, 653: 134},
- {9: 132, 475: 132, 132, 503: 132, 653: 132},
+ {9: 2383, 56: 2383},
+ {9: 2382, 56: 2382},
+ {56: 5373},
+ {2380, 2380, 525: 2380},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 588: 3448, 685: 4248, 2843, 2844, 2842, 731: 5371, 765: 5370, 1025: 5375},
// 2765
- {9: 130, 475: 130, 130, 503: 130, 653: 130},
- {9: 136, 475: 136, 136, 503: 136, 653: 136},
- {9: 129, 475: 129, 129, 503: 129, 653: 129},
- {9: 160, 475: 160, 160, 503: 160, 653: 160},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4170, 812: 5327},
+ {9: 2384, 56: 2384},
+ {9: 177, 141: 177, 490: 177, 519: 177, 588: 1886, 669: 177, 683: 1886},
+ {9: 142, 490: 142, 142, 519: 142, 588: 1855, 669: 142, 683: 1855},
+ {9: 156, 490: 156, 156, 519: 156, 588: 1829, 669: 156, 683: 1829},
+ {9: 143, 490: 143, 143, 519: 143, 588: 1826, 669: 143, 683: 1826},
// 2770
- {9: 4172, 50: 5328},
- {9: 162, 475: 162, 503: 162, 653: 162},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 5277, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 5279, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 5285, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 5281, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 5278, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 5286, 3232, 2956, 3184, 5280, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 5283, 2867, 2868, 3107, 5284, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 5282, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 5288, 500: 5311, 570: 5305, 647: 5309, 649: 5294, 652: 5304, 654: 5298, 657: 5307, 664: 3517, 2785, 2786, 2784, 5299, 672: 5303, 677: 5300, 742: 5287, 5302, 805: 5289, 814: 5293, 858: 5308, 870: 5306, 941: 5290, 962: 5291, 5297, 968: 5292, 5376, 977: 5301, 979: 5310},
- {2: 126, 126, 126, 126, 126, 126, 126, 10: 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 51: 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 5343, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 523: 126, 572: 5342, 964: 5344, 1091: 5345},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 573: 5333, 664: 3517, 2785, 2786, 2784, 742: 5332, 781: 5334, 872: 5335},
+ {9: 132, 490: 132, 132, 519: 132, 588: 1790, 669: 132, 683: 1790},
+ {9: 152, 490: 152, 152, 519: 152, 588: 1713, 669: 152, 683: 1713},
+ {9: 157, 490: 157, 157, 519: 157, 588: 1706, 669: 157, 683: 1706},
+ {338: 5485, 403: 5484, 588: 1687, 683: 1687},
+ {9: 144, 490: 144, 144, 519: 144, 588: 1684, 669: 144, 683: 1684},
// 2775
- {761, 761, 6: 761, 9: 761, 15: 761, 48: 761, 761, 104: 761, 147: 761, 477: 761, 484: 761, 502: 761, 571: 5340, 653: 761, 669: 761, 5339, 761},
- {1220, 1220, 6: 1220, 9: 1220, 15: 1220, 48: 1220, 1220, 104: 1220, 147: 1220, 476: 3796, 1220, 484: 1220, 502: 1220, 653: 1220, 669: 1220, 671: 1220, 1100: 5338},
- {757, 757, 9: 757, 477: 757},
- {116, 116, 9: 5336},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 573: 5333, 664: 3517, 2785, 2786, 2784, 742: 5332, 781: 5337},
+ {9: 133, 490: 133, 133, 519: 133, 588: 1681, 669: 133, 683: 1681},
+ {588: 5482, 683: 5481},
+ {9: 768, 490: 768, 519: 768, 588: 283, 669: 768, 683: 283},
+ {9: 767, 490: 767, 519: 767, 669: 767},
+ {9: 173, 141: 5480, 490: 173, 519: 173, 669: 173},
// 2780
- {756, 756, 9: 756, 477: 756},
- {758, 758, 6: 758, 9: 758, 15: 758, 48: 758, 758, 104: 758, 147: 758, 477: 758, 484: 758, 502: 758, 653: 758, 669: 758, 671: 758},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 664: 3517, 2785, 2786, 2784, 742: 5341},
- {759, 759, 6: 759, 9: 759, 15: 759, 48: 759, 759, 104: 759, 147: 759, 477: 759, 484: 759, 502: 759, 653: 759, 669: 759, 671: 759},
- {760, 760, 6: 760, 9: 760, 15: 760, 48: 760, 760, 104: 760, 147: 760, 477: 760, 484: 760, 502: 760, 653: 760, 669: 760, 671: 760},
+ {9: 175, 490: 175, 519: 175, 669: 175},
+ {9: 174, 490: 174, 519: 174, 669: 174},
+ {519: 5478},
+ {9: 153, 490: 153, 153, 515: 5476, 519: 153, 669: 153},
+ {9: 170, 490: 170, 519: 170, 669: 170},
// 2785
- {2: 125, 125, 125, 125, 125, 125, 125, 10: 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 51: 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 523: 125},
- {2: 124, 124, 124, 124, 124, 124, 124, 10: 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 51: 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 523: 124},
- {2: 123, 123, 123, 123, 123, 123, 123, 10: 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 51: 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 523: 123},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 523: 5346, 664: 5347, 2785, 2786, 2784, 1115: 5348},
- {503: 122, 653: 122, 655: 5374},
+ {9: 5428, 490: 5429, 519: 5430},
+ {9: 168, 490: 168, 5425, 519: 168, 669: 168},
+ {9: 166, 204: 5424, 490: 166, 166, 519: 166, 669: 166},
+ {9: 164, 296: 5423, 490: 164, 164, 519: 164, 669: 164},
+ {9: 163, 20: 5417, 110: 5419, 181: 5418, 183: 5416, 187: 5420, 296: 5421, 490: 163, 163, 519: 163, 669: 163},
// 2790
- {503: 118, 653: 118, 655: 5371},
- {503: 5349},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 573: 5333, 664: 3517, 2785, 2786, 2784, 742: 5332, 781: 5350, 895: 5351, 927: 5352},
- {206, 206, 6: 206, 9: 206, 15: 206, 48: 206, 206, 147: 5356, 477: 206, 669: 206, 1186: 5355},
- {245, 245, 6: 245, 9: 245, 15: 245, 48: 245, 245, 477: 245, 669: 245},
+ {9: 160, 490: 160, 160, 519: 160, 669: 160},
+ {9: 159, 490: 159, 159, 519: 159, 669: 159},
+ {9: 158, 187: 5415, 490: 158, 158, 519: 158, 669: 158},
+ {9: 155, 490: 155, 155, 519: 155, 669: 155},
+ {9: 154, 490: 154, 154, 519: 154, 669: 154},
// 2795
- {117, 117, 9: 5353},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 573: 5333, 664: 3517, 2785, 2786, 2784, 742: 5332, 781: 5350, 895: 5354},
- {244, 244, 6: 244, 9: 244, 15: 244, 48: 244, 244, 477: 244, 669: 244},
- {246, 246, 6: 246, 9: 246, 15: 246, 48: 246, 246, 477: 246, 669: 246},
- {477: 5358, 663: 5357},
+ {110: 5414, 1045: 5413},
+ {9: 150, 490: 150, 150, 519: 150, 669: 150},
+ {929: 5412},
+ {9: 148, 490: 148, 148, 519: 148, 669: 148},
+ {9: 145, 490: 145, 145, 519: 145, 669: 145},
// 2800
- {15: 5369, 478: 5366, 897: 5368},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 664: 3517, 2785, 2786, 2784, 742: 5360, 1187: 5359},
- {204, 204, 6: 204, 9: 204, 15: 204, 48: 204, 204, 477: 204, 481: 5362, 663: 5361, 669: 204},
- {200, 200, 6: 200, 9: 200, 15: 200, 48: 200, 200, 477: 200, 481: 200, 663: 200, 669: 200},
- {478: 5366, 897: 5367},
+ {137: 5411},
+ {9: 140, 490: 140, 140, 519: 140, 669: 140},
+ {9: 149, 490: 149, 149, 519: 149, 669: 149},
+ {9: 151, 490: 151, 151, 519: 151, 669: 151},
+ {9: 138, 490: 138, 138, 519: 138, 669: 138},
// 2805
- {478: 5364, 579: 5365, 1065: 5363},
- {202, 202, 6: 202, 9: 202, 15: 202, 48: 202, 202, 477: 202, 669: 202},
- {199, 199, 6: 199, 9: 199, 15: 199, 48: 199, 199, 477: 199, 669: 199},
- {198, 198, 6: 198, 9: 198, 15: 198, 48: 198, 198, 477: 198, 669: 198},
- {753, 753, 6: 753, 9: 753, 15: 753, 48: 753, 753, 753, 477: 753, 669: 753},
+ {9: 136, 490: 136, 136, 519: 136, 669: 136},
+ {9: 162, 490: 162, 162, 519: 162, 669: 162},
+ {9: 161, 490: 161, 161, 519: 161, 669: 161},
+ {137: 5422},
+ {9: 139, 490: 139, 139, 519: 139, 669: 139},
// 2810
- {203, 203, 6: 203, 9: 203, 15: 203, 48: 203, 203, 477: 203, 669: 203},
- {205, 205, 6: 205, 9: 205, 15: 205, 48: 205, 205, 477: 205, 669: 205},
- {478: 5364, 579: 5365, 1065: 5370},
- {201, 201, 6: 201, 9: 201, 15: 201, 48: 201, 201, 477: 201, 669: 201},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 523: 5372, 664: 5373, 2785, 2786, 2784},
+ {9: 137, 490: 137, 137, 519: 137, 669: 137},
+ {9: 135, 490: 135, 135, 519: 135, 669: 135},
+ {9: 141, 490: 141, 141, 519: 141, 669: 141},
+ {9: 134, 490: 134, 134, 519: 134, 669: 134},
+ {9: 165, 490: 165, 165, 519: 165, 669: 165},
// 2815
- {503: 120, 653: 120},
- {503: 119, 653: 119},
- {523: 5375},
- {503: 121, 653: 121},
- {9: 164, 475: 164, 503: 164, 653: 164},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4249, 830: 5426},
+ {9: 4251, 56: 5427},
+ {9: 167, 490: 167, 519: 167, 669: 167},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 5376, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 5378, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 5384, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 5380, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 5377, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 5385, 3300, 3015, 3252, 5379, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 5382, 2925, 2926, 3167, 5383, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 5381, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 5387, 517: 5410, 586: 5404, 663: 5408, 5393, 667: 5403, 670: 5397, 673: 5406, 681: 5398, 685: 3590, 2843, 2844, 2842, 5402, 694: 5399, 759: 5386, 5401, 822: 5388, 832: 5392, 875: 5407, 888: 5405, 960: 5389, 980: 5390, 5396, 986: 5391, 5475, 995: 5400, 997: 5409},
+ {2: 131, 131, 131, 131, 131, 131, 131, 10: 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 57: 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 5442, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 540: 131, 587: 5441, 982: 5443, 1111: 5444},
// 2820
- {285: 5378},
- {9: 166, 475: 166, 503: 166, 653: 166},
- {285: 5380},
- {9: 167, 475: 167, 503: 167, 653: 167},
- {9: 171, 130: 171, 475: 171, 503: 171, 653: 171},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 589: 5432, 685: 3590, 2843, 2844, 2842, 759: 5431, 798: 5433, 890: 5434},
+ {781, 781, 6: 781, 9: 781, 15: 781, 51: 781, 781, 781, 781, 781, 110: 781, 158: 781, 493: 781, 500: 781, 516: 781, 588: 5439, 669: 781, 682: 781, 5438, 781},
+ {1240, 1240, 6: 1240, 9: 1240, 15: 1240, 51: 1240, 1240, 1240, 1240, 1240, 110: 1240, 158: 1240, 491: 3869, 493: 1240, 500: 1240, 516: 1240, 669: 1240, 682: 1240, 684: 1240, 1120: 5437},
+ {777, 777, 9: 777, 493: 777},
+ {121, 121, 9: 5435},
// 2825
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 664: 3517, 2785, 2786, 2784, 742: 5384},
- {749, 749, 9: 749, 475: 749, 503: 749, 653: 749},
- {750, 750, 9: 750, 475: 750, 503: 750, 653: 750},
- {9: 142, 475: 142, 142, 503: 142, 653: 142},
- {9: 141, 475: 141, 141, 503: 141, 653: 141},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 589: 5432, 685: 3590, 2843, 2844, 2842, 759: 5431, 798: 5436},
+ {776, 776, 9: 776, 493: 776},
+ {778, 778, 6: 778, 9: 778, 15: 778, 51: 778, 778, 778, 778, 778, 110: 778, 158: 778, 493: 778, 500: 778, 516: 778, 669: 778, 682: 778, 684: 778},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 685: 3590, 2843, 2844, 2842, 759: 5440},
+ {779, 779, 6: 779, 9: 779, 15: 779, 51: 779, 779, 779, 779, 779, 110: 779, 158: 779, 493: 779, 500: 779, 516: 779, 669: 779, 682: 779, 684: 779},
// 2830
- {475: 5429, 571: 1765, 670: 1765},
- {9: 5329, 475: 5389, 653: 5390},
- {2: 126, 126, 126, 126, 126, 126, 126, 10: 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 51: 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 5343, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 523: 126, 572: 5342, 964: 5344, 1091: 5392},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 573: 5333, 664: 3517, 2785, 2786, 2784, 742: 5332, 781: 5334, 872: 5391},
- {179, 179, 9: 5336},
+ {780, 780, 6: 780, 9: 780, 15: 780, 51: 780, 780, 780, 780, 780, 110: 780, 158: 780, 493: 780, 500: 780, 516: 780, 669: 780, 682: 780, 684: 780},
+ {2: 130, 130, 130, 130, 130, 130, 130, 10: 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 57: 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 540: 130},
+ {2: 129, 129, 129, 129, 129, 129, 129, 10: 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 57: 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 540: 129},
+ {2: 128, 128, 128, 128, 128, 128, 128, 10: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 57: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 540: 128},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 540: 5445, 685: 5446, 2843, 2844, 2842, 1135: 5447},
// 2835
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 523: 5346, 664: 5347, 2785, 2786, 2784, 1115: 5393},
- {653: 5394},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 573: 5333, 664: 3517, 2785, 2786, 2784, 742: 5332, 781: 5350, 895: 5351, 927: 5395},
- {235, 235, 9: 5353, 477: 235, 669: 5397, 965: 5396, 5398},
- {234, 234, 6: 234, 15: 234, 48: 234, 234, 477: 234},
+ {519: 127, 669: 127, 671: 5473},
+ {519: 123, 669: 123, 671: 5470},
+ {519: 5448},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 589: 5432, 685: 3590, 2843, 2844, 2842, 759: 5431, 798: 5449, 913: 5450, 945: 5451},
+ {214, 214, 6: 214, 9: 214, 15: 214, 51: 214, 214, 214, 214, 214, 158: 5455, 493: 214, 682: 214, 1210: 5454},
// 2840
- {129: 5418, 131: 5416, 137: 5419, 5417, 5420, 365: 5411, 410: 5413, 967: 5415, 1295: 5414, 1314: 5412},
- {178, 178, 477: 5400, 1172: 5399},
- {181, 181},
- {132: 5404, 5402, 5403, 5405, 858: 5401},
- {911: 5410},
+ {260, 260, 6: 260, 9: 260, 15: 260, 51: 260, 260, 260, 260, 260, 493: 260, 682: 260},
+ {122, 122, 9: 5452},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 589: 5432, 685: 3590, 2843, 2844, 2842, 759: 5431, 798: 5449, 913: 5453},
+ {259, 259, 6: 259, 9: 259, 15: 259, 51: 259, 259, 259, 259, 259, 493: 259, 682: 259},
+ {261, 261, 6: 261, 9: 261, 15: 261, 51: 261, 261, 261, 261, 261, 493: 261, 682: 261},
// 2845
- {511: 2759, 737: 5409},
- {511: 2759, 737: 5408},
- {511: 2759, 737: 5407},
- {511: 2759, 737: 5406},
- {173, 173},
+ {493: 5457, 680: 5456},
+ {15: 5468, 492: 5465, 915: 5467},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 685: 3590, 2843, 2844, 2842, 759: 5459, 1211: 5458},
+ {212, 212, 6: 212, 9: 212, 15: 212, 51: 212, 212, 212, 212, 212, 493: 212, 497: 5461, 680: 5460, 682: 212},
+ {208, 208, 6: 208, 9: 208, 15: 208, 51: 208, 208, 208, 208, 208, 493: 208, 497: 208, 680: 208, 682: 208},
// 2850
- {174, 174},
- {175, 175},
- {176, 176},
- {177, 177},
- {233, 233, 6: 233, 15: 233, 48: 233, 233, 477: 233},
+ {492: 5465, 915: 5466},
+ {492: 5463, 595: 5464, 1085: 5462},
+ {210, 210, 6: 210, 9: 210, 15: 210, 51: 210, 210, 210, 210, 210, 493: 210, 682: 210},
+ {207, 207, 6: 207, 9: 207, 15: 207, 51: 207, 207, 207, 207, 207, 493: 207, 682: 207},
+ {206, 206, 6: 206, 9: 206, 15: 206, 51: 206, 206, 206, 206, 206, 493: 206, 682: 206},
// 2855
- {232, 232, 6: 232, 15: 232, 48: 232, 232, 477: 232},
- {231, 231, 6: 231, 15: 231, 48: 231, 231, 477: 231},
- {230, 230, 6: 230, 15: 230, 48: 230, 230, 129: 5418, 131: 5416, 137: 5419, 5417, 5420, 477: 230, 510: 5426, 967: 5427},
- {229, 229, 6: 229, 15: 229, 48: 229, 229, 129: 229, 131: 229, 137: 229, 229, 229, 477: 229, 510: 229},
- {478: 5425},
+ {773, 773, 6: 773, 9: 773, 15: 773, 51: 773, 773, 773, 773, 773, 773, 493: 773, 682: 773},
+ {211, 211, 6: 211, 9: 211, 15: 211, 51: 211, 211, 211, 211, 211, 493: 211, 682: 211},
+ {213, 213, 6: 213, 9: 213, 15: 213, 51: 213, 213, 213, 213, 213, 493: 213, 682: 213},
+ {492: 5463, 595: 5464, 1085: 5469},
+ {209, 209, 6: 209, 9: 209, 15: 209, 51: 209, 209, 209, 209, 209, 493: 209, 682: 209},
// 2860
- {478: 5424},
- {478: 5423},
- {478: 5422},
- {478: 5421},
- {222, 222, 6: 222, 15: 222, 48: 222, 222, 129: 222, 131: 222, 137: 222, 222, 222, 477: 222, 510: 222},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 540: 5471, 685: 5472, 2843, 2844, 2842},
+ {519: 125, 669: 125},
+ {519: 124, 669: 124},
+ {540: 5474},
+ {519: 126, 669: 126},
// 2865
- {223, 223, 6: 223, 15: 223, 48: 223, 223, 129: 223, 131: 223, 137: 223, 223, 223, 477: 223, 510: 223},
- {224, 224, 6: 224, 15: 224, 48: 224, 224, 129: 224, 131: 224, 137: 224, 224, 224, 477: 224, 510: 224},
- {225, 225, 6: 225, 15: 225, 48: 225, 225, 129: 225, 131: 225, 137: 225, 225, 225, 477: 225, 510: 225},
- {226, 226, 6: 226, 15: 226, 48: 226, 226, 129: 226, 131: 226, 137: 226, 226, 226, 477: 226, 510: 226},
- {129: 5418, 131: 5416, 137: 5419, 5417, 5420, 967: 5428},
+ {9: 169, 490: 169, 519: 169, 669: 169},
+ {297: 5477},
+ {9: 171, 490: 171, 519: 171, 669: 171},
+ {297: 5479},
+ {9: 172, 490: 172, 519: 172, 669: 172},
// 2870
- {227, 227, 6: 227, 15: 227, 48: 227, 227, 129: 227, 131: 227, 137: 227, 227, 227, 477: 227, 510: 227},
- {228, 228, 6: 228, 15: 228, 48: 228, 228, 129: 228, 131: 228, 137: 228, 228, 228, 477: 228, 510: 228},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 573: 5333, 664: 3517, 2785, 2786, 2784, 742: 5332, 781: 5430},
- {653: 5431},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 573: 5333, 664: 3517, 2785, 2786, 2784, 742: 5332, 781: 5334, 872: 5432},
+ {9: 176, 141: 176, 490: 176, 519: 176, 669: 176},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 685: 3590, 2843, 2844, 2842, 759: 5483},
+ {769, 769, 9: 769, 490: 769, 519: 769, 669: 769},
+ {770, 770, 9: 770, 490: 770, 519: 770, 669: 770},
+ {9: 147, 490: 147, 147, 519: 147, 669: 147},
// 2875
- {178, 178, 9: 5336, 477: 5400, 1172: 5433},
- {180, 180},
- {2210, 2210, 9: 2210, 16: 2210, 18: 2210, 21: 2210, 482: 2210, 487: 2210, 501: 2210, 503: 2210, 508: 2210, 2210, 521: 2210, 650: 2210, 653: 2210, 680: 2210},
- {259, 259},
- {2: 868, 868, 868, 868, 868, 868, 868, 10: 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 51: 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 476: 868, 478: 868, 868, 868, 482: 868, 485: 868, 868, 488: 868, 868, 868, 492: 868, 495: 868, 498: 868, 868, 503: 868, 507: 868, 868, 511: 868, 518: 868, 523: 868, 533: 868, 567: 868, 570: 868, 868, 573: 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 585: 868, 868, 868, 868, 868, 868, 868, 868, 595: 868, 868, 598: 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 651: 868, 654: 868, 749: 868, 868, 757: 868, 868, 868, 766: 868, 774: 868, 868, 868},
+ {9: 146, 490: 146, 146, 519: 146, 669: 146},
+ {490: 5528, 588: 1802, 683: 1802},
+ {9: 5428, 490: 5488, 669: 5489},
+ {2: 131, 131, 131, 131, 131, 131, 131, 10: 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 57: 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 5442, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 540: 131, 587: 5441, 982: 5443, 1111: 5491},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 589: 5432, 685: 3590, 2843, 2844, 2842, 759: 5431, 798: 5433, 890: 5490},
// 2880
- {2: 866, 866, 866, 866, 866, 866, 866, 10: 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 51: 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 476: 866, 492: 866, 499: 866, 503: 866, 582: 866, 757: 866, 866, 866},
- {2: 1071, 1071, 1071, 1071, 1071, 1071, 1071, 10: 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 51: 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 476: 1071, 492: 1071, 582: 1071, 757: 5441, 5440, 5439, 842: 5442, 891: 5443},
- {2: 1074, 1074, 1074, 1074, 1074, 1074, 1074, 10: 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 51: 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 476: 1074, 478: 1074, 1074, 1074, 482: 1074, 485: 1074, 1074, 488: 1074, 1074, 1074, 492: 1074, 495: 1074, 498: 1074, 1074, 503: 1074, 507: 1074, 1074, 511: 1074, 518: 1074, 523: 1074, 533: 1074, 567: 1074, 570: 1074, 1074, 573: 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 585: 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 595: 1074, 1074, 598: 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 651: 1074, 654: 1074, 749: 1074, 1074, 757: 1074, 1074, 1074, 766: 1074, 774: 1074, 1074, 1074},
- {2: 1073, 1073, 1073, 1073, 1073, 1073, 1073, 10: 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 51: 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 476: 1073, 478: 1073, 1073, 1073, 482: 1073, 485: 1073, 1073, 488: 1073, 1073, 1073, 492: 1073, 495: 1073, 498: 1073, 1073, 503: 1073, 507: 1073, 1073, 511: 1073, 518: 1073, 523: 1073, 533: 1073, 567: 1073, 570: 1073, 1073, 573: 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 585: 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 595: 1073, 1073, 598: 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 651: 1073, 654: 1073, 749: 1073, 1073, 757: 1073, 1073, 1073, 766: 1073, 774: 1073, 1073, 1073},
- {2: 1072, 1072, 1072, 1072, 1072, 1072, 1072, 10: 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 51: 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 476: 1072, 478: 1072, 1072, 1072, 482: 1072, 485: 1072, 1072, 488: 1072, 1072, 1072, 492: 1072, 495: 1072, 498: 1072, 1072, 503: 1072, 507: 1072, 1072, 511: 1072, 518: 1072, 523: 1072, 533: 1072, 567: 1072, 570: 1072, 1072, 573: 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 585: 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 595: 1072, 1072, 598: 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 651: 1072, 654: 1072, 749: 1072, 1072, 757: 1072, 1072, 1072, 766: 1072, 774: 1072, 1072, 1072},
+ {184, 184, 9: 5435},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 540: 5445, 685: 5446, 2843, 2844, 2842, 1135: 5492},
+ {669: 5493},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 589: 5432, 685: 3590, 2843, 2844, 2842, 759: 5431, 798: 5449, 913: 5450, 945: 5494},
+ {250, 250, 9: 5452, 493: 250, 682: 5496, 983: 5495, 5497},
// 2885
- {2: 1070, 1070, 1070, 1070, 1070, 1070, 1070, 10: 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 51: 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 476: 1070, 492: 1070, 499: 1070, 503: 1070, 582: 1070},
- {2: 1873, 1873, 1873, 1873, 1873, 1873, 1873, 10: 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 51: 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 1873, 476: 1873, 492: 4217, 582: 1873, 859: 5444},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 5453, 582: 5448, 664: 3947, 2785, 2786, 2784, 713: 5452, 740: 5451, 802: 5450, 806: 5449, 5447, 856: 5445, 894: 5446},
- {945, 945, 9: 945, 50: 945, 475: 945, 477: 945, 483: 945, 945, 493: 945, 945, 496: 945, 945, 499: 945, 945, 945, 504: 945, 945, 509: 945, 516: 945, 945, 519: 945},
- {9: 5499, 509: 5569},
+ {249, 249, 6: 249, 15: 249, 51: 249, 249, 249, 249, 249, 493: 249},
+ {140: 5517, 142: 5515, 148: 5518, 5516, 5519, 377: 5510, 423: 5512, 985: 5514, 1318: 5513, 1337: 5511},
+ {183, 183, 493: 5499, 1195: 5498},
+ {186, 186},
+ {143: 5503, 5501, 5502, 5504, 875: 5500},
// 2890
- {9: 943, 485: 5466, 5467, 509: 5556, 518: 5465, 520: 5468, 522: 5464, 524: 5469, 5470, 823: 5463, 827: 5462},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 5553, 2785, 2786, 2784},
- {941, 941, 9: 941, 50: 941, 475: 941, 477: 941, 483: 941, 941, 941, 941, 493: 941, 941, 496: 941, 941, 499: 941, 941, 941, 504: 941, 941, 509: 941, 516: 941, 941, 941, 941, 941, 522: 941, 524: 941, 941, 941},
- {940, 940, 9: 940, 50: 940, 475: 940, 477: 940, 483: 940, 940, 940, 940, 493: 940, 940, 496: 940, 940, 499: 940, 940, 940, 504: 940, 940, 509: 940, 516: 940, 940, 940, 940, 940, 522: 940, 524: 940, 940, 940},
- {936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 936, 477: 936, 481: 936, 483: 936, 936, 936, 936, 491: 5503, 936, 936, 936, 496: 936, 936, 499: 936, 936, 936, 504: 936, 936, 936, 509: 936, 516: 936, 936, 936, 936, 936, 522: 936, 524: 936, 936, 936, 528: 936, 936, 676: 936, 864: 5502},
+ {929: 5509},
+ {524: 2817, 754: 5508},
+ {524: 2817, 754: 5507},
+ {524: 2817, 754: 5506},
+ {524: 2817, 754: 5505},
// 2895
- {934, 934, 3161, 2991, 3026, 2871, 2907, 3028, 2798, 934, 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 934, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 934, 477: 934, 481: 5460, 483: 934, 934, 934, 934, 493: 934, 934, 496: 934, 934, 499: 934, 934, 934, 504: 934, 934, 509: 934, 516: 934, 934, 934, 934, 934, 522: 934, 524: 934, 934, 934, 664: 5459, 2785, 2786, 2784, 920: 5458, 5457},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 5453, 2607, 498: 2606, 572: 2605, 582: 5448, 649: 2601, 664: 3947, 2785, 2786, 2784, 713: 5456, 740: 5451, 752: 3907, 2602, 2603, 2604, 2613, 760: 2611, 2610, 2609, 3906, 3909, 3908, 802: 5450, 806: 5449, 5455, 856: 5445, 894: 5454},
- {9: 5499, 50: 5500},
- {943, 943, 9: 943, 50: 943, 475: 943, 477: 943, 483: 943, 943, 5466, 5467, 493: 943, 943, 496: 943, 943, 499: 943, 943, 943, 504: 943, 943, 509: 943, 516: 943, 943, 5465, 943, 5468, 522: 5464, 524: 5469, 5470, 823: 5463, 827: 5462},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 934, 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 4000, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 481: 5460, 483: 828, 485: 934, 934, 493: 828, 828, 496: 2751, 504: 2752, 2748, 518: 934, 520: 934, 522: 934, 524: 934, 934, 664: 5459, 2785, 2786, 2784, 772: 3917, 3918, 920: 5458, 5457},
+ {178, 178},
+ {179, 179},
+ {180, 180},
+ {181, 181},
+ {182, 182},
// 2900
- {938, 938, 9: 938, 50: 938, 475: 938, 477: 938, 483: 938, 938, 938, 938, 493: 938, 938, 496: 938, 938, 499: 938, 938, 938, 504: 938, 938, 509: 938, 516: 938, 938, 938, 938, 938, 522: 938, 524: 938, 938, 938},
- {933, 933, 9: 933, 50: 933, 475: 933, 477: 933, 483: 933, 933, 933, 933, 492: 933, 933, 933, 496: 933, 933, 499: 933, 933, 933, 504: 933, 933, 933, 509: 933, 516: 933, 933, 933, 933, 933, 522: 933, 524: 933, 933, 933, 528: 933, 933, 676: 933},
- {932, 932, 9: 932, 50: 932, 475: 932, 477: 932, 483: 932, 932, 932, 932, 492: 932, 932, 932, 496: 932, 932, 499: 932, 932, 932, 504: 932, 932, 932, 509: 932, 516: 932, 932, 932, 932, 932, 522: 932, 524: 932, 932, 932, 528: 932, 932, 676: 932},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 5461, 2785, 2786, 2784},
- {931, 931, 9: 931, 50: 931, 475: 931, 477: 931, 483: 931, 931, 931, 931, 492: 931, 931, 931, 496: 931, 931, 499: 931, 931, 931, 504: 931, 931, 931, 509: 931, 516: 931, 931, 931, 931, 931, 522: 931, 524: 931, 931, 931, 528: 931, 931, 676: 931},
+ {248, 248, 6: 248, 15: 248, 51: 248, 248, 248, 248, 248, 493: 248},
+ {247, 247, 6: 247, 15: 247, 51: 247, 247, 247, 247, 247, 493: 247},
+ {246, 246, 6: 246, 15: 246, 51: 246, 246, 246, 246, 246, 493: 246},
+ {245, 245, 6: 245, 15: 245, 51: 245, 245, 245, 245, 245, 140: 5517, 142: 5515, 148: 5518, 5516, 5519, 493: 245, 526: 5525, 985: 5526},
+ {244, 244, 6: 244, 15: 244, 51: 244, 244, 244, 244, 244, 140: 244, 142: 244, 148: 244, 244, 244, 493: 244, 526: 244},
// 2905
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 5453, 664: 3947, 2785, 2786, 2784, 713: 5452, 740: 5451, 802: 5450, 806: 5449, 5492},
- {520: 902, 913: 5479, 1104: 5483},
- {485: 5466, 5467, 520: 5476, 823: 5477},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 5453, 664: 3947, 2785, 2786, 2784, 713: 5452, 740: 5451, 802: 5450, 806: 5449, 5473},
- {520: 904, 913: 904},
+ {492: 5524},
+ {492: 5523},
+ {492: 5522},
+ {492: 5521},
+ {492: 5520},
// 2910
- {520: 903, 913: 903},
- {2: 900, 900, 900, 900, 900, 900, 900, 10: 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 51: 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 476: 900},
- {520: 5472},
- {520: 5471},
- {2: 898, 898, 898, 898, 898, 898, 898, 10: 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 51: 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 476: 898},
+ {237, 237, 6: 237, 15: 237, 51: 237, 237, 237, 237, 237, 140: 237, 142: 237, 148: 237, 237, 237, 493: 237, 526: 237},
+ {238, 238, 6: 238, 15: 238, 51: 238, 238, 238, 238, 238, 140: 238, 142: 238, 148: 238, 238, 238, 493: 238, 526: 238},
+ {239, 239, 6: 239, 15: 239, 51: 239, 239, 239, 239, 239, 140: 239, 142: 239, 148: 239, 239, 239, 493: 239, 526: 239},
+ {240, 240, 6: 240, 15: 240, 51: 240, 240, 240, 240, 240, 140: 240, 142: 240, 148: 240, 240, 240, 493: 240, 526: 240},
+ {241, 241, 6: 241, 15: 241, 51: 241, 241, 241, 241, 241, 140: 241, 142: 241, 148: 241, 241, 241, 493: 241, 526: 241},
// 2915
- {2: 899, 899, 899, 899, 899, 899, 899, 10: 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 51: 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 476: 899},
- {906, 906, 9: 906, 50: 906, 475: 5474, 477: 906, 483: 906, 906, 906, 906, 493: 906, 906, 496: 906, 906, 499: 906, 906, 906, 504: 906, 906, 509: 906, 516: 906, 906, 906, 906, 906, 522: 906, 524: 906, 906, 906, 823: 5463, 827: 5462},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 5475},
- {905, 905, 9: 905, 50: 905, 475: 905, 477: 905, 483: 905, 905, 905, 905, 493: 905, 905, 496: 905, 905, 499: 905, 905, 905, 504: 905, 905, 509: 905, 3371, 512: 3369, 3370, 3368, 3366, 905, 905, 905, 905, 905, 522: 905, 524: 905, 905, 905, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 5453, 664: 3947, 2785, 2786, 2784, 713: 5452, 740: 5451, 802: 5450, 806: 5449, 5482},
+ {140: 5517, 142: 5515, 148: 5518, 5516, 5519, 985: 5527},
+ {242, 242, 6: 242, 15: 242, 51: 242, 242, 242, 242, 242, 140: 242, 142: 242, 148: 242, 242, 242, 493: 242, 526: 242},
+ {243, 243, 6: 243, 15: 243, 51: 243, 243, 243, 243, 243, 140: 243, 142: 243, 148: 243, 243, 243, 493: 243, 526: 243},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 589: 5432, 685: 3590, 2843, 2844, 2842, 759: 5431, 798: 5529},
+ {669: 5530},
// 2920
- {520: 902, 913: 5479, 1104: 5478},
- {520: 5480},
- {520: 901},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 5453, 664: 3947, 2785, 2786, 2784, 713: 5452, 740: 5451, 802: 5450, 806: 5449, 5481},
- {907, 907, 9: 907, 50: 907, 475: 907, 477: 907, 483: 907, 907, 907, 907, 493: 907, 907, 496: 907, 907, 499: 907, 907, 907, 504: 907, 907, 509: 907, 516: 907, 907, 907, 907, 907, 522: 907, 524: 907, 907, 907, 823: 5463, 827: 5462},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 589: 5432, 685: 3590, 2843, 2844, 2842, 759: 5431, 798: 5433, 890: 5531},
+ {183, 183, 9: 5435, 493: 5499, 1195: 5532},
+ {185, 185},
+ {2250, 2250, 9: 2250, 16: 2250, 18: 2250, 21: 2250, 495: 2250, 498: 2250, 513: 2250, 518: 2250, 2250, 525: 2250, 536: 2250, 666: 2250, 669: 2250, 697: 2250},
+ {274, 274},
// 2925
- {908, 908, 9: 908, 50: 908, 475: 908, 477: 908, 483: 908, 908, 908, 908, 493: 908, 908, 496: 908, 908, 499: 908, 908, 908, 504: 908, 908, 509: 908, 516: 908, 908, 908, 908, 908, 522: 908, 524: 908, 908, 908, 823: 5463, 827: 5462},
- {520: 5484},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 5453, 664: 3947, 2785, 2786, 2784, 713: 5452, 740: 5451, 802: 5450, 806: 5449, 5485},
- {475: 5486, 484: 5487, 5466, 5467, 518: 5465, 520: 5468, 522: 5464, 524: 5469, 5470, 823: 5463, 827: 5462},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 5491},
+ {2: 888, 888, 888, 888, 888, 888, 888, 10: 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 57: 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 491: 888, 888, 494: 888, 888, 888, 501: 888, 888, 888, 888, 888, 507: 888, 509: 888, 513: 888, 888, 888, 519: 888, 521: 888, 524: 888, 533: 888, 540: 888, 548: 888, 582: 888, 586: 888, 588: 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 600: 888, 888, 888, 888, 888, 888, 607: 888, 888, 888, 888, 888, 613: 888, 888, 616: 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, 668: 888, 670: 888, 766: 888, 888, 774: 888, 888, 888, 784: 888, 791: 888, 888, 888},
+ {2: 886, 886, 886, 886, 886, 886, 886, 10: 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 57: 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 886, 491: 886, 507: 886, 515: 886, 519: 886, 600: 886, 774: 886, 886, 886},
+ {2: 1091, 1091, 1091, 1091, 1091, 1091, 1091, 10: 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 57: 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 491: 1091, 507: 1091, 600: 1091, 774: 5540, 5539, 5538, 859: 5541, 909: 5542},
+ {2: 1094, 1094, 1094, 1094, 1094, 1094, 1094, 10: 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 57: 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 491: 1094, 1094, 494: 1094, 1094, 1094, 501: 1094, 1094, 1094, 1094, 1094, 507: 1094, 509: 1094, 513: 1094, 1094, 1094, 519: 1094, 521: 1094, 524: 1094, 533: 1094, 540: 1094, 548: 1094, 582: 1094, 586: 1094, 588: 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 600: 1094, 1094, 1094, 1094, 1094, 1094, 607: 1094, 1094, 1094, 1094, 1094, 613: 1094, 1094, 616: 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 668: 1094, 670: 1094, 766: 1094, 1094, 774: 1094, 1094, 1094, 784: 1094, 791: 1094, 1094, 1094},
+ {2: 1093, 1093, 1093, 1093, 1093, 1093, 1093, 10: 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 57: 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 491: 1093, 1093, 494: 1093, 1093, 1093, 501: 1093, 1093, 1093, 1093, 1093, 507: 1093, 509: 1093, 513: 1093, 1093, 1093, 519: 1093, 521: 1093, 524: 1093, 533: 1093, 540: 1093, 548: 1093, 582: 1093, 586: 1093, 588: 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 600: 1093, 1093, 1093, 1093, 1093, 1093, 607: 1093, 1093, 1093, 1093, 1093, 613: 1093, 1093, 616: 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 668: 1093, 670: 1093, 766: 1093, 1093, 774: 1093, 1093, 1093, 784: 1093, 791: 1093, 1093, 1093},
// 2930
- {476: 5488},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4170, 812: 5489},
- {9: 4172, 50: 5490},
- {909, 909, 9: 909, 50: 909, 475: 909, 477: 909, 483: 909, 909, 909, 909, 493: 909, 909, 496: 909, 909, 499: 909, 909, 909, 504: 909, 909, 509: 909, 516: 909, 909, 909, 909, 909, 522: 909, 524: 909, 909, 909},
- {910, 910, 9: 910, 50: 910, 475: 910, 477: 910, 483: 910, 910, 910, 910, 493: 910, 910, 496: 910, 910, 499: 910, 910, 910, 504: 910, 910, 509: 910, 3371, 512: 3369, 3370, 3368, 3366, 910, 910, 910, 910, 910, 522: 910, 524: 910, 910, 910, 738: 3367, 3365},
+ {2: 1092, 1092, 1092, 1092, 1092, 1092, 1092, 10: 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 57: 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 491: 1092, 1092, 494: 1092, 1092, 1092, 501: 1092, 1092, 1092, 1092, 1092, 507: 1092, 509: 1092, 513: 1092, 1092, 1092, 519: 1092, 521: 1092, 524: 1092, 533: 1092, 540: 1092, 548: 1092, 582: 1092, 586: 1092, 588: 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 600: 1092, 1092, 1092, 1092, 1092, 1092, 607: 1092, 1092, 1092, 1092, 1092, 613: 1092, 1092, 616: 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 668: 1092, 670: 1092, 766: 1092, 1092, 774: 1092, 1092, 1092, 784: 1092, 791: 1092, 1092, 1092},
+ {2: 1090, 1090, 1090, 1090, 1090, 1090, 1090, 10: 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 57: 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 491: 1090, 507: 1090, 515: 1090, 519: 1090, 600: 1090},
+ {2: 1910, 1910, 1910, 1910, 1910, 1910, 1910, 10: 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 57: 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 491: 1910, 507: 4296, 600: 1910, 876: 5543},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 5552, 600: 5547, 685: 4022, 2843, 2844, 2842, 730: 5551, 758: 5550, 819: 5549, 823: 5548, 5546, 873: 5544, 912: 5545},
+ {965, 965, 9: 965, 56: 965, 490: 965, 493: 965, 499: 965, 965, 508: 965, 510: 965, 965, 965, 515: 965, 517: 965, 965, 520: 965, 522: 965, 525: 965, 531: 965, 965, 534: 965},
// 2935
- {913, 913, 9: 913, 50: 913, 475: 5493, 477: 913, 483: 913, 5494, 5466, 5467, 493: 913, 913, 496: 913, 913, 499: 913, 913, 913, 504: 913, 913, 509: 913, 516: 913, 913, 5465, 913, 5468, 522: 5464, 524: 5469, 5470, 913, 823: 5463, 827: 5462},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 5498},
- {476: 5495},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 4170, 812: 5496},
- {9: 4172, 50: 5497},
+ {9: 5598, 525: 5668},
+ {9: 963, 501: 5565, 5566, 525: 5655, 533: 5564, 535: 5567, 537: 5563, 5568, 5569, 840: 5562, 844: 5561},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 5652, 2843, 2844, 2842},
+ {961, 961, 9: 961, 56: 961, 490: 961, 493: 961, 499: 961, 961, 961, 961, 508: 961, 510: 961, 961, 961, 515: 961, 517: 961, 961, 520: 961, 522: 961, 525: 961, 531: 961, 961, 961, 961, 961, 537: 961, 961, 961, 541: 961},
+ {960, 960, 9: 960, 56: 960, 490: 960, 493: 960, 499: 960, 960, 960, 960, 508: 960, 510: 960, 960, 960, 515: 960, 517: 960, 960, 520: 960, 522: 960, 525: 960, 531: 960, 960, 960, 960, 960, 537: 960, 960, 960, 541: 960},
// 2940
- {911, 911, 9: 911, 50: 911, 475: 911, 477: 911, 483: 911, 911, 911, 911, 493: 911, 911, 496: 911, 911, 499: 911, 911, 911, 504: 911, 911, 509: 911, 516: 911, 911, 911, 911, 911, 522: 911, 524: 911, 911, 911},
- {912, 912, 9: 912, 50: 912, 475: 912, 477: 912, 483: 912, 912, 912, 912, 493: 912, 912, 496: 912, 912, 499: 912, 912, 912, 504: 912, 912, 509: 912, 3371, 512: 3369, 3370, 3368, 3366, 912, 912, 912, 912, 912, 522: 912, 524: 912, 912, 912, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 5453, 582: 5448, 664: 3947, 2785, 2786, 2784, 713: 5452, 740: 5451, 802: 5450, 806: 5449, 5455, 856: 5501},
- {937, 937, 9: 937, 50: 937, 475: 937, 477: 937, 483: 937, 937, 937, 937, 493: 937, 937, 496: 937, 937, 499: 937, 937, 937, 504: 937, 937, 509: 937, 516: 937, 937, 937, 937, 937, 522: 937, 524: 937, 937, 937},
- {944, 944, 9: 944, 50: 944, 475: 944, 477: 944, 483: 944, 944, 493: 944, 944, 496: 944, 944, 499: 944, 944, 944, 504: 944, 944, 509: 944, 516: 944, 944, 519: 944},
+ {956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 493: 956, 497: 956, 499: 956, 956, 956, 956, 506: 5602, 956, 956, 510: 956, 956, 956, 515: 956, 517: 956, 956, 520: 956, 522: 956, 956, 525: 956, 531: 956, 956, 956, 956, 956, 537: 956, 956, 956, 541: 956, 543: 956, 956, 693: 956, 881: 5601},
+ {954, 954, 3228, 3050, 3086, 2929, 2966, 3088, 2856, 954, 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 954, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 954, 493: 954, 497: 5559, 499: 954, 954, 954, 954, 508: 954, 510: 954, 954, 954, 515: 954, 517: 954, 954, 520: 954, 522: 954, 525: 954, 531: 954, 954, 954, 954, 954, 537: 954, 954, 954, 541: 954, 685: 5558, 2843, 2844, 2842, 938: 5557, 5556},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 5552, 493: 2660, 514: 2659, 587: 2658, 600: 5547, 664: 2654, 685: 4022, 2843, 2844, 2842, 730: 5555, 758: 5550, 769: 3982, 2655, 2656, 2657, 2666, 777: 2664, 2663, 2662, 3981, 3984, 3983, 819: 5549, 823: 5548, 5554, 873: 5544, 912: 5553},
+ {9: 5598, 56: 5599},
+ {963, 963, 9: 963, 56: 963, 490: 963, 493: 963, 499: 963, 963, 5565, 5566, 508: 963, 510: 963, 963, 963, 515: 963, 517: 963, 963, 520: 963, 522: 963, 525: 963, 531: 963, 963, 5564, 963, 5567, 537: 5563, 5568, 5569, 840: 5562, 844: 5561},
// 2945
- {934, 934, 3161, 2991, 3026, 2871, 2907, 3028, 2798, 934, 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 934, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 934, 477: 934, 481: 5460, 483: 934, 934, 934, 934, 492: 934, 934, 934, 496: 934, 934, 499: 934, 934, 934, 504: 934, 934, 934, 509: 934, 516: 934, 934, 934, 934, 934, 522: 934, 524: 934, 934, 934, 528: 934, 934, 664: 5459, 2785, 2786, 2784, 676: 934, 920: 5458, 5507},
- {476: 5504},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4780, 2785, 2786, 2784, 791: 5505},
- {9: 4781, 50: 5506},
- {935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, 481: 935, 483: 935, 935, 935, 935, 492: 935, 935, 935, 496: 935, 935, 935, 935, 935, 935, 504: 935, 935, 935, 509: 935, 516: 935, 935, 935, 935, 935, 522: 935, 524: 935, 935, 935, 528: 935, 935, 566: 935, 572: 935, 649: 935, 652: 935, 663: 935, 676: 935},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 954, 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 4075, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 497: 5559, 499: 848, 501: 954, 954, 508: 848, 510: 848, 2809, 520: 2810, 522: 2806, 533: 954, 535: 954, 537: 954, 954, 954, 685: 5558, 2843, 2844, 2842, 789: 3992, 3993, 938: 5557, 5556},
+ {958, 958, 9: 958, 56: 958, 490: 958, 493: 958, 499: 958, 958, 958, 958, 508: 958, 510: 958, 958, 958, 515: 958, 517: 958, 958, 520: 958, 522: 958, 525: 958, 531: 958, 958, 958, 958, 958, 537: 958, 958, 958, 541: 958},
+ {953, 953, 9: 953, 56: 953, 490: 953, 493: 953, 499: 953, 953, 953, 953, 507: 953, 953, 510: 953, 953, 953, 515: 953, 517: 953, 953, 520: 953, 522: 953, 953, 525: 953, 531: 953, 953, 953, 953, 953, 537: 953, 953, 953, 541: 953, 543: 953, 953, 693: 953},
+ {952, 952, 9: 952, 56: 952, 490: 952, 493: 952, 499: 952, 952, 952, 952, 507: 952, 952, 510: 952, 952, 952, 515: 952, 517: 952, 952, 520: 952, 522: 952, 952, 525: 952, 531: 952, 952, 952, 952, 952, 537: 952, 952, 952, 541: 952, 543: 952, 952, 693: 952},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 5560, 2843, 2844, 2842},
// 2950
- {1880, 1880, 9: 1880, 50: 1880, 475: 1880, 477: 1880, 483: 1880, 1880, 1880, 1880, 492: 1880, 1880, 1880, 496: 1880, 1880, 499: 1880, 1880, 1880, 504: 1880, 1880, 1880, 509: 1880, 516: 1880, 1880, 1880, 1880, 1880, 522: 1880, 524: 1880, 1880, 1880, 528: 1880, 1880, 676: 5509, 929: 5508, 1184: 5510},
- {1879, 1879, 9: 1879, 50: 1879, 475: 1879, 477: 1879, 483: 1879, 1879, 1879, 1879, 492: 1879, 1879, 1879, 496: 1879, 1879, 499: 1879, 1879, 1879, 504: 1879, 1879, 1879, 509: 1879, 516: 1879, 1879, 1879, 1879, 1879, 522: 1879, 524: 1879, 1879, 1879, 528: 1879, 1879},
- {226: 5551},
- {915, 915, 9: 915, 50: 915, 475: 915, 477: 915, 483: 915, 915, 915, 915, 492: 5513, 915, 915, 496: 915, 915, 499: 915, 915, 915, 504: 915, 915, 5514, 509: 915, 516: 915, 915, 915, 915, 915, 522: 915, 524: 915, 915, 915, 528: 5512, 915, 945: 5516, 5515, 1069: 5517, 5511},
- {1030, 1030, 9: 1030, 50: 1030, 475: 1030, 477: 1030, 483: 1030, 1030, 1030, 1030, 493: 1030, 1030, 496: 1030, 1030, 499: 1030, 1030, 1030, 504: 1030, 1030, 509: 1030, 516: 1030, 1030, 1030, 1030, 1030, 522: 1030, 524: 1030, 1030, 1030, 529: 5532, 1333: 5533},
+ {951, 951, 9: 951, 56: 951, 490: 951, 493: 951, 499: 951, 951, 951, 951, 507: 951, 951, 510: 951, 951, 951, 515: 951, 517: 951, 951, 520: 951, 522: 951, 951, 525: 951, 531: 951, 951, 951, 951, 951, 537: 951, 951, 951, 541: 951, 543: 951, 951, 693: 951},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 5552, 685: 4022, 2843, 2844, 2842, 730: 5551, 758: 5550, 819: 5549, 823: 5548, 5591},
+ {535: 922, 931: 5578, 1124: 5582},
+ {501: 5565, 5566, 535: 5575, 840: 5576},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 5552, 685: 4022, 2843, 2844, 2842, 730: 5551, 758: 5550, 819: 5549, 823: 5548, 5572},
// 2955
- {584: 4436, 652: 4437, 832: 5531},
- {584: 4436, 652: 4437, 832: 5530},
- {584: 4436, 652: 4437, 832: 5529},
- {476: 927, 497: 5519, 1239: 5520},
- {917, 917, 9: 917, 50: 917, 475: 917, 477: 917, 483: 917, 917, 917, 917, 492: 917, 917, 917, 496: 917, 917, 499: 917, 917, 917, 504: 917, 917, 917, 509: 917, 516: 917, 917, 917, 917, 917, 522: 917, 524: 917, 917, 917, 528: 917, 917},
+ {535: 924, 931: 924},
+ {535: 923, 931: 923},
+ {2: 920, 920, 920, 920, 920, 920, 920, 10: 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 57: 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, 491: 920},
+ {535: 5571},
+ {535: 5570},
// 2960
- {914, 914, 9: 914, 50: 914, 475: 914, 477: 914, 483: 914, 914, 914, 914, 492: 5513, 914, 914, 496: 914, 914, 499: 914, 914, 914, 504: 914, 914, 5514, 509: 914, 516: 914, 914, 914, 914, 914, 522: 914, 524: 914, 914, 914, 528: 5512, 914, 945: 5518, 5515},
- {916, 916, 9: 916, 50: 916, 475: 916, 477: 916, 483: 916, 916, 916, 916, 492: 916, 916, 916, 496: 916, 916, 499: 916, 916, 916, 504: 916, 916, 916, 509: 916, 516: 916, 916, 916, 916, 916, 522: 916, 524: 916, 916, 916, 528: 916, 916},
- {505: 5525, 516: 5526, 520: 5524},
- {476: 5521},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 922, 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 922, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 594: 5058, 664: 5057, 2785, 2786, 2784, 861: 5522},
+ {2: 918, 918, 918, 918, 918, 918, 918, 10: 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 57: 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 491: 918},
+ {2: 919, 919, 919, 919, 919, 919, 919, 10: 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 57: 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 491: 919},
+ {926, 926, 9: 926, 56: 926, 490: 5573, 493: 926, 499: 926, 926, 926, 926, 508: 926, 510: 926, 926, 926, 515: 926, 517: 926, 926, 520: 926, 522: 926, 525: 926, 531: 926, 926, 926, 926, 926, 537: 926, 926, 926, 541: 926, 840: 5562, 844: 5561},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 5574},
+ {925, 925, 9: 925, 56: 925, 490: 925, 493: 925, 499: 925, 925, 925, 925, 508: 925, 510: 925, 925, 925, 515: 925, 517: 925, 925, 520: 925, 522: 925, 525: 925, 3444, 3442, 3443, 3441, 3439, 925, 925, 925, 925, 925, 537: 925, 925, 925, 541: 925, 755: 3440, 3438},
// 2965
- {9: 5060, 50: 5523},
- {923, 923, 9: 923, 50: 923, 475: 923, 477: 923, 483: 923, 923, 923, 923, 492: 923, 923, 923, 496: 923, 923, 499: 923, 923, 923, 504: 923, 923, 923, 509: 923, 516: 923, 923, 923, 923, 923, 522: 923, 524: 923, 923, 923, 528: 923, 923},
- {476: 926},
- {663: 5528},
- {663: 5527},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 5552, 685: 4022, 2843, 2844, 2842, 730: 5551, 758: 5550, 819: 5549, 823: 5548, 5581},
+ {535: 922, 931: 5578, 1124: 5577},
+ {535: 5579},
+ {535: 921},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 5552, 685: 4022, 2843, 2844, 2842, 730: 5551, 758: 5550, 819: 5549, 823: 5548, 5580},
// 2970
- {476: 924},
- {476: 925},
- {476: 928, 497: 928},
- {476: 929, 497: 929},
- {476: 930, 497: 930},
+ {927, 927, 9: 927, 56: 927, 490: 927, 493: 927, 499: 927, 927, 927, 927, 508: 927, 510: 927, 927, 927, 515: 927, 517: 927, 927, 520: 927, 522: 927, 525: 927, 531: 927, 927, 927, 927, 927, 537: 927, 927, 927, 541: 927, 840: 5562, 844: 5561},
+ {928, 928, 9: 928, 56: 928, 490: 928, 493: 928, 499: 928, 928, 928, 928, 508: 928, 510: 928, 928, 928, 515: 928, 517: 928, 928, 520: 928, 522: 928, 525: 928, 531: 928, 928, 928, 928, 928, 537: 928, 928, 928, 541: 928, 840: 5562, 844: 5561},
+ {535: 5583},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 5552, 685: 4022, 2843, 2844, 2842, 730: 5551, 758: 5550, 819: 5549, 823: 5548, 5584},
+ {490: 5585, 500: 5586, 5565, 5566, 533: 5564, 535: 5567, 537: 5563, 5568, 5569, 840: 5562, 844: 5561},
// 2975
- {89: 5537, 316: 5536, 397: 5535, 476: 1027, 1332: 5534},
- {939, 939, 9: 939, 50: 939, 475: 939, 477: 939, 483: 939, 939, 939, 939, 493: 939, 939, 496: 939, 939, 499: 939, 939, 939, 504: 939, 939, 509: 939, 516: 939, 939, 939, 939, 939, 522: 939, 524: 939, 939, 939},
- {476: 5538},
- {476: 1026},
- {476: 1025},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 5590},
+ {491: 5587},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4249, 830: 5588},
+ {9: 4251, 56: 5589},
+ {929, 929, 9: 929, 56: 929, 490: 929, 493: 929, 499: 929, 929, 929, 929, 508: 929, 510: 929, 929, 929, 515: 929, 517: 929, 929, 520: 929, 522: 929, 525: 929, 531: 929, 929, 929, 929, 929, 537: 929, 929, 929, 541: 929},
// 2980
- {476: 1024},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 5540, 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 5539},
- {50: 1023, 374: 5548, 510: 3371, 512: 3369, 3370, 3368, 3366, 527: 5547, 738: 3367, 3365, 1334: 5546},
- {1020, 1020, 9: 1020, 50: 1020, 222: 5542, 475: 1020, 477: 1020, 483: 1020, 1020, 1020, 1020, 493: 1020, 1020, 496: 1020, 1020, 499: 1020, 1020, 1020, 504: 1020, 1020, 509: 1020, 516: 1020, 1020, 1020, 1020, 1020, 522: 1020, 524: 1020, 1020, 1020, 1123: 5541},
- {1028, 1028, 9: 1028, 50: 1028, 475: 1028, 477: 1028, 483: 1028, 1028, 1028, 1028, 493: 1028, 1028, 496: 1028, 1028, 499: 1028, 1028, 1028, 504: 1028, 1028, 509: 1028, 516: 1028, 1028, 1028, 1028, 1028, 522: 1028, 524: 1028, 1028, 1028},
+ {930, 930, 9: 930, 56: 930, 490: 930, 493: 930, 499: 930, 930, 930, 930, 508: 930, 510: 930, 930, 930, 515: 930, 517: 930, 930, 520: 930, 522: 930, 525: 930, 3444, 3442, 3443, 3441, 3439, 930, 930, 930, 930, 930, 537: 930, 930, 930, 541: 930, 755: 3440, 3438},
+ {933, 933, 9: 933, 56: 933, 490: 5592, 493: 933, 499: 933, 5593, 5565, 5566, 508: 933, 510: 933, 933, 933, 515: 933, 517: 933, 933, 520: 933, 522: 933, 525: 933, 531: 933, 933, 5564, 933, 5567, 537: 5563, 5568, 5569, 541: 933, 840: 5562, 844: 5561},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 5597},
+ {491: 5594},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 4249, 830: 5595},
// 2985
- {476: 5543},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 5544},
- {50: 5545, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {1019, 1019, 9: 1019, 50: 1019, 475: 1019, 477: 1019, 483: 1019, 1019, 1019, 1019, 493: 1019, 1019, 496: 1019, 1019, 499: 1019, 1019, 1019, 504: 1019, 1019, 509: 1019, 516: 1019, 1019, 1019, 1019, 1019, 522: 1019, 524: 1019, 1019, 1019},
- {50: 5549},
+ {9: 4251, 56: 5596},
+ {931, 931, 9: 931, 56: 931, 490: 931, 493: 931, 499: 931, 931, 931, 931, 508: 931, 510: 931, 931, 931, 515: 931, 517: 931, 931, 520: 931, 522: 931, 525: 931, 531: 931, 931, 931, 931, 931, 537: 931, 931, 931, 541: 931},
+ {932, 932, 9: 932, 56: 932, 490: 932, 493: 932, 499: 932, 932, 932, 932, 508: 932, 510: 932, 932, 932, 515: 932, 517: 932, 932, 520: 932, 522: 932, 525: 932, 3444, 3442, 3443, 3441, 3439, 932, 932, 932, 932, 932, 537: 932, 932, 932, 541: 932, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 5552, 600: 5547, 685: 4022, 2843, 2844, 2842, 730: 5551, 758: 5550, 819: 5549, 823: 5548, 5554, 873: 5600},
+ {957, 957, 9: 957, 56: 957, 490: 957, 493: 957, 499: 957, 957, 957, 957, 508: 957, 510: 957, 957, 957, 515: 957, 517: 957, 957, 520: 957, 522: 957, 525: 957, 531: 957, 957, 957, 957, 957, 537: 957, 957, 957, 541: 957},
// 2990
- {50: 1022},
- {50: 1021},
- {1020, 1020, 9: 1020, 50: 1020, 222: 5542, 475: 1020, 477: 1020, 483: 1020, 1020, 1020, 1020, 493: 1020, 1020, 496: 1020, 1020, 499: 1020, 1020, 1020, 504: 1020, 1020, 509: 1020, 516: 1020, 1020, 1020, 1020, 1020, 522: 1020, 524: 1020, 1020, 1020, 1123: 5550},
- {1029, 1029, 9: 1029, 50: 1029, 475: 1029, 477: 1029, 483: 1029, 1029, 1029, 1029, 493: 1029, 1029, 496: 1029, 1029, 499: 1029, 1029, 1029, 504: 1029, 1029, 509: 1029, 516: 1029, 1029, 1029, 1029, 1029, 522: 1029, 524: 1029, 1029, 1029},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 5552},
+ {964, 964, 9: 964, 56: 964, 490: 964, 493: 964, 499: 964, 964, 508: 964, 510: 964, 964, 964, 515: 964, 517: 964, 964, 520: 964, 522: 964, 525: 964, 531: 964, 964, 534: 964},
+ {954, 954, 3228, 3050, 3086, 2929, 2966, 3088, 2856, 954, 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 954, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 954, 493: 954, 497: 5559, 499: 954, 954, 954, 954, 507: 954, 954, 510: 954, 954, 954, 515: 954, 517: 954, 954, 520: 954, 522: 954, 954, 525: 954, 531: 954, 954, 954, 954, 954, 537: 954, 954, 954, 541: 954, 543: 954, 954, 685: 5558, 2843, 2844, 2842, 693: 954, 938: 5557, 5606},
+ {491: 5603},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4877, 2843, 2844, 2842, 808: 5604},
+ {9: 4878, 56: 5605},
// 2995
- {1878, 1878, 9: 1878, 50: 1878, 475: 1878, 477: 1878, 483: 1878, 1878, 1878, 1878, 492: 1878, 1878, 1878, 496: 1878, 1878, 499: 1878, 1878, 1878, 504: 1878, 1878, 1878, 509: 1878, 3371, 512: 3369, 3370, 3368, 3366, 1878, 1878, 1878, 1878, 1878, 522: 1878, 524: 1878, 1878, 1878, 528: 1878, 1878, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 476: 5453, 664: 3947, 2785, 2786, 2784, 713: 5452, 740: 5451, 802: 5450, 806: 5449, 5554},
- {485: 5466, 5467, 518: 5465, 520: 5468, 522: 5464, 524: 5469, 5470, 5555, 823: 5463, 827: 5462},
- {942, 942, 9: 942, 50: 942, 475: 942, 477: 942, 483: 942, 942, 493: 942, 942, 496: 942, 942, 499: 942, 942, 942, 504: 942, 942, 509: 942, 516: 942, 942, 519: 942},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 5557, 896: 5558, 930: 5559},
+ {955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 493: 955, 497: 955, 499: 955, 955, 955, 955, 507: 955, 955, 510: 955, 955, 955, 514: 955, 955, 517: 955, 955, 520: 955, 522: 955, 955, 525: 955, 531: 955, 955, 955, 955, 955, 537: 955, 955, 955, 541: 955, 543: 955, 955, 581: 955, 587: 955, 664: 955, 667: 955, 680: 955, 693: 955},
+ {1917, 1917, 9: 1917, 56: 1917, 490: 1917, 493: 1917, 499: 1917, 1917, 1917, 1917, 507: 1917, 1917, 510: 1917, 1917, 1917, 515: 1917, 517: 1917, 1917, 520: 1917, 522: 1917, 1917, 525: 1917, 531: 1917, 1917, 1917, 1917, 1917, 537: 1917, 1917, 1917, 541: 1917, 543: 1917, 1917, 693: 5608, 947: 5607, 1208: 5609},
+ {1916, 1916, 9: 1916, 56: 1916, 490: 1916, 493: 1916, 499: 1916, 1916, 1916, 1916, 507: 1916, 1916, 510: 1916, 1916, 1916, 515: 1916, 517: 1916, 1916, 520: 1916, 522: 1916, 1916, 525: 1916, 531: 1916, 1916, 1916, 1916, 1916, 537: 1916, 1916, 1916, 541: 1916, 543: 1916, 1916},
+ {238: 5650},
+ {935, 935, 9: 935, 56: 935, 490: 935, 493: 935, 499: 935, 935, 935, 935, 507: 5612, 935, 510: 935, 935, 935, 515: 935, 517: 935, 935, 520: 935, 522: 935, 5613, 525: 935, 531: 935, 935, 935, 935, 935, 537: 935, 935, 935, 541: 935, 543: 5611, 935, 964: 5615, 5614, 1089: 5616, 5610},
// 3000
- {502: 5567},
- {2372, 2372, 9: 2372, 484: 2372, 496: 2372, 501: 2372, 505: 2372},
- {257, 257, 9: 5560, 484: 257, 496: 257, 501: 2745, 505: 257, 795: 2746, 5561},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 5557, 896: 5566},
- {1311, 1311, 484: 1311, 496: 1311, 505: 2748, 772: 2749, 817: 5562},
+ {1050, 1050, 9: 1050, 56: 1050, 490: 1050, 493: 1050, 499: 1050, 1050, 1050, 1050, 508: 1050, 510: 1050, 1050, 1050, 515: 1050, 517: 1050, 1050, 520: 1050, 522: 1050, 525: 1050, 531: 1050, 1050, 1050, 1050, 1050, 537: 1050, 1050, 1050, 541: 1050, 544: 5631, 1356: 5632},
+ {599: 4528, 667: 4529, 849: 5630},
+ {599: 4528, 667: 4529, 849: 5629},
+ {599: 4528, 667: 4529, 849: 5628},
+ {491: 947, 512: 5618, 1262: 5619},
// 3005
- {897, 897, 484: 897, 496: 5563, 1078: 5564},
- {511: 2759, 580: 2761, 737: 2758, 745: 2760, 886: 5565},
- {261, 261, 484: 261},
- {896, 896, 484: 896},
- {2371, 2371, 9: 2371, 484: 2371, 496: 2371, 501: 2371, 505: 2371},
+ {937, 937, 9: 937, 56: 937, 490: 937, 493: 937, 499: 937, 937, 937, 937, 507: 937, 937, 510: 937, 937, 937, 515: 937, 517: 937, 937, 520: 937, 522: 937, 937, 525: 937, 531: 937, 937, 937, 937, 937, 537: 937, 937, 937, 541: 937, 543: 937, 937},
+ {934, 934, 9: 934, 56: 934, 490: 934, 493: 934, 499: 934, 934, 934, 934, 507: 5612, 934, 510: 934, 934, 934, 515: 934, 517: 934, 934, 520: 934, 522: 934, 5613, 525: 934, 531: 934, 934, 934, 934, 934, 537: 934, 934, 934, 541: 934, 543: 5611, 934, 964: 5617, 5614},
+ {936, 936, 9: 936, 56: 936, 490: 936, 493: 936, 499: 936, 936, 936, 936, 507: 936, 936, 510: 936, 936, 936, 515: 936, 517: 936, 936, 520: 936, 522: 936, 936, 525: 936, 531: 936, 936, 936, 936, 936, 537: 936, 936, 936, 541: 936, 543: 936, 936},
+ {522: 5624, 531: 5625, 535: 5623},
+ {491: 5620},
// 3010
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3929, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3925, 801: 5568},
- {2373, 2373, 9: 2373, 484: 2373, 496: 2373, 501: 2373, 505: 2373},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 4169, 2785, 2786, 2784, 748: 5557, 896: 5558, 930: 5570},
- {257, 257, 9: 5560, 484: 257, 501: 2745, 795: 2746, 5571},
- {260, 260, 484: 260},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 942, 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 942, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 612: 5155, 685: 5154, 2843, 2844, 2842, 878: 5621},
+ {9: 5157, 56: 5622},
+ {943, 943, 9: 943, 56: 943, 490: 943, 493: 943, 499: 943, 943, 943, 943, 507: 943, 943, 510: 943, 943, 943, 515: 943, 517: 943, 943, 520: 943, 522: 943, 943, 525: 943, 531: 943, 943, 943, 943, 943, 537: 943, 943, 943, 541: 943, 543: 943, 943},
+ {491: 946},
+ {680: 5627},
// 3015
- {2: 400, 400, 400, 400, 400, 400, 400, 10: 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 51: 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 5574},
- {399, 399},
- {22: 5587, 126: 5577, 5580, 148: 588, 192: 5579, 200: 5590, 211: 5588, 225: 5581, 238: 5585, 260: 5589, 263: 5582, 533: 5586, 572: 5576, 1156: 5584, 1228: 5578, 1257: 5583},
- {2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 10: 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 51: 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 477: 2066, 567: 2066},
+ {680: 5626},
+ {491: 944},
+ {491: 945},
+ {491: 948, 512: 948},
+ {491: 949, 512: 949},
// 3020
- {2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 10: 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 51: 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 477: 2065, 567: 2065},
- {598, 598},
- {595, 595},
- {594, 594},
- {218: 5597},
+ {491: 950, 512: 950},
+ {95: 5636, 329: 5635, 410: 5634, 491: 1047, 1355: 5633},
+ {959, 959, 9: 959, 56: 959, 490: 959, 493: 959, 499: 959, 959, 959, 959, 508: 959, 510: 959, 959, 959, 515: 959, 517: 959, 959, 520: 959, 522: 959, 525: 959, 531: 959, 959, 959, 959, 959, 537: 959, 959, 959, 541: 959},
+ {491: 5637},
+ {491: 1046},
// 3025
- {592, 592},
- {148: 5596},
- {579, 579, 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 477: 579, 664: 3947, 2785, 2786, 2784, 740: 3948, 786: 4329, 1155: 5591},
- {589, 589},
- {148: 587},
+ {491: 1045},
+ {491: 1044},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 5639, 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 5638},
+ {56: 1043, 386: 5647, 526: 3444, 3442, 3443, 3441, 3439, 542: 5646, 755: 3440, 3438, 1357: 5645},
+ {1040, 1040, 9: 1040, 56: 1040, 234: 5641, 490: 1040, 493: 1040, 499: 1040, 1040, 1040, 1040, 508: 1040, 510: 1040, 1040, 1040, 515: 1040, 517: 1040, 1040, 520: 1040, 522: 1040, 525: 1040, 531: 1040, 1040, 1040, 1040, 1040, 537: 1040, 1040, 1040, 541: 1040, 1143: 5640},
// 3030
- {148: 586},
- {148: 585},
- {148: 584},
- {148: 583},
- {575, 575, 477: 5593, 1361: 5592},
+ {1048, 1048, 9: 1048, 56: 1048, 490: 1048, 493: 1048, 499: 1048, 1048, 1048, 1048, 508: 1048, 510: 1048, 1048, 1048, 515: 1048, 517: 1048, 1048, 520: 1048, 522: 1048, 525: 1048, 531: 1048, 1048, 1048, 1048, 1048, 537: 1048, 1048, 1048, 541: 1048},
+ {491: 5642},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 5643},
+ {56: 5644, 526: 3444, 3442, 3443, 3441, 3439, 755: 3440, 3438},
+ {1039, 1039, 9: 1039, 56: 1039, 490: 1039, 493: 1039, 499: 1039, 1039, 1039, 1039, 508: 1039, 510: 1039, 1039, 1039, 515: 1039, 517: 1039, 1039, 520: 1039, 522: 1039, 525: 1039, 531: 1039, 1039, 1039, 1039, 1039, 537: 1039, 1039, 1039, 541: 1039},
// 3035
- {590, 590},
- {674: 5594},
- {500: 5595},
- {574, 574},
- {591, 591},
+ {56: 5648},
+ {56: 1042},
+ {56: 1041},
+ {1040, 1040, 9: 1040, 56: 1040, 234: 5641, 490: 1040, 493: 1040, 499: 1040, 1040, 1040, 1040, 508: 1040, 510: 1040, 1040, 1040, 515: 1040, 517: 1040, 1040, 520: 1040, 522: 1040, 525: 1040, 531: 1040, 1040, 1040, 1040, 1040, 537: 1040, 1040, 1040, 541: 1040, 1143: 5649},
+ {1049, 1049, 9: 1049, 56: 1049, 490: 1049, 493: 1049, 499: 1049, 1049, 1049, 1049, 508: 1049, 510: 1049, 1049, 1049, 515: 1049, 517: 1049, 1049, 520: 1049, 522: 1049, 525: 1049, 531: 1049, 1049, 1049, 1049, 1049, 537: 1049, 1049, 1049, 541: 1049},
// 3040
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 5598, 2785, 2786, 2784, 960: 5599},
- {597, 597, 9: 597},
- {593, 593, 9: 5600},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 5601, 2785, 2786, 2784},
- {596, 596, 9: 596},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 3367, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 5651},
+ {1915, 1915, 9: 1915, 56: 1915, 490: 1915, 493: 1915, 499: 1915, 1915, 1915, 1915, 507: 1915, 1915, 510: 1915, 1915, 1915, 515: 1915, 517: 1915, 1915, 520: 1915, 522: 1915, 1915, 525: 1915, 3444, 3442, 3443, 3441, 3439, 1915, 1915, 1915, 1915, 1915, 537: 1915, 1915, 1915, 541: 1915, 543: 1915, 1915, 755: 3440, 3438},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 491: 5552, 685: 4022, 2843, 2844, 2842, 730: 5551, 758: 5550, 819: 5549, 823: 5548, 5653},
+ {501: 5565, 5566, 533: 5564, 535: 5567, 537: 5563, 5568, 5569, 541: 5654, 840: 5562, 844: 5561},
+ {962, 962, 9: 962, 56: 962, 490: 962, 493: 962, 499: 962, 962, 508: 962, 510: 962, 962, 962, 515: 962, 517: 962, 962, 520: 962, 522: 962, 525: 962, 531: 962, 962, 534: 962},
// 3045
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 5705, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 5706, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 5707, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 5708},
- {572: 5691, 652: 5692},
- {652: 5688},
- {572: 5683, 652: 5682},
- {572: 5680},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 5656, 914: 5657, 948: 5658},
+ {516: 5666},
+ {2416, 2416, 9: 2416, 500: 2416, 511: 2416, 518: 2416, 522: 2416},
+ {272, 272, 9: 5659, 500: 272, 511: 272, 518: 2803, 522: 272, 813: 2804, 5660},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 5656, 914: 5665},
// 3050
- {334: 5674},
- {144: 5671, 223: 5673, 344: 5669, 369: 5670, 919: 5672},
- {207: 5666, 210: 5665},
- {572: 5624},
- {144: 5618, 164: 5620, 174: 607, 199: 5622, 265: 5621, 1319: 5619},
+ {1333, 1333, 500: 1333, 511: 1333, 522: 2806, 789: 2807, 835: 5661},
+ {917, 917, 500: 917, 511: 5662, 1098: 5663},
+ {524: 2817, 596: 2819, 754: 2816, 761: 2818, 905: 5664},
+ {276, 276, 500: 276},
+ {916, 916, 500: 916},
// 3055
- {144: 5617},
- {144: 5616},
- {400: 5615},
- {712, 712},
- {717, 717},
+ {2415, 2415, 9: 2415, 500: 2415, 511: 2415, 518: 2415, 522: 2415},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 2922, 2870, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 2952, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 2883, 2957, 3064, 3031, 3115, 2847, 2865, 2912, 3324, 3325, 3024, 3025, 3020, 2978, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 2959, 3327, 2900, 2944, 2940, 3032, 3056, 2841, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 2963, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 2881, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 2948, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 2949, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3019, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 2906, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 2832, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 2965, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 2833, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3237, 2961, 3238, 3239, 2859, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3253, 3254, 3305, 3304, 3141, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3001, 3018, 3142, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3271, 3272, 3273, 3014, 3223, 3283, 3284, 3295, 3279, 3280, 3281, 3314, 2960, 491: 3359, 3338, 494: 3357, 4004, 2836, 501: 3371, 3375, 3356, 3355, 3394, 509: 3329, 513: 3392, 3368, 521: 3374, 524: 3333, 548: 3363, 582: 3370, 586: 3393, 588: 2834, 3376, 3328, 3330, 3332, 3331, 3360, 3336, 3350, 3337, 3341, 600: 3362, 3369, 3361, 3366, 3390, 3372, 607: 3377, 3382, 3435, 3383, 3384, 613: 3335, 3413, 616: 3353, 3354, 3408, 3409, 3410, 3411, 3412, 3364, 3395, 3405, 3406, 3399, 3414, 3415, 3416, 3400, 3418, 3419, 3401, 3417, 3396, 3404, 3402, 3388, 3420, 3421, 3365, 3425, 3378, 3381, 3424, 3430, 3429, 3431, 3428, 3432, 3427, 3426, 3423, 3373, 3422, 3380, 3379, 3385, 3386, 668: 2837, 685: 3343, 2843, 2844, 2842, 730: 3358, 3434, 3344, 3349, 3334, 3407, 3347, 3345, 3346, 3387, 3398, 3397, 3391, 3389, 3403, 3342, 3352, 3433, 3351, 3348, 2840, 2839, 2838, 4000, 818: 5667},
+ {2417, 2417, 9: 2417, 500: 2417, 511: 2417, 518: 2417, 522: 2417},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4248, 2843, 2844, 2842, 765: 5656, 914: 5657, 948: 5669},
+ {272, 272, 9: 5659, 500: 272, 518: 2803, 813: 2804, 5670},
// 3060
- {718, 718},
- {719, 719},
- {174: 5623},
- {174: 606},
- {174: 605},
+ {275, 275, 500: 275},
+ {2: 415, 415, 415, 415, 415, 415, 415, 10: 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 57: 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 415},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 5673},
+ {414, 414},
+ {22: 5686, 137: 5676, 5679, 159: 608, 204: 5678, 212: 5689, 224: 5687, 237: 5680, 251: 5684, 272: 5688, 275: 5681, 548: 5685, 587: 5675, 1179: 5683, 1251: 5677, 1280: 5682},
// 3065
- {174: 604},
- {711, 711},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 5625},
- {677: 5626, 936: 5627},
- {164: 5630, 169: 5629, 572: 2081, 955: 5628},
+ {2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 10: 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 57: 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 2105, 493: 2105, 582: 2105},
+ {2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 10: 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 57: 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 2104, 493: 2104, 582: 2104},
+ {618, 618},
+ {615, 615},
+ {614, 614},
// 3070
- {720, 720},
- {572: 5632},
- {126: 2080, 572: 2080},
- {169: 5631},
- {126: 2079, 572: 2079},
+ {230: 5696},
+ {612, 612},
+ {159: 5695},
+ {599, 599, 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 493: 599, 685: 4022, 2843, 2844, 2842, 758: 4023, 803: 4421, 1178: 5690},
+ {609, 609},
// 3075
- {2: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 10: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 51: 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 567: 4870, 790: 5633},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 5634},
- {446, 446, 6: 446, 446, 446, 15: 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 446, 475: 446, 5638, 446, 481: 446, 446, 446, 487: 446, 491: 446, 446, 498: 446, 506: 446, 446, 446, 521: 5637, 572: 446, 649: 446, 446, 652: 446, 1252: 5636, 1329: 5635},
- {406, 406, 6: 4267, 4269, 410, 15: 4286, 2193, 4284, 4223, 4288, 4275, 4304, 4268, 4271, 4270, 4273, 4274, 4276, 4283, 410, 4294, 4295, 4281, 4282, 4287, 4289, 4301, 4300, 4306, 4302, 4299, 4292, 4297, 4298, 4291, 4293, 4296, 4285, 475: 406, 406, 406, 481: 406, 4266, 4303, 487: 2193, 491: 406, 406, 498: 406, 506: 5013, 406, 2193, 572: 406, 649: 406, 2193, 652: 4272, 785: 4277, 797: 4279, 818: 4278, 840: 4280, 843: 4290, 847: 4305, 924: 5653, 1022: 5652},
- {2196, 2196, 475: 5646, 1094: 5645},
+ {159: 607},
+ {159: 606},
+ {159: 605},
+ {159: 604},
+ {159: 603},
// 3080
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 5644},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 521: 5639, 584: 2426, 593: 2426, 2426, 645: 2426, 4615, 652: 2426, 664: 4169, 2785, 2786, 2784, 678: 2426, 2426, 748: 4482, 837: 4856, 853: 4988, 908: 4989, 973: 4990, 1153: 5640},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 5642},
- {9: 4992, 50: 5641},
- {445, 445, 6: 445, 445, 445, 15: 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 475: 445, 445, 445, 481: 445, 445, 445, 487: 445, 491: 445, 445, 498: 445, 506: 445, 445, 445, 572: 445, 649: 445, 445, 652: 445},
+ {595, 595, 493: 5692, 1384: 5691},
+ {610, 610},
+ {691: 5693},
+ {517: 5694},
+ {594, 594},
// 3085
- {50: 5643},
- {2114, 2114, 475: 2114},
- {2115, 2115, 475: 2115},
- {2197, 2197},
- {150: 5647},
+ {611, 611},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 5697, 2843, 2844, 2842, 978: 5698},
+ {617, 617, 9: 617},
+ {613, 613, 9: 5699},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 5700, 2843, 2844, 2842},
// 3090
- {376: 5649, 743: 5648},
- {527: 5651},
- {527: 5650},
- {2194, 2194},
- {2195, 2195},
+ {616, 616, 9: 616},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 5804, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 5805, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 5806, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 5807},
+ {587: 5790, 667: 5791},
+ {667: 5787},
+ {587: 5782, 667: 5781},
// 3095
- {2191, 2191, 475: 2191, 2191, 2191, 481: 2191, 491: 5655, 2191, 498: 2191, 507: 2191, 572: 2191, 649: 2191, 1108: 5654},
- {405, 405, 6: 4267, 4269, 410, 5015, 15: 4286, 2193, 4284, 4223, 4288, 4275, 4304, 4268, 4271, 4270, 4273, 4274, 4276, 4283, 410, 4294, 4295, 4281, 4282, 4287, 4289, 4301, 4300, 4306, 4302, 4299, 4292, 4297, 4298, 4291, 4293, 4296, 4285, 475: 405, 405, 405, 481: 405, 4266, 4303, 487: 2193, 491: 405, 405, 498: 405, 506: 5013, 405, 2193, 572: 405, 649: 405, 2193, 652: 4272, 785: 4277, 797: 4279, 818: 4278, 840: 4280, 843: 4290, 847: 5014},
- {2129, 2129, 475: 2129, 2129, 2129, 481: 2129, 492: 5242, 498: 2129, 507: 5243, 572: 2129, 649: 2129, 1042: 5656},
- {663: 5071},
- {2126, 2126, 475: 2126, 2126, 2126, 481: 5658, 498: 2126, 572: 2126, 649: 2126, 1185: 5657},
+ {587: 5779},
+ {346: 5773},
+ {155: 5770, 235: 5772, 356: 5768, 381: 5769, 937: 5771},
+ {220: 5765, 223: 5764},
+ {587: 5723},
// 3100
- {2124, 2124, 475: 2124, 2608, 2607, 498: 2606, 572: 2605, 649: 2601, 713: 5663, 752: 5661, 2602, 2603, 2604, 2613, 760: 2611, 2610, 2609, 3906, 5662, 5660, 1208: 5659},
- {2125, 2125, 475: 2125, 2125, 2125, 498: 2125, 572: 2125, 649: 2125},
- {2196, 2196, 475: 5646, 1094: 5664},
- {2123, 2123, 475: 2123},
- {2122, 2122, 475: 2122, 483: 829, 493: 829, 829},
+ {155: 5717, 176: 5719, 185: 627, 211: 5721, 277: 5720, 1342: 5718},
+ {155: 5716},
+ {155: 5715},
+ {413: 5714},
+ {732, 732},
// 3105
- {2121, 2121, 475: 2121},
- {2120, 2120, 475: 2120, 483: 828, 493: 828, 828, 496: 2751, 504: 2752, 2748, 772: 3917, 3918},
- {2198, 2198},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 5598, 2785, 2786, 2784, 960: 5668},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 5598, 2785, 2786, 2784, 960: 5667},
+ {737, 737},
+ {738, 738},
+ {739, 739},
+ {185: 5722},
+ {185: 626},
// 3110
- {722, 722, 9: 5600},
- {723, 723, 9: 5600},
- {725, 725},
- {724, 724},
- {716, 716},
+ {185: 625},
+ {185: 624},
+ {731, 731},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 5724},
+ {694: 5725, 954: 5726},
// 3115
- {715, 715},
- {714, 714},
- {269: 5675},
- {511: 2759, 737: 4079, 767: 5677, 1090: 5676},
- {729, 729, 9: 5678},
+ {176: 5729, 181: 5728, 587: 2120, 974: 5727},
+ {740, 740},
+ {587: 5731},
+ {137: 2119, 587: 2119},
+ {181: 5730},
// 3120
- {703, 703, 9: 703},
- {511: 2759, 737: 4079, 767: 5679},
- {702, 702, 9: 702},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 3948, 786: 5681},
- {730, 730, 9: 3950},
+ {137: 2118, 587: 2118},
+ {2: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 10: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 57: 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 582: 4967, 804: 5732},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 5733},
+ {464, 464, 6: 464, 464, 464, 15: 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 490: 464, 5737, 493: 464, 495: 464, 497: 464, 464, 464, 506: 464, 464, 513: 464, 464, 521: 464, 523: 464, 536: 5736, 587: 464, 664: 464, 666: 464, 464, 1275: 5735, 1352: 5734},
+ {421, 421, 6: 4346, 4348, 425, 15: 4365, 2232, 4363, 4302, 4367, 4354, 4383, 4347, 4350, 4349, 4352, 4353, 4355, 4362, 425, 4373, 4374, 4384, 4360, 4361, 4366, 4368, 4380, 4379, 4388, 4381, 4378, 4371, 4376, 4377, 4370, 4372, 4375, 4364, 4385, 4386, 490: 421, 421, 493: 421, 495: 4345, 497: 421, 2232, 4382, 506: 421, 421, 513: 2232, 421, 521: 421, 523: 5110, 587: 421, 664: 421, 666: 2232, 4351, 802: 4356, 815: 4358, 836: 4357, 857: 4359, 860: 4369, 864: 4387, 942: 5752, 1042: 5751},
// 3125
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 5686},
- {500: 5684},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 3948, 786: 5685},
- {721, 721, 9: 3950},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 5687, 2785, 2786, 2784},
+ {2235, 2235, 490: 5745, 1114: 5744},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 5743},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 536: 5738, 599: 2470, 606: 2470, 612: 2470, 661: 2470, 4707, 667: 2470, 685: 4248, 2843, 2844, 2842, 695: 2470, 2470, 765: 4574, 854: 4953, 870: 5085, 926: 5086, 991: 5087, 1176: 5739},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 5741},
+ {9: 5089, 56: 5740},
// 3130
- {732, 732},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 5689},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 5690, 2785, 2786, 2784},
- {733, 733},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 3948, 786: 5704},
+ {463, 463, 6: 463, 463, 463, 15: 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 490: 463, 463, 493: 463, 495: 463, 497: 463, 463, 463, 506: 463, 463, 513: 463, 463, 521: 463, 523: 463, 587: 463, 664: 463, 666: 463, 463},
+ {56: 5742},
+ {2153, 2153, 490: 2153},
+ {2154, 2154, 490: 2154},
+ {2236, 2236},
// 3135
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 3947, 2785, 2786, 2784, 740: 5693},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 5694, 2785, 2786, 2784},
- {734, 734, 476: 5697, 1064: 5696, 1233: 5695},
- {731, 731, 9: 5702},
- {706, 706, 9: 706},
+ {161: 5746},
+ {388: 5748, 760: 5747},
+ {542: 5750},
+ {542: 5749},
+ {2233, 2233},
// 3140
- {511: 2759, 737: 4079, 767: 5698},
- {9: 5699},
- {511: 2759, 737: 4079, 767: 5700},
- {50: 5701},
- {704, 704, 9: 704},
+ {2234, 2234},
+ {2230, 2230, 490: 2230, 2230, 493: 2230, 497: 2230, 506: 5754, 2230, 514: 2230, 521: 2230, 587: 2230, 664: 2230, 1128: 5753},
+ {420, 420, 6: 4346, 4348, 425, 5112, 15: 4365, 2232, 4363, 4302, 4367, 4354, 4383, 4347, 4350, 4349, 4352, 4353, 4355, 4362, 425, 4373, 4374, 4384, 4360, 4361, 4366, 4368, 4380, 4379, 4388, 4381, 4378, 4371, 4376, 4377, 4370, 4372, 4375, 4364, 4385, 4386, 490: 420, 420, 493: 420, 495: 4345, 497: 420, 2232, 4382, 506: 420, 420, 513: 2232, 420, 521: 420, 523: 5110, 587: 420, 664: 420, 666: 2232, 4351, 802: 4356, 815: 4358, 836: 4357, 857: 4359, 860: 4369, 864: 5111},
+ {2168, 2168, 490: 2168, 2168, 493: 2168, 497: 2168, 507: 5341, 514: 2168, 521: 5342, 587: 2168, 664: 2168, 1062: 5755},
+ {680: 5168},
// 3145
- {476: 5697, 1064: 5703},
- {705, 705, 9: 705},
- {735, 735, 9: 3950},
- {165: 1656, 380: 5725, 404: 5726, 655: 1656, 1175: 5724},
- {739, 739, 165: 1495, 268: 5711, 5710, 655: 1495},
+ {2165, 2165, 490: 2165, 2165, 493: 2165, 497: 5757, 514: 2165, 587: 2165, 664: 2165, 1209: 5756},
+ {2163, 2163, 490: 2163, 2661, 493: 2660, 514: 2659, 587: 2658, 664: 2654, 730: 5762, 769: 5760, 2655, 2656, 2657, 2666, 777: 2664, 2663, 2662, 3981, 5761, 5759, 1231: 5758},
+ {2164, 2164, 490: 2164, 2164, 493: 2164, 514: 2164, 587: 2164, 664: 2164},
+ {2235, 2235, 490: 5745, 1114: 5763},
+ {2162, 2162, 490: 2162},
// 3150
- {713, 713, 165: 1474, 655: 1474},
- {165: 5709},
- {736, 736},
- {257, 257, 501: 2745, 511: 2759, 737: 4079, 767: 5722, 795: 2746, 5721},
- {379: 5712},
+ {2161, 2161, 490: 2161, 499: 849, 508: 849, 510: 849},
+ {2160, 2160, 490: 2160},
+ {2159, 2159, 490: 2159, 499: 848, 508: 848, 510: 848, 2809, 520: 2810, 522: 2806, 789: 3992, 3993},
+ {2237, 2237},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 5697, 2843, 2844, 2842, 978: 5767},
// 3155
- {496: 5713, 511: 2759, 737: 4079, 767: 5677, 1090: 5714, 1176: 5715},
- {511: 2759, 737: 2758, 745: 5716},
- {728, 728, 9: 5678},
- {727, 727},
- {742, 742, 9: 5717, 166: 5718},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 5697, 2843, 2844, 2842, 978: 5766},
+ {742, 742, 9: 5699},
+ {743, 743, 9: 5699},
+ {745, 745},
+ {744, 744},
// 3160
- {511: 2759, 737: 2758, 745: 5720},
- {511: 2759, 737: 2758, 745: 5719},
- {740, 740},
- {741, 741},
- {738, 738},
+ {736, 736},
+ {735, 735},
+ {734, 734},
+ {281: 5774},
+ {524: 2817, 754: 4154, 783: 5776, 1110: 5775},
// 3165
- {257, 257, 501: 2745, 795: 2746, 5723},
- {737, 737},
- {726, 726},
- {511: 2759, 737: 5732},
- {354: 5728, 511: 2759, 654: 5729, 737: 5727},
+ {749, 749, 9: 5777},
+ {723, 723, 9: 723},
+ {524: 2817, 754: 4154, 783: 5778},
+ {722, 722, 9: 722},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4023, 803: 5780},
// 3170
- {709, 709},
- {511: 2759, 737: 5731},
- {511: 2759, 737: 5730},
- {707, 707},
- {708, 708},
+ {750, 750, 9: 4025},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 5785},
+ {517: 5783},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4023, 803: 5784},
+ {741, 741, 9: 4025},
// 3175
- {710, 710},
- {2: 279, 279, 279, 279, 279, 279, 279, 10: 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 51: 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 478: 279, 482: 279, 502: 1820, 533: 279, 655: 1820, 662: 1820},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 5884, 502: 1818, 655: 1818, 662: 1818, 664: 5883, 2785, 2786, 2784},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 5881, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 502: 1781, 655: 1781, 662: 1781, 664: 5746, 2785, 2786, 2784, 835: 5789},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 502: 1775, 655: 1775, 662: 1775, 664: 5746, 2785, 2786, 2784, 835: 5878},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 5786, 2843, 2844, 2842},
+ {752, 752},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 5788},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 5789, 2843, 2844, 2842},
+ {753, 753},
// 3180
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 482: 5874, 502: 1773, 533: 3787, 655: 1773, 662: 1773, 664: 3517, 2785, 2786, 2784, 742: 3786, 811: 5873},
- {497: 5863, 502: 5862, 655: 1768, 662: 1768},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 5769, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 5770, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 5774, 482: 5859, 502: 1759, 654: 5857, 1759, 662: 1759, 664: 3517, 2785, 2786, 2784, 742: 5287, 805: 5776, 825: 5777, 5775, 866: 5773, 1134: 5858, 1303: 5856},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 5854, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 502: 1757, 655: 1757, 662: 1757, 664: 5746, 2785, 2786, 2784, 835: 5786},
- {184: 5839, 502: 1740, 655: 1740, 662: 1740, 674: 5840, 926: 5838, 976: 5837},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 4023, 803: 5803},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 4022, 2843, 2844, 2842, 758: 5792},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 685: 5793, 2843, 2844, 2842},
+ {754, 754, 491: 5796, 1084: 5795, 1256: 5794},
+ {751, 751, 9: 5801},
// 3185
- {336: 5794, 338: 5793, 502: 1684, 655: 1684, 662: 1684, 1190: 5795},
- {478: 5792, 502: 1484, 655: 1484, 662: 1484},
- {821, 821, 9: 5782},
- {176: 5768},
- {502: 789, 655: 5766, 662: 789},
+ {726, 726, 9: 726},
+ {524: 2817, 754: 4154, 783: 5797},
+ {9: 5798},
+ {524: 2817, 754: 4154, 783: 5799},
+ {56: 5800},
// 3190
- {502: 5755, 662: 5756, 828: 5764},
- {502: 5755, 662: 5756, 828: 5759},
- {502: 5755, 662: 5756, 828: 5757},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 482: 5754, 533: 3787, 664: 3517, 2785, 2786, 2784, 742: 3786, 811: 5753, 1195: 5752},
- {767, 767, 9: 767},
+ {724, 724, 9: 724},
+ {491: 5796, 1084: 5802},
+ {725, 725, 9: 725},
+ {755, 755, 9: 4025},
+ {177: 1692, 392: 5824, 417: 5825, 671: 1692, 1198: 5823},
// 3195
- {774, 774, 9: 774},
- {773, 773, 9: 773},
- {772, 772, 9: 772},
- {2: 791, 791, 791, 791, 791, 791, 791, 10: 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 51: 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 478: 791, 791, 791, 482: 791, 485: 791, 791, 488: 791, 791, 791, 495: 791, 498: 791, 507: 791, 791, 511: 791, 533: 791, 567: 791, 570: 791, 791, 573: 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 585: 791, 791, 791, 791, 791, 791, 791, 791, 595: 791, 791, 598: 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 651: 791},
- {2: 790, 790, 790, 790, 790, 790, 790, 10: 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 51: 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 478: 790, 790, 790, 482: 790, 485: 790, 790, 488: 790, 790, 790, 495: 790, 498: 790, 507: 790, 790, 511: 790, 533: 790, 567: 790, 570: 790, 790, 573: 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 585: 790, 790, 790, 790, 790, 790, 790, 790, 595: 790, 790, 598: 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 651: 790},
+ {759, 759, 177: 1523, 280: 5810, 5809, 671: 1523},
+ {733, 733, 177: 1502, 671: 1502},
+ {177: 5808},
+ {756, 756},
+ {272, 272, 518: 2803, 524: 2817, 754: 4154, 783: 5821, 813: 2804, 5820},
// 3200
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 2778, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 5758},
- {779, 779, 9: 779, 510: 3371, 512: 3369, 3370, 3368, 3366, 738: 3367, 3365},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 5761, 3286, 478: 3265, 3284, 2778, 482: 3929, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 5760, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3925, 801: 5762, 845: 5763},
- {793, 793, 3161, 2991, 3026, 2871, 2907, 3028, 2798, 793, 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 476: 3286, 478: 3265, 3284, 482: 3294, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 3290, 567: 3297, 570: 3320, 3375, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3374, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3892, 3279, 3360, 3278, 3275},
- {794, 794, 9: 794},
+ {391: 5811},
+ {511: 5812, 524: 2817, 754: 4154, 783: 5776, 1110: 5813, 1199: 5814},
+ {524: 2817, 754: 2816, 761: 5815},
+ {748, 748, 9: 5777},
+ {747, 747},
// 3205
- {792, 792, 9: 792},
- {780, 780, 9: 780},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 5761, 3286, 478: 3265, 3284, 2778, 482: 3929, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 5760, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3925, 801: 5762, 845: 5765},
- {784, 784, 9: 784},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 664: 5767, 2785, 2786, 2784},
+ {762, 762, 9: 5816, 178: 5817},
+ {524: 2817, 754: 2816, 761: 5819},
+ {524: 2817, 754: 2816, 761: 5818},
+ {760, 760},
+ {761, 761},
// 3210
- {502: 788, 662: 788},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 5769, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 5770, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 5774, 654: 5772, 664: 3517, 2785, 2786, 2784, 742: 5287, 805: 5776, 825: 5777, 5775, 866: 5773, 1134: 5771},
- {751, 751, 9: 751, 571: 1849, 653: 751, 670: 1849},
- {810, 810, 571: 1679, 653: 810, 670: 1679},
- {653: 5780},
+ {758, 758},
+ {272, 272, 518: 2803, 813: 2804, 5822},
+ {757, 757},
+ {746, 746},
+ {524: 2817, 754: 5831},
// 3215
- {653: 809},
- {808, 808, 9: 5778, 653: 808},
- {752, 752, 9: 752, 571: 268, 653: 752, 670: 268},
- {746, 746, 9: 746, 653: 746},
- {745, 745, 9: 745, 653: 745},
+ {365: 5827, 524: 2817, 670: 5828, 754: 5826},
+ {729, 729},
+ {524: 2817, 754: 5830},
+ {524: 2817, 754: 5829},
+ {727, 727},
// 3220
- {744, 744, 9: 744, 653: 744},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 5769, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 5774, 664: 3517, 2785, 2786, 2784, 742: 5287, 805: 5776, 825: 5779, 5775},
- {743, 743, 9: 743, 653: 743},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 478: 3516, 573: 5333, 664: 3517, 2785, 2786, 2784, 742: 5332, 781: 5334, 872: 5781},
- {811, 811, 9: 5336},
+ {728, 728},
+ {730, 730},
+ {2: 294, 294, 294, 294, 294, 294, 294, 10: 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 57: 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 492: 294, 495: 294, 516: 1857, 548: 294, 671: 1857, 679: 1857},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 5986, 516: 1855, 671: 1855, 679: 1855, 685: 5985, 2843, 2844, 2842},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 5983, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 516: 1818, 671: 1818, 679: 1818, 685: 5845, 2843, 2844, 2842, 852: 5888},
// 3225
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 5733, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 5736, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 5783, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 5784, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 5737, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 508: 3863, 571: 5749, 590: 5748, 650: 3861, 664: 5746, 2785, 2786, 2784, 779: 5750, 835: 5747, 983: 5785},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 502: 1781, 655: 1781, 662: 1781, 664: 5746, 2785, 2786, 2784, 835: 5789},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 3398, 3393, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 3401, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 3402, 3395, 3391, 2807, 3414, 3055, 3044, 2842, 3397, 3412, 3413, 3411, 3407, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 3403, 2885, 2881, 2973, 2997, 3390, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 3405, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 3394, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 3399, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 3400, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 3410, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 3396, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 3415, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 3406, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 3416, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3419, 2902, 3171, 3172, 3392, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3420, 3186, 3425, 3424, 3417, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 3408, 3409, 3418, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3421, 3204, 3205, 2955, 3156, 3422, 3423, 3227, 3211, 3212, 3213, 3246, 3404, 502: 1757, 655: 1757, 662: 1757, 664: 5746, 2785, 2786, 2784, 835: 5786},
- {766, 766, 9: 766},
- {502: 5755, 662: 5756, 828: 5787},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 516: 1812, 671: 1812, 679: 1812, 685: 5845, 2843, 2844, 2842, 852: 5980},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 495: 5976, 516: 1810, 548: 3860, 671: 1810, 679: 1810, 685: 3590, 2843, 2844, 2842, 759: 3859, 829: 5975},
+ {512: 5965, 516: 5964, 671: 1805, 679: 1805},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 5868, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 5869, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 5873, 495: 5961, 516: 1795, 670: 5959, 1795, 679: 1795, 685: 3590, 2843, 2844, 2842, 759: 5386, 822: 5875, 842: 5876, 5874, 884: 5872, 1157: 5960, 1326: 5958},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 5956, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 516: 1793, 671: 1793, 679: 1793, 685: 5845, 2843, 2844, 2842, 852: 5885},
// 3230
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 5761, 3286, 478: 3265, 3284, 2778, 482: 3929, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 5760, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3925, 801: 5762, 845: 5788},
- {782, 782, 9: 782},
- {502: 5755, 662: 5756, 828: 5790},
- {2: 3161, 2991, 3026, 2871, 2907, 3028, 2798, 10: 2844, 2799, 2930, 3045, 3038, 2864, 2812, 2910, 3196, 2912, 2886, 2830, 2833, 2822, 2855, 2914, 2915, 3022, 2909, 3046, 3152, 3151, 2797, 2908, 2911, 2922, 2862, 2866, 2918, 3031, 2877, 2958, 2795, 2796, 2957, 3030, 2794, 3043, 2790, 3003, 51: 3114, 2876, 2879, 3097, 3094, 3086, 3098, 3101, 3102, 3099, 3103, 3104, 3100, 3093, 3105, 3088, 3089, 3092, 3095, 3096, 3106, 2893, 2944, 2880, 3073, 3072, 3074, 3069, 3068, 3075, 3070, 3071, 2872, 2988, 3058, 3122, 3056, 3123, 3165, 3057, 2884, 2952, 3248, 3252, 3240, 3251, 3253, 3243, 3249, 3250, 3254, 3247, 2813, 2947, 2898, 2825, 2789, 2807, 2972, 3055, 3044, 2842, 2854, 2965, 2966, 2961, 2919, 3047, 3048, 3049, 3050, 3051, 3052, 3054, 2900, 2885, 2881, 2973, 2997, 2783, 2999, 2977, 2978, 2979, 2980, 2968, 2815, 2998, 3125, 3040, 2857, 2969, 3119, 2949, 2989, 2852, 2905, 3064, 2926, 2816, 2821, 2832, 2847, 2856, 3059, 2929, 2874, 2971, 2888, 2896, 2802, 2948, 2831, 2851, 3228, 2861, 3108, 3200, 2985, 3159, 2894, 2904, 2924, 3198, 2865, 2873, 2895, 3109, 2806, 2824, 2823, 2845, 2837, 2923, 2858, 3062, 3078, 3006, 3115, 3116, 3080, 2943, 3061, 3117, 3036, 3195, 3145, 3076, 2875, 2976, 3148, 2889, 3034, 2933, 2791, 2817, 2938, 2828, 2829, 2940, 2836, 2846, 2849, 3087, 2899, 3001, 3197, 2967, 2936, 2996, 3039, 2925, 3147, 2883, 3158, 2890, 3035, 3126, 3084, 3127, 2945, 3007, 2805, 3176, 3128, 3131, 2811, 3110, 3132, 2960, 2818, 3009, 3178, 3134, 3005, 2826, 3136, 3018, 3042, 3029, 2827, 3182, 3138, 3168, 3037, 2840, 3067, 3235, 2848, 2850, 2853, 3019, 3065, 3187, 3060, 3188, 3013, 3140, 3139, 3063, 3120, 2950, 2774, 3141, 3142, 2954, 3011, 3143, 3118, 2869, 2870, 2984, 3090, 2986, 3201, 3144, 3032, 3033, 2974, 2878, 3015, 2793, 3210, 3014, 3217, 3218, 3219, 3220, 3222, 3221, 3223, 3224, 3225, 3160, 2891, 3016, 3245, 3244, 2897, 2787, 2788, 3066, 3083, 2800, 3085, 3111, 2792, 2803, 2804, 3129, 3130, 2808, 2995, 2809, 2810, 2982, 3121, 2906, 3133, 2927, 2814, 2819, 2820, 3135, 3137, 2939, 3183, 2941, 2834, 2835, 2951, 2839, 3002, 3229, 2841, 3012, 2946, 2920, 3155, 3020, 3041, 3004, 2935, 3189, 2990, 3008, 3053, 2932, 3021, 2913, 3077, 2916, 2917, 2775, 2953, 2860, 2882, 3162, 3230, 2863, 3024, 3027, 3079, 3113, 3163, 3124, 2963, 2964, 2970, 3193, 3166, 3194, 3167, 3091, 3169, 2994, 2931, 3146, 3025, 2983, 3153, 3150, 3154, 3149, 3202, 3010, 3112, 3023, 3214, 3157, 2992, 2887, 3238, 3226, 2892, 2921, 2928, 2993, 3164, 3000, 3170, 2902, 3171, 3172, 2801, 3173, 3174, 3175, 3231, 3177, 3179, 3180, 3181, 2838, 2987, 3232, 2956, 3184, 2843, 3239, 3185, 3186, 3237, 3236, 3081, 3241, 3242, 3191, 3190, 2859, 3192, 3199, 2962, 2867, 2868, 3107, 2981, 2942, 2959, 3082, 2975, 2903, 3017, 2934, 2937, 3233, 3206, 3207, 3208, 3209, 3234, 3203, 3204, 3205, 2955, 3156, 3215, 3216, 3227, 3211, 3212, 3213, 3246, 2901, 5761, 3286, 478: 3265, 3284, 2778, 482: 3929, 485: 3298, 3302, 488: 3283, 3282, 3321, 495: 3256, 498: 3295, 507: 3301, 3319, 511: 3260, 533: 5760, 567: 3297, 570: 3320, 2776, 573: 3303, 3255, 3257, 3259, 3258, 3287, 3263, 3277, 3268, 3289, 3264, 585: 3296, 3288, 3293, 3299, 3309, 3362, 3310, 3311, 595: 3262, 3340, 598: 3280, 3281, 3335, 3336, 3337, 3338, 3339, 3291, 3317, 3322, 3332, 3333, 3326, 3341, 3342, 3343, 3327, 3345, 3346, 3328, 3344, 3323, 3331, 3329, 3315, 3347, 3348, 3292, 3352, 3304, 3305, 3308, 3351, 3357, 3356, 3358, 3355, 3359, 3354, 3353, 3350, 3300, 3349, 3307, 3306, 3312, 3313, 651: 2779, 664: 3270, 2785, 2786, 2784, 713: 3285, 3361, 3271, 3276, 3261, 3334, 3274, 3272, 3273, 3314, 3325, 3324, 3318, 3316, 3330, 3269, 3279, 3360, 3278, 3275, 2782, 2781, 2780, 3925, 801: 5762, 845: 5791},
- {783, 783, 9: 783},
+ {195: 5941, 516: 1776, 671: 1776, 679: 1776, 691: 5942, 944: 5940, 994: 5939},
+ {348: 5893, 350: 5892, 516: 1720, 671: 1720, 679: 1720, 1214: 5894},
+ {492: 5891, 516: 1512, 671: 1512, 679: 1512},
+ {841, 841, 9: 5881},
+ {187: 5867},
// 3235
- {813, 813},
- {497: 2233},
- {497: 2232},
- {497: 5796},
- {476: 2608, 2607, 498: 2606, 507: 2592, 570: 2591, 572: 2605, 649: 2601, 657: 2713, 713: 5799, 743: 5797, 752: 5800, 2602, 2603, 2604, 2613, 760: 2611, 2610, 2609, 5798, 5802, 5801, 770: 2712, 5804, 777: 5805, 5803, 780: 5806, 851: 5807},
+ {516: 809, 671: 5865, 679: 809},
+ {516: 5854, 679: 5855, 845: 5863},
+ {516: 5854, 679: 5855, 845: 5858},
+ {516: 5854, 679: 5855, 845: 5856},
+ {2: 3228, 3050, 3086, 2929, 2966, 3088, 2856, 10: 2902, 2857, 2989, 3105, 3098, 3471, 3466, 2969, 3264, 2971, 2945, 2888, 2891, 2880, 2913, 2973, 2974, 3082, 2968, 3106, 3219, 3218, 3186, 2855, 2967, 2970, 2981, 2920, 2924, 2977, 3091, 2936, 3017, 2853, 2854, 3016, 3090, 2852, 3103, 3187, 3188, 2930, 2848, 3062, 3189, 3190, 57: 3174, 2935, 2938, 3157, 3154, 3146, 3158, 3161, 3162, 3159, 3163, 3164, 3160, 3153, 3165, 3148, 3149, 3152, 3155, 3156, 3166, 3474, 3003, 2939, 3133, 3132, 3134, 3129, 3128, 3135, 3130, 3131, 2931, 3047, 3118, 3182, 3116, 3183, 3232, 3117, 2943, 3011, 3316, 3320, 3308, 3319, 3321, 3311, 3317, 3318, 3322, 3315, 2871, 3006, 3468, 3475, 3064, 3487, 3115, 3464, 2865, 3470, 3324, 3325, 3485, 3486, 3484, 3480, 3326, 3107, 3108, 3109, 3110, 3111, 3112, 3114, 3104, 3476, 3327, 2900, 2944, 2940, 3032, 3056, 3463, 3058, 3036, 3037, 3038, 3039, 3027, 2873, 3057, 3185, 3100, 2915, 3028, 3179, 3008, 3048, 2910, 2964, 3124, 2985, 2874, 2879, 2890, 2905, 2914, 3119, 2988, 2933, 3030, 2947, 2953, 2955, 2860, 3007, 2889, 2909, 3296, 2919, 3168, 3268, 3044, 3226, 3478, 2983, 3266, 2923, 2932, 2954, 3169, 2864, 2882, 3467, 2903, 2895, 2982, 2916, 3122, 3138, 3066, 3175, 3176, 3140, 3265, 3002, 3121, 3177, 3096, 3263, 3212, 3136, 2934, 3035, 3215, 3472, 3094, 2992, 2849, 2875, 3191, 2997, 2886, 2887, 2999, 2894, 2904, 2907, 3080, 3147, 2958, 3026, 2995, 3055, 3099, 2984, 3214, 2942, 3225, 3473, 3095, 3193, 3144, 3194, 3004, 3067, 2863, 3243, 3195, 2866, 3198, 2869, 3170, 3199, 3483, 2876, 3069, 3245, 3201, 2884, 3203, 3078, 3102, 3089, 2885, 3250, 3205, 3235, 3097, 2898, 3127, 3303, 3469, 2908, 2911, 3079, 3125, 3255, 3120, 3256, 3073, 3207, 3206, 3123, 3180, 3009, 3488, 3208, 3209, 3013, 3071, 3210, 3178, 2927, 2928, 3043, 3150, 3045, 3269, 3211, 3092, 3093, 3033, 2937, 3075, 2851, 3278, 3074, 3323, 3285, 3286, 3287, 3288, 3290, 3289, 3291, 3292, 3293, 3227, 2950, 3076, 3313, 3312, 2956, 2845, 2846, 3126, 3143, 2858, 3145, 3171, 2850, 2861, 2862, 3196, 3197, 3054, 2867, 2868, 3041, 3181, 3479, 3200, 2986, 2872, 2877, 2878, 3202, 3204, 2998, 3251, 3000, 2892, 2893, 3010, 2897, 3061, 3297, 2899, 3072, 3005, 2979, 3222, 3101, 3063, 2994, 3257, 3049, 3068, 3113, 2991, 3081, 2972, 3137, 2975, 2976, 3060, 3489, 3012, 2918, 2941, 3229, 3298, 2921, 3084, 3087, 3139, 3173, 3230, 3184, 3022, 3023, 3029, 3261, 3233, 3262, 3234, 3151, 3192, 3236, 3053, 2990, 3213, 3085, 3042, 3220, 3217, 3221, 3216, 3270, 3070, 3172, 3083, 3282, 3224, 3051, 2946, 3306, 3294, 2951, 2980, 2987, 3052, 3231, 3059, 3492, 2961, 3238, 3239, 3465, 3240, 3241, 3242, 3299, 3244, 3247, 3246, 3248, 3249, 2896, 3046, 3300, 3015, 3252, 2901, 3307, 3493, 3254, 3498, 3497, 3490, 3309, 3310, 3259, 3065, 3258, 2917, 3260, 3267, 3021, 2925, 2926, 3167, 3040, 3481, 3482, 3491, 3034, 2962, 3077, 2993, 2996, 3301, 3274, 3275, 3276, 3277, 3302, 3494, 3272, 3273, 3014, 3223, 3495, 3496, 3295, 3279, 3280, 3281, 3314, 3477, 492: 3589, 495: 5853, 548: 3860, 685: 3590, 2843, 2844, 2842, 759: 3859, 829: 5852, 1219: 5851},
// 3240
- {2: 867, 867, 867, 867, 867, 867, 867, 10: 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 51: 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 86